    --- Pseudo Saturn `Kai' ---
WWW : https://ppcenter.webou.net/pskai/
WWW : http://ppcenter.free.fr/pskai/ (mirror)
Forum: https://segaxtreme.net/threads/pseudo-saturn-kai-official-thread.24037/
By cafe-alpha ( http://ppcenter.free.fr/devblog/ ).



 1. About Pseudo Saturn Kai
==========================================
Pseudo Saturn Kai is a slightly improved version of Pseudo Saturn firmware, 
whose main purpose is to play Saturn games or applications copied on CD-R
without the need of any hardware modification of the console.
Pseudo Saturn firmware page : https://github.com/cyberwarriorx/pseudosaturn

Goal of Pseudo Saturn Kai is to add a set of convenient features for playing
Saturn games, and to provide built-in support for some extra cartridges or mods.

In simple words, that's the application I (cafe-alpha) develop to provide
cool features such as cheat codes, and also to interface with my own hardware
projects such as Gamer's Cartridge, or external hardware projects I personally
like such as Rhea/Phoebe and Fenrir ODEs.

Features :
 - Boot CD-R without the need of hardware mod
 - Play import games
 - Data transfer with PC
 - In-game backup memory support directly to cartridge's SD card
 - Save Data Manager
 - Image selection support for Rhea/Phoebe, Fenrir and Satiator ODEs
 - Cheat Codes available from built-in list or from user input
 - Dezaemon 2 Save Game Manager (DZ2SGM), from SD card or CD-ROM

Supported cartridges and/or other mods :
 - Any boot cartridge with at least 256KB flash memory.
   Example : Action Replay, Gameshark, etc.
 - USB dev cart      : http://ppcenter.free.fr/satcart/#usb
 - Gamer's Cartridge : http://ppcenter.free.fr/satcart/#gamers
 - Rhea/Phoebe       : https://gdemu.wordpress.com/
 - Fenrir            : https://www.fenrir-ode.fr/
 - Satiator          : https://www.satiator.net/



 2. Archive Contents
==========================================
Files in root folder :
 - readme.txt                     : This file.
 - SatCom_src_<date>.7z           : sources and other development related stuff.
Files in full folder :
 - flasher_bin_readme.txt         : Information about flasher_full.bin.
 - flasher_full.bin               : Full flasher utility, in bin format (*1)
 - pskai_flasher_full.cue/iso     : Full flasher utility, in disc image format.
 - Settings -> pskai.ini          : Settings file template.
 - Settings -> readme.txt         : Informations about settings file.
Files in lite folder :
 - flasher_bin_readme.txt         : Information about flasher_full.bin.
 - flasher_lite.bin               : Lite flasher utility, in bin format (*1)
 - pskai_flasher_lite.cue/iso     : Lite flasher utility, in disc image format.
Files in ODE -> FenrirLoaderKai folder :
 - fenrir.kai.iso                 : Standalone loader utility for Fenrir.
 - readme.txt                     : Informations about Fenrir Loader Kai.
Files in ODE -> RmenuKai folder :
 - 0.bin                          : Alternate executable for RMENU utility.
 - readme.txt                     : Informations about RmenuKai.
 - Settings -> Phoebe.ini         : Recommended settings for Phoebe ODE.
 - Settings -> Rhea.ini           : Recommended settings for Rhea ODE.
Files in ODE -> SatiatorMenuKai folder :
 - autoboot.iso                   : Satiator menu utility.
 - readme.txt                     : Informations about Satiator Menu Kai.
 - CacheTool -> smk_cache_gen.exe : Menu cache generation utility.
 - CacheTool -> smk_cache_gen.txt : Informations about the utility above.
 - Settings -> pskai.ini          : Settings file template.
 - Settings -> readme.txt         : Informations about settings file.
Files in SAVES folder             : Many user save data contributed from
                                    generous contributors.
Files in tools folder :
 - cdpatch.exe                    : CD-ROM image patcher utility.
 - cdpatch_exe_readme.txt         : Informations about patcher utility.
 - pskai_sdm.iso.cue/iso          : Save Data Manager & miscellaneous utilities.
 - SaveRepack.exe                 : User save data import utility.

(*1) About bin format :
     When using Gamer's Cartridge, it's possible to flash firmware without
     having to burn the flasher utility on a CD-R : simply copy .bin file
     to SD card root folder, and execute this file from "Load Homebrew"
     feature in Pseudo Saturn Kai main menu.
     It is also possible to flash USB dev cart or Action Replay/Gameshark/etc
     firmware without having to burn anything on CD-R by executing the following
     files from 0x0600400 address :
      - Action Replay / Gameshark and other clones   : lite -> flasher_lite.bin
      - USB dev cart (early PCB revisions)           : lite -> flasher_lite.bin
      - USB dev cart (with 2 x SST39SF040 ROM chips) : full -> flasher_full.bin



 3. Should I need to install Pseudo Saturn Kai ?
==========================================
This is a major Pseudo Saturn Kai release, so you probably may want to give a
try to it. More than only booting CD-Rs, it also features cheat codes so that
you may be interested in Pseudo Saturn Kai even if your Saturn is modded.

Additionally, as this new version provides extended game and Saturn hardware
compatibility, upgrade should be considered if version currently installed is
having a hard time to play your favorite games.

Please note however that flashing Saturn cartridge may brick it (the risk
is small, but not zero), so please upgrade your cartridge after considering
the risks and the interests of using latest version :
 - Please refer to disclaimer section regarding any trouble that may happen
   when flashing Saturn cartridge.
 - Please refer to changelog section in order to verify if latest features
   are worth using or not. (if you're not interested in latest features, then
   it's probably better to continue using version currently installed)


 3a. Pseudo Saturn Kai without the need of a boot cartridge ?
------------------------------------------
Pseudo Saturn Kai can be used without the need of a boot cartridge such as
Action Replay, Gameshark or other clones. To do this, a compatible ODE
(Rhea/Phoebe or Fenrir) is required and in that case, Pseudo Saturn Kai is
used instead of ODE official loader utility.
Main advantage of using Pseudo Saturn Kai instead of official loader utility is
the availability of built-in cheat codes feature and to provide a Save Data
Manager for Fenrir ODE.



 4. How to install
==========================================
There are many ways to install Pseudo Saturn to your cartridge.
The most widely used method is the swap trick one, because it works
even when performed on a plain (unmodded) Saturn.

Note : there are two Pseudo Saturn Kai versions available : 
 - full : pskai_flasher_full.cue/iso or flasher_full.bin
 - lite : pskai_flasher_lite.cue/iso or flasher_lite.bin
Full version is designed for cartridges with the following requirements :
 - Compatible SD card interface or USB dev cart availability
 - At least 1MB boot ROM available
If your cartridge is not compatible, please install Pseudo Saturn Kai lite.

Examples :
 - Gamer's Cartridge : Pseudo Saturn Kai full
 - USB dev cart      : Pseudo Saturn Kai full, or lite if not full-compatible.
 - Action Replay     : Pseudo Saturn Kai lite


 4a. How to install : upgrade from previous version
------------------------------------------
This section describes how to upgrade firmware from a previous version
of Pseudo Saturn. In that case, using swap trick method isn't required
since flasher utility can be loaded by using Pseudo Saturn currently installed.

Requirements :
 - A cartridge with old version of Pseudo Saturn installed.
 - Flasher utility (pskai_flasher_lite.cue/iso) utility burned on CD-R.

Installation steps :
 1. Turn your Saturn OFF.
 2. Plug cartridge into your Saturn.
 3. Insert flasher utility CD-R into your Saturn.
 4. Turn your Saturn ON.
 5. Load flasher utility by using old version of Pseudo Saturn.
 6. Select and flash Pseudo Saturn Kai by following
    instructions displayed on screen.

Note 1 : Flash vendor/device IDs are shown at the top of the screen in order
         to indicate if your cartridge is correctly inserted or not in its slot.
         Basically, if vendor/device display is green, you have high chances
         that cartridge erase/flash ends successfully. And if vendor/device
         display is yellow or red, please slightly move your cartridge in its
         slot until display becomes green.
         You can do this "cartridge slightly move" operation when firmware
         selection menu is displaying.
         Note : "slighlty" = 1-2mm, nothing more.
         You don't need to (and shouldn't) remove/insert your cartridge while
         Saturn is powered on. It's not a NES game cartridge :D

Note 2 : Even if the cartridge is displayed as detected, it doesn't guarantee
         that erase/flash process will end successfully.
         If erase/write failure happen, please slightly move your cartridge
         in its slot and retry to flash until "Write Verification Success"
         is displayed after flashing.


 4b. How to install : swap trick method
------------------------------------------
Note : when upgrading from a previous version working of Pseudo Saturn, 
you don't need to swap your disc : booting Pseudo Saturn Kai Save Data
Manager from Pseudo Saturn main menu will do the job.
For more informations, please refer to section 4a above.

Requirements :
 - A Saturn cartridge.
 - One original game, booting correctly on Saturn.
 - Flasher utility (pskai_flasher_lite.cue/iso) burned on CD-R.

First, please try swap trick without cartridge inserted : this is
in order to verify your flasher CD-R can be read correctly by your
Saturn, and getting some experience about swap trick.
In order to learn about swap trick, please watch videos about
"sega saturn swap trick" on your favorite video streaming site.

After you're OK with swap trick without cartridge, please plug
your cartridge, but move it slightly in its connector in order to
make Saturn incorrectly detecting it, hence booting from CD-ROM
(please try with your original game : if Saturn boots to game,
it's OK, if Saturn boots to cartridge boot menu, you need to move
the cartridge a little more), and perform the swap trick with your
flasher utility CD-R as you did above.

From firmware flasher main menu, please slightly move your cartridge
in its connector in order to make it correctly recognized by flasher
(= vendor/device IDs displayed in green color), then select and
flash Pseudo Saturn Kai by following instructions displayed on screen.

Notes 1 and 2 in section 4a above applies to this way of flashsing too, so
please verify everything is alright regarding theses notes.


 4c. How to install : modchip/ODE method
------------------------------------------
 1. Turn your Saturn OFF.
 2. Plug your cartridge to your Saturn memory cartridge port.
 3. Put flasher utility CDROM (pskai_flasher_lite.cue/iso) in your Saturn.
 4. Turn your Saturn ON and boot from CD-ROM.
 5. Follow the instructions displayed on Saturn screen.

Note : when using ODE, you probably don't need to pskai_flasher_lite.cue/iso
       to CD-R. Please refer to your ODE user manual about how to execute
       Saturn iso file from it.


 4d. How to install : SD card method
------------------------------------------
This method is designed for Gamer's Cartridge only. It have the advantage of
not requiring swap trick method, and also not requiring the usage of any CD-R.

 1. Turn your Saturn OFF.
 2. Copy full -> flasher_full.bin file to your SD card root folder.
 3. Plug your cartridge+SD card to your Saturn memory cartridge port.
 4. Turn your Saturn ON.
 5. If quick boot menu is displayed, please press B button in order
    to display main menu.
 6. From Pseudo Saturn Kai main menu, select the following options :
     "Start Homebrew"
       -> "SD Card"
         -> "flasher_full.bin"
 7. Follow the instructions displayed on Saturn screen.


 4e. How to install : USB transfer method
------------------------------------------
 1. Turn your Saturn OFF.
 2. Connect your USB dev cart to your PC via USB.
 3. Plug your USB dev cart to your Saturn memory cartridge port.
 4. Turn your Saturn ON.
 5. Execute flasher_full.bin file from PC to Saturn address 0x06004000.
 6. Follow the instructions displayed on Saturn screen.



 5. Pseudo Saturn Kai features
==========================================

 5a. USB dev cart / USB Data Link support
------------------------------------------
Pseudo Saturn Kai enables transfer with PC under the following conditions :

 A. Full firmware
    -> Only USB dev cart supported.
    -> Available almost anytime when Pseudo Saturn Kai is running.
    -> Available in "USB DMA transfer" option from main menu.
    -> In-game USB transfer available via cheat codes feature.

 B. Lite firmware
    -> Both Comms Link and USB dev cart supported.
    -> USB dev cart support is limited in comparison with full firmware.
       -> Only available in "USB DMA transfer" option from main menu.
    -> Should be compatible with every Comms Link-compatible devices.
       -> USB Data Link
       -> Freewing
       -> Exstand/Yano
       -> Original Comms Link card

There are two variations of the comms link type : EMS and Datel.
Pseudo Saturn Kai does its best to automatically detect comms link type without
the need to setup anything on user side. This is however an experimental feature
so please contact me (cafe-alpha) in the case communication with PC is not
working as expected.


 5b. In-game USB connectivity
------------------------------------------
In-game connectivity with PC is an extra feature available via cheat codes.
Supported link type is limited to USB dev cart with SatLink software only.
It is available only in full version of the firmware so USB dev cart without
SST39SF040 flash ROM chips are not supported.

Main features :
 - Supports only CWX game loader
 - Cheat cache location code (`B' code) definition not necessary
   Depends on USB transfer mode used. See below for details.

There are several USB transfer modes available, with their own (dis)advantages :
 1. "USB + Cheat Codes" mode
   Description   : ROM-based cheat codes handler + USB connectivity enabled
   Advantages    : can perform cheat codes and connectivity simultaneously
   Disadvantages : may cause slowdowns and/or missing graphics on some games
 2. "USB Only (ROM)" mode
   Description   : ROM-based, called directly from first stage interrupt handler
   Advantages    : doesn't uses cheat codes cache memory set in `B' code
   Disadvantages : a bit slow, but faster than "USB + Cheat Codes" mode
 3. "USB Only (RAM)" mode
   Description   : assembly optimized USB handler, running in RAM
   Advantages    : fastest USB connectivity mode
   Disadvantages : only basic (read/write) commands implemented

Note : In order to enhance in-game USB transfer support, all transfer modes
       above don't use CRC check, hence aren't compatible with latest official
       version of SatLink or ftx command-line utilities.

Typical selection of mode is to select "USB Only (ROM)" mode when cheat codes
cache location is not yet set. In that case, master code (starting with `F')
needs to be valid, so if not defined it is recommended to try with usual master
codes such as F6000914 C305, etc.
After a suitable location for cheat codes cache is set, it is then recommended
to use "USB Only (RAM)" mode for better compatibility.

There's no warranty USB transfer can work for your favorite game. And, support
for development cartridges is no longer active, so if you encounter a problem,
have a technical question, or want some specific development feature to be
added, then ... just solve things by yourself.


 5c. USB dev cart DMA transfer support (aka "The Blinking Screen")
------------------------------------------
If you're nostalgic of the USB dev cart old firmware's blinking transfer
screen, it's possible to display it by entering "USB DMA transfer" option
from main menu.
Note #1 : it requires USB dev cart to be connected and powered by a PC for
          "USB DMA transfer" option to be displayed in main menu.
Note #2 : both full and lite firmware support this feature, so if your
          USB dev cart is not compatible with full version of Pseudo Saturn Kai
          then this "USB DMA transfer" feature is the only way to use USB
          dev cart connectivity in lite firmware.

Advantages of using this blinking screen :
 - DMA is used in USB transfer, hence faster than in firmware main menu.
 - Blinking screen code and stack fits in 06002000 - 06003FFF address range, 
   hence it is possible to upload data almost everywhere in your Saturn.
   For example, you can transfer graphics to VDP memory, game level data
   to low work RAM, and your game executable to high work RAM
   only by using USB transfer from your dev PC.
 - It is compatible with old versions of SatLink/ftx transfer utilities.

Disadvantages of using this blinking screen :
 - The only way to return to Pseudo Saturn Kai is to do a system reset.
 - CD-ROM isn't unlocked, so executing code using CD Block may not work.

Screen color codes :
 - Blinking : Idle (waiting for commands from PC).
 - Orange   : Transferring data.
 - Purple   : Unknown command.
 - Red      : Checksum error / Not connected to PC.

Notes :
 - Colors are blinking in yellow -> green -> blue order.
 - Unknown command (purple) color is displayed for approximately 2 seconds.
 - Error (red) color is displayed for approximately 2 seconds.


 5d. In-Game Soft Reset
------------------------------------------
This feature performs system reset instead of showing multiplayer screen when
A+B+C+Start key combo is pressed.
This concerns only the transition to multiplayer screen, so other transitions
(for example, to main screen, etc) aren't changed.

Example :
With soft reset disabled :
 Game
  -> A+B+C+Start
   -> Main Screen
    -> A+B+C+Start
     -> Multiplayer Screen
With soft reset enabled :
 Game
  -> A+B+C+Start
   -> Main Screen
    -> A+B+C+Start
     -> System Reset
      -> Pseudo Saturn Kai

Advantage of this feature is to reset the game without having to push
console's reset button.

If you need to go to multiplayer screen, it is possible to show it from
Pseudo Saturn Main Menu with the following operations :
 1. Press B button in order to display exit menu.
 2. From exit menu, select "Exit to Multiplayer" and confirm with A button.

By default, this feature is enabled, and it is possible to disable it as
described below :
 1. From Pseudo Saturn Kai main menu, select "Settings" with A button.
 2. Select "Soft Reset", and set it to "Multiplayer Screen" with A button.

Note #1 : For technical reasons, it is not possible to modify this setting when
          an Optical Disc Emulator (ODE) is installed.

Note #2 : Idea and credits about this feature is from neuroacid, who first
          implemented it in RMENU utility for Rhea/Phoebe ODEs.


 5e. Internal Save Data Autodump
------------------------------------------
This feature is only available when Gamer's Cartridge or Satiator is available.

Autodump feature allows to copy saves from Saturn internal backup memory to
SAVES -> AUTODUMP folder in SD card.
Saves are copied in .BUP format so that Save Data Manager utility can import
them back to Saturn when needed.

Interest of this feature is to keep save data stored in internal backup
memory even after changing Saturn's CR2032 battery.

It is possible to restore the autodumped saves with the following operations :
 1. From Pseudo Saturn Kai main menu, enter "Save Data Manager" with A button.
 2. From Save Data Manager main menu, select "Save Data Import".
 3. From file selection browser, select "AUTODUMP" folder, then the first
    save in this folder.
 4. From save data selection menu, select the saves you want to restore
    and confirm with A button.
    (Multiple selection can be done with X button and all saves can be
     selected with Y button)
 5. From device selection menu, select "Internal Storage" and confirm with
    A button.

Note : changing CR2032 battery while Saturn is powered on shouldn't damage
it, and doesn't wipes save data from internal backup memory. Don't hesitate
to use this trick if you're using lite version of the firmware.


5f. Per-Game Saves
------------------------------------------
This feature is only available when Gamer's Cartridge or Satiator is installed. 

Per-Game Saves automatically imports save data from the SD card to internal
memory when loading a game, and automatically exports it from internal memory
back to the SD card when returning to Pseudo Saturn Kai.

Each game has ten save slots (00 to 09) and save data is organized as follows :
 [SD card Root]
 |-SAVES                   (folder)
 | |-BRAM                  (folder)
 | | |-MK-81803[U]         (folder)
 | | | |-B_RANGERS.BUP     <- Burning Rangers save data in slot 00
 | | |-T-14302G[J]         (folder)
 | | | |-BOMBERSS_01.BUP   <- Saturn Bomberman save data in slot 00
 | | | |-BOMBERSS_02.BUP
 | | | |-01                (folder)
 | | | | |-BOMBERSS_01.BUP <- Saturn Bomberman save data in slot 01
 | | | | |-BOMBERSS_01.BUP
 | | | |-02                (folder)
 | | | | |-BOMBERSS_01.BUP <- Saturn Bomberman save data in slot 02
 | | | | |-BOMBERSS_01.BUP

By default, folder names are derived from the Product Number and Region Code 
fields in the game header. In the example above :
 - Burning Rangers (USA)    -> MK-81803[U]
 - Saturn Bomberman (Japan) -> T-14302G[J]

It is also possible to name them using only the Product Number. More details can 
be found in the following text file in the Pseudo Saturn Kai archive :
    full\Settings\readme.txt
 
To enable Per-Game Saves, go into the Loader Settings menu and set BRAM Mode to 
"Per-Game". Once enabled and the Loader Settings menu is exited, Pseudo Saturn
Kai will ask to :
 1. Backup the contents on internal memory to the SD card and then clear it
or
 2. Keep internal memory as-is.
 
In most cases, it is recommended to select the first option as this puts
internal memory in a clean state, but the second option is useful if in the case
of transferring existing save data on internal memory to an empty save slot.

By default, Pseudo Saturn Kai will prompt to choose a save slot before loading a
game. If the slot selection menu is an annoyance then it is possible to bypass
it and automatically use a specific save slot by changing the Save Slot setting
from "Prompt" to a given slot.

Please note that if an occupied save slot is selected when loading a game, save
data that already exists for that particular game on internal memory will be
overwritten with the save data from that save slot.
For example, with save data for Burning Rangers in :
 - Internal memory -> First mission unlocked
 - Slot 00         -> All missions unlocked
 - Select slot 00 when loading Burning Rangers and all missions will be unlocked
 
Even when it is enabled, Per-Game Saves is not activated when loading the
following utilities :
 - Dezaemon 2 Save Game Manager
 - Save Data Manager
 - Save Game Copier by Slinga
 - Save Game Manager by Rockin'-B


 5g. Virtual FDD
------------------------------------------
This feature is only available when Gamer's Cartridge is available.

This feature allows to simulate Saturn Floppy Disk Drive (FDD) in the same way
Virtual Memory Cartridge features simulates cartridge on SD card.

Virtual FDD is enabled automatically when Virtual Memory Cart is enabled.
Please let me know if that causes problem.

Limitation : up to 10 saves per partition are supported. Please let me know if
this is not convenient for a specific game using FDD.
RAM usage when virtual memory cart and virtual FDD are running is quite
tight (24KB in two non-contiguous buffers) memory, so raising this maximum count
to a larger value may not be possible.


 5h. Memory Cartridge via USB dev cart
------------------------------------------
This feature is only available when USB dev cart with full version of Pseudo
Saturn Kai is used and SatLink utility is used on PC side.

It is possible to provide memory cartridge support on PC via USB dev cart.
Requirements :
 - USB dev cart with Pseudo Saturn Kai full version installed
   This requires at least 1MB flash ROM available on cartridge :
    - Carts with SST39SF010A flash chips (128KB per chip, total 256KB) aren't
      supported. This concerns few cartridges assembled just after USB dev cart
      release around 2012-2013.
    - Carts with SST39SF040 flash chips (512KB per chip, total 1MB) are
      supported.
 - PC running SatLink software

How to enable Memory Cartridge via USB dev cart :
 1. Plug cartridge, insert game CD-ROM
 2. Power on Saturn
 3. Run SatLink software, and enable USB dev cart transfer
 4. Click "Show Log Output" on SatLink title bar
 5. Select "Start Game"

It is necessary to keep SatLink showing log output window while game is running.
Also, game may show some glitches while accessing virtual memory cartridge files
on PC. Reasons about this are unclear, and there are no plans to fix this.

There's no warranty USB Memory Cartridge can work for your favorite game. And, 
support for development cartridges is no longer active, so if you encounter a
problem, have a technical question, or want some specific feature to be added, 
then ... just solve things by yourself.


 5i. Exception Handler Screen (aka BSOD)
------------------------------------------
This feature is enabled by default and shows a "Blue Screen Of Death" screen
when program encounters an exception.
Main features :
 - Show register dump where exception occured.
 - Allow system reset from pad's Start button.
 - Allow USB transfer when USB dev cart is used.


 5j. Cheat Codes
------------------------------------------
This feature allows to execute cheat codes.
Main features :
 - In-RAM (fast) cheat codes handler.
 - Many built-in codes.
 - Automatic game selection.
Features available in debug version only :
 - In-game USB transfer : only USB dev cart supported.
 - Custom cheat code input.
 - Custom cheat codes and settings save to internal backup memory.
Features not available :
 - Cheat code addition to built-in list.
   This requires full re-compile of firmware, hence won't be added.


 5k. Rhea/Phoebe ODE support
------------------------------------------
Rhea and Phoebe ODEs are supported natively in Pseudo Saturn Kai.
The main purpose of this feature is to allow image selection and cheat codes
selection in respectively two menus, without any system reset, extra setup
menu and/or any other magical spell required between them.
Main features :
 - Compatibility with list generated for Rmenu
 - Images list sorting
 - Record of last selected image
 - Cheat codes support not requiring any cartridge
 - Soft reset combo (A+B+C+Start) returns to disc image selection menu
Limitations :
 - Under some conditions, A+B+C+Start soft reset key combo may allow to load
   only the same game without showing disc image selection menu.
   (This works for a majority of games, but doesn't with the games requiring
   JHL loader to boot)
 - Cancel of cheat codes setup for a given disc image will load this disc image
   without cheat codes enabled and hence without the possibility to return to
   disc image selection menu.


 5l. Custom loader feature
------------------------------------------
Pseudo Saturn Kai provides two game loader methods :
 - CWX loader : most stable, but not compatible with all games
 - JHL loader : better game compatibility, but isn't compatible with certain
                features such as cheat codes and Virtual Memory Cartridge.

And on the top of theses two loaders, Pseudo Saturn Kai provides an "automatic"
loader that ... automatically selects the most suitable loader for the game
about to be loaded.

This automatic loader works well in the majority of cases, but for some reasons
a loader different from the automatic one may have to be used under some
specific hardware setup and/or some other exotic conditions such as CD-R brand
used, CD block tuning etc.

For that reason, and in order to relieve user from remembering loader settings
for each games they are playing, manually selected loader and game title
informations are remembered and used over automatic loader settings.
Because theses informations are stored in Saturn internal backup memory - whose
capacity is limited - this feature is limited to 10 games, but that shall be
sufficient for a normal usage of Pseudo Saturn Kai.

How to use : simply manually select a loader (CWX or JHL), and this setting will
    be re-used directly from automatic loader after that.

How to reset settings : it is possible to clear custom loader settings from
    "Custom Loader Infos" screen, available from main menu, or extra menu when
    full version of Pseudo Saturn Kai is used.
    Manually deleting PSEUDO_XTRA save can also do the job.
IMPORTANT : please note that deleting theses settings also deletes custom cheat
    codes list in the same occasion.


 5m. Minimalistic Pseudo Saturn loader
------------------------------------------
Minimalistic Pseudo Saturn loader allows to boot CD-Rs and doesn't supports
advanced features (such as cheat codes, JHL loader etc) so that it can be
installed in a small and safe region of the cartridge's flash ROM in the case
Pseudo Saturn Kai main executable could not be loaded correctly.

Main purpose of this minimalistic loader is to allow to boot cartridge flasher
utility from CD-R even when Pseudo Saturn Kai ROM is corrupted, thus avoiding
for example the usage of swap trick method after cartridge firmware upgrade
didn't went as expected.

This feature is restricted to full version of the firmware for several reasons :

 - Lack of flash ROM
   Legacy cartridges for Saturn (such as Action Replay and Gameshark) have their
   flash ROM limited to 256KB, and minimalistic loader requires 16KB (6%) of it.
   On the other hand, it takes less than 2% of flash ROM for full version.
   As a consequence, making minimalistic loader fitting into lite ROM would
   require to remove some features, or to lower the count of cheat codes.
   In my opinion, this is not a smart choice because Pseudo Saturn Kai exists to
   make everyone enjoying Saturn games and cheat codes. Adding a recovery in the
   case of corrupted flash ROM is probably good, but not at the price of
   monopolizing 6% of cartridge's ROM.

 - It may cause unexpected troubles
   Minimalistic loader is run when Pseudo Saturn Kai main executable differs
   from expected data, even if that's just the matter of one byte different.
   This mechanism is fine for new and genuine flash ROM chips (such as the ones
   used in Gamer's Cartridge), but may trigger easily when old or counterfeit
   chips (such as the ones used in Action Replay or other clones) are used.
   -> In the case of using old or counterfeit chips, it is probably better to
      hope that any eventual data corruption would concern rarely used part of
      Pseudo Saturn Kai firmware (for example, cheat codes settings for a
      specific game) so that the cartridge work correctly 99% of the time.

DISCLAIMER : This feature doesn't makes the cartridge 100% safe to any eventual
             problem that may happen during firmware upgrade operation.
             Please install Pseudo Saturn Kai at your own risks !


 5x. Minor Tricks / Trivia
------------------------------------------
There are several kinds of minor tricks here and there in Pseudo Saturn Kai and
Save Data Manager. Theses were basically added for extra testing and/or debug
purpose. For example, did you knew that :
 - Pushing some keys during Save Data Manager main menu enables an extra menu ?
 - Pushing one shoulder key and 3 other keys when running full version of the
   firmware shows some kind of mysterious debug utility ?
 - An easter egg can be triggered from firmware's main menu ?!
 - Full version of the firmware provides some pre-recorded save data directly
   from cartridge ROM ? Theses can be used by selecting "RomFs" media when using
   "Save Data Manager" -> "Save Data Import" feature.
 - Pushing a some specific keys during credits page will speed up the display ?
 - X+Y+Z+Start key shortcut from any menu does a system reset ?
 - Pink (#FF00FF) can be used as transparent color in custom background images ?


 5z. Unfinished features / TODO list
------------------------------------------
The features below are not finished, but may be added in a future release. The
list below is basically a memo for future myself.
 - More debug functionality for developers.
    -> UBC based step by step assembly debugger.
 - Test of 1MB expansion RAM at faster access speed than default ones.
 - Save data export to Yabause format in Save Data Manager.
 - Virtual Memory Cart support with JHL loader and BIOS memory manager.
 - Extra information (game release date, region etc) in Fenrir Loader Kai.
 - Proper integration of Fenrir in Save Data Manager.
 - This readme.



 6. Compatibility Related Notes
==========================================
Pseudo Saturn Kai compatibility is not perfect but improving little by little.
In short, nearly all games don't cause problems but some few ones require their
disc image to be patched before being burned, in order to play correctly.

For more details, please refer to Pseudo Saturn Kai compatibility page :
  http://ppcenter.free.fr/pskai/compat/

Additionally to game-dependant compatiblity, it had been reported some kind of
cartridge model dependant compatibility issues. Especially, red "all-in-one"
cartridge may not work with some games playing fine with Action Replay carts.

In that case of game not working on a specific hardware setup, it's not the
fault nor the matter of Pseudo Saturn Kai to fix the problem : instead please
ask to the manufacturer of your defective cartridge to about an hardware
improvement and eventually a refund of your cartridge.

For reference, here is a list of same games being tested on several hardware
configurations. This list is just for illustration and won't be updated it with
reports for other games.

Game                       | Env. #1 | Env. #2 | Compatibility notes
 (region)                  | More compatibility notes
===========================+=========+=========+================================
Astal                      |    O    |    O    | 
 (USA)                     |         |         | 
---------------------------+---------+---------+--------------------------------
Cyber Troopers Virtual-On  |    O    |    O    | 
 (USA)                     |         |         | 
---------------------------+---------+---------+--------------------------------
Dragon Force               |    O    |    ~    | Working Designs intro stutters
 (USA)                     | and loading times seem to be increased. Some users
                           | have reported that it doesn't work at all.
---------------------------+---------+---------+--------------------------------
Dragon Force II            |    O    |    x    | Pseudo Saturn Kai refuses 
 (English Patched)         | to boot it.
---------------------------+---------+---------+--------------------------------
Grandia                    |    O    |    x    | Most of the time it crashes to
 (Both original version    | a black screen after the SEGA or ADX logos. The
  and English Patched)     | single time that I got it to boot, it crashed when
                           | selecting 'New Game' in the main menu.
---------------------------+---------+---------+--------------------------------
Magic Knight Rayearth      |    O    |    x    | Most of the time it does not
 (USA)                     | boot. If it does boot then it either crashes to a
                           | black screen after the SEGA logo or crashes after
                           | the opening FMV.
---------------------------+---------+---------+--------------------------------
Panzer Dragoon Saga Disc 1 |    O    |    x    | Crashes to a black screen after
 (USA)                     | the cinematic which plays when selecting 'New Game'
                           | in the main menu.
---------------------------+---------+---------+--------------------------------
Policenauts Discs 1 & 2    |    O    |    O    | 
 (English Patched)         | 
---------------------------+---------+---------+--------------------------------
Pu.Li.Ru.La                |    O    |    O    |    
 (Japan)                   | 
---------------------------+---------+---------+--------------------------------
Resident Evil              |    O    |    x    | Crashes to a black screen after
 (USA)                     | the introductory text which plays when selecting
                           | Jill or Chris. Can also crash when the Capcom logo
                           | is playing.
---------------------------+---------+---------+--------------------------------
Road Blaster               |    O    |    x    | If you press Start while the
 (Japan)                   | opening movie is playing, the game will freeze for
                           | a while. If you wait long enough the movie will
                           | play again.
---------------------------+---------+---------+--------------------------------
Sakura Wars                |    O    |    ~    | Text boxes are glitched, making
 (English Patched)         | them very hard to read.
---------------------------+---------+---------+--------------------------------
Sonic 3D Blast             |    O    |    O    | 
 (USA)                     |         |         | 
---------------------------+---------+---------+--------------------------------
Sonic Jam                  |    O    |    ~    | Games work fine but some
 (USA)                     | features in Sonic World will cause the Saturn to
                           | reset (e.g Art Museum).
---------------------------+---------+---------+--------------------------------
Lunacy Disc 1              |    O    |    O    | 
 (USA)                     |         |         | 
---------------------------+---------+---------+--------------------------------
X-Men Children of the Atom |    O    |    O    | 
 (USA)                     |         |         | 
---------------------------+---------+---------+--------------------------------

Details about test environments :
 Env. #1 : - Action Replay with burned disc on PAL VA5
           - Action Replay with burned disc on PAL VA13
           - Red cart with burned disc on PAL VA13
           - Red cart with Phoebe on NTSC-J VA4

 Env. #2 : - Red Cart with burned disc on PAL VA5

Details about test results :
 O : No issues
 ~ : Issues
 x : Unplayable

General notes :
 - All tests were performed using Pseudo Saturn Kai v6.324
 - Phoebe tests were performed with Pseudo Saturn Kai's image selection menu.
 - The red cart used in the tests is the variant with 1MB/4MB RAM but no
   backup memory.
 - Even though the all-in-one cart with backup memory hasn't been tested here, 
   there are numerous reports of it suffering from similar issues.
 - It seems that problems happens only with burned games and consequently usage
   of original discs or ODEs may work fine.



 7. Pseudo Saturn patcher utility
==========================================

 7a. Purpose
------------------------------------------
Pseudo Saturn patcher utility makes games working correctly with JHL loader.
For the majority of Saturn games, copying original game to CD-R without the need
of patching things in the meanwhile will do the job, but for some reasons few
games won't work correctly if not patched.


 7b. Games Requiring Patching
------------------------------------------
 - 3D Lemmings
 - Alien Trilogy
 - Assault Rigs
 - Batman Forever The Arcade Game
 - Center Ring Boxing
 - Destruction Derby
 - Discworld II
 - DJ Wars
 - FIFA Rumbo al Mundial 98
 - FIFA Soccer 96
 - FIFA Soccer 97
 - Genso Suikoken
 - Krazy Ivan
 - Machine Head
 - Mechwarrior 2
 - Mortal Kombat II
 - NBA Jam Extreme
 - NBA Jam Tournament Edition
 - NBA Live 97
 - NBA Live 98
 - NHL 98
 - NHL Powerplay '96
 - Panzer Dragoon Azel/Saga
 - Panzer Dragoon Zwei
 - Scud - The Disposable Assassin
 - Skeleton Warriors
 - Terry Pratchett's Discworld
 - Warcraft II - The Dark Saga
 - WipEout

Note : full list of games requiring patching can be found in Pseudo Saturn Kai
       compatibility page : http://ppcenter.free.fr/pskai/compat/
       Only games listed as requiring usage of patcher utility are concerned.

Note : patching is not required when an ODE is used : the reason is that ODE
       "shows" disc image as an original game CD-ROM, and that patching is
       required to fool Saturn copy protection when using a CD-ROM backup.


 7c. Patcher Utility Usage
------------------------------------------
 1. Double-click cdpatch.exe.
 2. Click "Browse" button and select disc image file to patch.
 3. Click "Patch" button.

Note : iso, cue+bin, mdf, img image file formats are supported.

Note : patcher utility works on Windows platform only. If you want to port
       this utility to your favorite platform, please refer to the sources
       and do the porting job by yourself.
       Path to the sources : SatCom_src_<date>.7z -> pseudosat_kai -> cdpatch


 7d. Patcher Utility Changelog
------------------------------------------
2019/05/21, Ver 1.0.0.4 :
 - Extended support to cue sheets starting with CATALOG keyword.
   (This command was found on some rips such as Destruction Derby)
2018/02/21, Ver 1.0.0.3 :
 - Fixed incorrect path setting when selecting cue files.
   Only .bin image files located on same directory as patcher utility could be
   patched in previous version.
2016/07/14, Ver 1.0.0.2 :
 - Added region patching feature. (not needed when using Pseudo Saturn Kai)



 8. Save Data Manager features
==========================================

 8a. How to Run Save Data Manager
------------------------------------------
Lite firmware users : use pskai_sdm_flasher.iso .
Full firmware users : select "Save Data Manager" from cartridge main menu.


 8b. Base operations : copy, move, delete
------------------------------------------
Basic operations regarding save data are available in Save Data Manager.
Theses operations are similar to the ones provided by Saturn BIOS and also
support natively Floppy Disk Drive so that its operation CD-ROM is not required.


 8c. Save Data Export
------------------------------------------
It is possible to dump save data from Saturn or backup memory devices such as
cartridge or Floppy Disk to PC or SD card.

Supported output devices :
 - USB Data Link connected to PC
 - USB dev cart connected to PC
 - Gamer's Cartridge
 - Fenrir
 - Satiator

More than directly copying save data from backup device to output device, it is
also possible to temporarily copy a portion of external backup device
(cartridge or Floppy Disk) to Saturn internal backup memory and then copy it
from Saturn internal memory to PC or SD card.
This supports dumping portion of source device as well as data compression when
copying to Saturn internal backup memory such as dump of large source data so
that whole backup memory cartridge or cartridge ROM can be possible without
requiring the usage of invasive dump methods such as ROM chip desolder and then
dump with dedicated hardware.


 8d. Indirect Dump
------------------------------------------
(1) Introduction to Indirect Dump feature :
    Indirect Dump allows to dump cartridge boot ROM or backup memory cartridge
    ROM to Gamer's Cartridge SD card.
    It can dump saves from backup memory cartridge (such as official ones), or
    ROM contents of boot cartridge (such as Action Replay, etc).

    It uses Saturn internal backup memory as a temporary storage for data to
    dump which is then copied to Gamer's Cartridge SD card, hence the
    "indirect" naming of this feature.

    Why using internal backup memory ? Because swpapping Saturn cartridge
    must be done when Saturn is powered off (hotswapping Saturn cartridge is
    dangerous : it may damage Saturn, or cartridge, or both, please don't
    try it), hence temporarily storing data to dump in a non-volatile
    memory such as internal backup memory is required for dump operation.

    In comparison to ROM size of cartridge to dump (usually 256KB), internal
    backup memory is small (32KB), so what's the magic in order to dump a
    cartridge ?
    Well, nothing really special : cartridge is dumped into several blocks.
    When a block is written to internal backup memory then it is required to
    change cartridge from the one to dump to Gamer's Cartridge, and after the
    block data is copied from internal backup memory to SD card, then it is
    possible to continue dump from the end of previous block and so on.
    Additionally, block data is compressed, so that dump of typical
    ROM cartridge is usually done in around 5 or 6 passes, vs 9 passes without
    usage of compression.
    This may also significantly help the dump of save data : as an example, 
    Sega Rally ghost data stores driver input data without using any kind of
    compression, which gives very good compression rate during indirect dump.

    As an option, it is also possible to use Saturn FDD instead of Saturn
    internal backup memory. In that case, compressed block size is extended
    to 256KB, so that typical cartridge is dumped in one pass.

    Advantages of this feature :
     - It doesn't requires to open nor desolder chips of the cartridge to dump.
     - It doesn't requires any special electronic equipment such as ROM dumper.

    Disadvantages of this feature :
     - It requires to boot Saturn CD-R, hence needs some experience regarding
       swap trick method when Saturn is not hard-modded.
     - It may take some long time : typically around 1-2 hours for dumping a
       backup memory cartridge full of various save data.

(2) Requirements :
     - (A cartridge to dump)
     - A Gamer's Cartridge and a SD card.
     - A Saturn able to play CD-Rs, or being able to do CD swap trick.
     - If required, a new CR2032 battery installed Saturn side.
     - Pseudo Saturn Kai Save Data Manager utility (pskai_sdm_flasher.iso), 
       burned on CD-R, or copied to your favorite Saturn disk drive emulator.
     - Optionally, a Saturn Floppy Disk Drive : when detected, floppy disk's
       second partition is used instead of Saturn internal backup memory.

(3) Indirect Dump procedure steps :
    Before dumping the cartridge ROM, it is recommended to backup the saves
    stored in Saturn's internal backup memory.
    This is optional, but since Indirect Dump feature will wipe all data from
    internal backup memory, you probably want to backup them to continue
    playing your favorite game(s) after that.

    Internal backup memory backup steps :
     1. Turn off Saturn, plug Gamer's Cartridge
     2. From boot menu, select :
        "Save Data Manager"
         -> "Save Data Dump"
          -> "Dump Saturn Backup RAM"
           -> "SDcard"
        Saves from internal memory are dumped to the following location :
        SD card -> SAVES -> today's date (YYYYMMDD) -> BRAM_<ID>.BIN
        Example : /SAVES/20170527/BRAM_001.BIN

    After indirect dump, it is then possible to restore internal backup memory
    to original state by using Save Data Manager -> Save Data Import feature.

    Indirect dump steps :
     1. Turn off Saturn, plug the cartridge to dump, and insert Save Data
        Manager CD-R.
     2. Turn on Saturn and run Save Data Manager from CD-R.
        When dumping a boot cartridge (Action Replay, etc), Saturn should boot
        from this cartridge. If that's not the case, it is necessary to adjust
        cartridge's insertion in cartridge slot until Saturn boots from
        cartridge.
     3. From Save Data Manager, select "Save Data Dump" and the appropriate
        action for the type of cartridge to dump.
        Examples :
         - Boot cartridge : "Dump Cartridge Boot ROM".
         - Official memory cartridge : "Dump Cartridge Backup RAM".
     4. From "Dump Size Selection" menu, select "Detected Size".
     5. Two confirmation screens should be displayed : first one about
        confirmation to start indirect dump, and second one about the fact
        that data on internal backup memory will be erased : please confirm
        both screens with Start button.
     6. After that, Saturn will compress ROM data from cartridge to dump into
        internal backup memory.
        Please wait until "Dump data compression success !" is displayed.
     7. Turn off your Saturn.
     8. Change cartridge from the one to dump to Gamer's Cartridge.
     9. Turn on Saturn and run Save Data Manager from CD-R.
        Note #1 : Since Gamer's Cartridge is used, it is not required to do
                  swap trick, but only to load the CD-R as when loading a
                  game copy.
        Note #2 : In order to dump the cartridge, it is required to disable
                  Virtual Memory Cartridge when booting Save Data Manager.
    10. From Save Data Manager, select "Save Data Dump".
    11. Select "Continue" from "Indirect Dump" menu.
    12. Select where to store dump data : "SDcard".
    13. ROM data will then be decompressed from internal backup memory to
        SD card : please wait until "Block successfully compressed." or
        "Cartridge dump completed !" message is displayed.

        If "Block successfully compressed" is displayed, then some data to dump
        is remaining, hence please return to step 1 in order to dump remaining
        data.

        If "Cartridge dump completed !" is displayed, then all data from
        cartridge is succesfully dumped to SD card.
        Dump data is located at the following location :
        SD card -> SAVES -> today's date (YYYYMMDD) + ID -> CARTDUMP.BIN
        Example : /SAVES/20170527_001/CARTDUMP.BIN

        Additionally, dump report is stored into CARTDUMP.TXT file. It contains
        dump related informations such as dump start address, CRC value etc, and
        should be kept with CARTDUMP.BIN to prove that ROM was correctly dumped.

(4) Advanced features :
    Some extra features are implemented, and may be available only when
    USB dev cart is used. Theses are typically for my (cafe-alpha) personal
    use and/or for helping someone to dump their cartridge.
     - Dump to PC :
       This saves dump file to PC (PC-link media) instead of SD card. It is
       enabled when USB dev cart (or when Action Replay and USB Data Link) is
       connected and SatLink software is used.
     - Indirect Dump recovery :
       This reads indirect dump raw file from PC-link, in the case it can't
       be decompressed on end-user side.
       It requires USB dev cart (or modified version of yabause) and SatLink
       software. I officially don't support all of theses tools.
       Note : it requires dump header and compressed save data located at the
              root of PC-link media.
     - Saturn internal backup memory dumps : it writes internal backup memory
       raw contents to SD card before decompressing dump data from it.
       Raw dump files are located in same folder as indirect dump one, under
       the following names : B<Block ID>_BRAM.BIN and B<Block ID>_BRAM.HDR.
       Additionally, any eventual error code when writing compressed dump data
       to internal backup memory is logged into indirect dump report.
       Because it isn't directly mapped in Saturn memory, this feature is
       disabled when using Saturn Floppy Disk.


 8e. Save Data Import
------------------------------------------
It is possible to import pre-recorded save data from file device connected to
Saturn to backup device such as Saturn internal memory, cartridge or FDD.
Save Data Manager contains many pre-recorded save data, and contribution of
your own save data for your favorite games are welcome.

Note when using Gamer's Cartridge : it is possible to import save data from
data copied on SD card. For more informations, refer to "SD card setup" section.



 9. SaveRepack Utility
==========================================

 9a. Overview
------------------------------------------
SaveRepack is a PC utility that allows to copy Saturn save data files into
Save Data Manager utility.
Thanks to this, it's possible to copy save data from PC to Saturn without the
need of any exotic cartridge or PC-to-Saturn communication hardware.

 9b. Features
------------------------------------------
 - Easy to use : select save data files, push button and iso file is generated.
 - No need to convert save data from a format to another.
   -> It can for example load save data file generated by emulator, or exported
      from USB Data Link/ODE/cartridge/etc.
 - Works on both real Saturn and emulator.
 - Allows to select which save to import from raw data file.
   -> Even if whole backup memory (containing many save data) is exported into
      a single raw file, Save Data Manager allows to select which save(s) to
      import from this file.
 - Only requires to launch a Saturn utility in order to work.
   -> CD swap trick, or inexpensive Pseudo Saturn cartridge is enough to import
      save data for your favorite game.

 9c. Limitations
------------------------------------------
 - Only Windows OS supported.
   -> I don't plan to port to another platform, but as it's open source feel
      free to port this utility to your favorite OS.
 - UI/UX is maybe a bit out of fashion.
   (But it was cutting-edge technology when Saturn was available in stores !)



 10. USB dev cart related informations
==========================================

 10a. Setup when using Windows
------------------------------------------
USB dev cart was reported working on the following Windows version :
 - Windows XP
 - Windows 7 32/64 bits
 - Windows 10

Please install driver and transfer utility according to
setup instructions below:
 - Power off your Saturn. 
 - Plug your USB dev cart into your Saturn memory cartridge port. 
 - Connect your USB dev cart to your PC via USB. 
 - Turn your Saturn ON. 
   -> Pseudo Saturn Kai main menu appears on Saturn. 
   -> If connected for the first time, Windows is searching for drivers
      over the internet and installs the USB Serial Port driver. 
 - Execute the libusb filter driver from the following location :
    <SatCom folder>
     -> "USB_dev_cart" folder
       -> "Driver" folder
         -> "[REF]" folder
           -> libusb-win32-devel-filter-1.2.6.0.exe
 - Click "Next" button.
 - Read and if OK, accept the software agreement, then click "Next" button.
 - In "Select Destination Location" window, click "Next" button.
 - In "Information" window, click "Next" button.
 - In "Select Start Menu Folder" window, click "Next" button.
 - In "Ready to Install" window, click "Install" button.
 - Check "Launch filter install wizard", then click "Finish" button.
 - Check "Install a device filter", then click "Next" button.
 - Select USB dev cart's FTDI device, then click "Install" button.
   -> Vendor ID (vid) : 0403
   -> Product ID (pid) : 0601
   -> Description : "USB Serial Converter"
   -> Manufacturer: FTDI
 - In "Install Device Driver" window, click "OK" button.
   If USB Serial Converter (FTDI Manufacturer) is not listed in filter
   installer window anymore, driver installation is completed.
 - Test the connection with SatLink.exe :
    <SatCom folder>
     -> SatLink.exe
 - In "Download/Upload" tab, select "usb_dev_cart.ini" as INI file location.
 - Click "OPEN" button.
 - Select "Start Address" as 0x06004000.
 - Check everything in "Exec Parameters" frame.
 - In "Upload/Execute" frame, select flatcube.bin :
    <SatCom folder>
     -> "USB_dev_cart" folder
       -> "link_test" folder
         -> flatcube.bin
 - Click "Execute" button.
   If you see a 3D rotating cube on your TV screen, your USB dev cart
   works correctly.


If you prefer setup manual with screenshots, please use the (a little 
old) manual from the following location :
 <SatCom folder>
  -> "USB_dev_cart folder"
    -> SEGA_Saturn_USB_devcard_Win7_64.pdf
Note #1 : this manual refers to a relatively old version of SatLink.
Please use the latest version of SatLink from my homepage :
http://ppcenter.free.fr/satcom/

Note #2 :
 - SEGA_Saturn_USB_devcard_Win7_64.pdf was made by Duranik team.
 - flatcube.bin was made Mic : http://jiggawatt.org/badc0de/console.htm


 10b. Setup when using Linux
------------------------------------------
When using antime's ftx utility, some USB dev cart commands are not
compatible with Pseudo Saturn Kai, especially -x (execute) one.
Hence, it is recommended to use slightly modified ftx available from
the following location :
 <SatCom folder>
  -> "USB_dev_cart" folder
    -> ftx folder
ftx was reported working on at least one Linux configuration.
I don't know if it will work on yours.



11. SD card related informations
==========================================

11a. SD card interface(s) support
------------------------------------------
Pseudo Saturn Kai currently supports the following SD card interface(s) :
 - Gamer's Cartridge
More SD card interface(s) may be supported in future releases.


11b. SD card requirements
------------------------------------------
Virtual Memory Cartridge feature doesn't requires large storage capacity, 
hence large (expensive) SD card is not indispensable.
 - Capacity : 4GB or more
 - SD card type : SD or SDHC (SDXC support is not tested)
 - Supported partition scheme is "Master Boot Record".
   "GUID Partition Table" or anything else won't work.
 - File system : FAT32 (not FAT, not exFAT, not NTFS, not anything else)


11c. SD card setup
------------------------------------------
Format SD card by with the following settings :
 - Partition scheme : Master Boot Record
 - File system : FAT32
 - Allocation size (cluster size) : 4KB

11d. SD card file write optimization tricks
------------------------------------------
 - Class 10 (or better) SD card.
 - Clean formatted SD card will give best write performance.
 - Less files/folders as possible in root folder :
   If you want to store Pseudo Saturn Kai unrelated files and folders
   in your SD card, it is recommended to move theses from root folder
   to a sub folder.
   This also slightly improves file read performances.
 - The smaller SD card capacity, the better.
   There's no need however to use old 2GB non-SDHC card, which are quite
   expensive. Instead, a cheap SDHC card is usually a better choice.
 - 4KB cluster size (usually) gives the best performance with 
   Gamer's Cartridge.
 - When running Dezaemon 2 Save Game Manager directly from Gamer's
   Cartridge, 32KB cluster size is recommended.

11e. SD card extra setup for Dezaemon 2 and Gamer's Cartridge fanboys
------------------------------------------
(Dezaemon 2 is an application to develop and play SHMUPs on Saturn. If you're
 allergic to bullet hell or DIY then please skip the paragraphs below)

When Gamer's Cartridge is used, it is possible to run Dezaemon 2 Save Game
Manager (DZ2SGM) from SD card.
Main advantage of this operation is to be able to import Dezaemon 2 user games
without the need to swap between Dezaemon 2 and DZ2SGM CDROMs. In fact, this
makes unnecessary to burn DZ2SGM on CD-ROM.

Two setup methods are available :
 (A) Copy DZ2SGM files on SD card
 (B) Copy DZ2SGM iso file on SD card

(A) requires to copy many small files on SD card hence setup takes time, but on
the other hand DZ2SGM execution speed is optimal.
(B) is fast to setup, but because it requires an extra layer of software to
access DZ2SGM files, DZ2SGM execution speed is slow.

As a consequence, method (A) is recommended when a Gamer's Cartridge is used, 
and method (B) shall be considered when a cartridge with faster access to SD
card will be available.

(A) setup instructions :
   Copy all files in DEZA2 and SAVES folders from Dezaemon Save Game Manager
   iso to SD card under the folder organisation described below :
    [SD card]
    |-DEZA2 (folder)
    | |-DZ2SGM.LZF
    | |-SGM_THB.RAW
    | |-DATA (folder)
    | | ...
    | |-SGM1 (folder)
    | | ...
    | |-SGM2 (folder)
    | | ...
    | |-SGM3 (folder)
    | | ...
    | |-SGM4 (folder)
    | | ...
    |-SAVES (folder)
    | |-(many sub folders)
    | | |-(save data files)

(B) setup instructions :
   Copy pskai_sdm_flasher.iso to Gamer's Cartridge SD card root folder.

Speed optimization tricks :
 - It's better to use a freshly formatted SD card because when writing a file
   there, the search of unused clusters takes less time.
 - When handling large files like the Dezaemon 2 user games, the larger the
   FAT32 cluster size, the better.
   So it's recommended to format the SD card with cluster size set to 32KB.
 - When loading DZ2GM from CD-R or an ODE, 4KB cluster size is fine.



12. Cheat codes related informations
==========================================

12a. How to enable cheat codes
------------------------------------------
Cheat codes can be enabled from loader selection menu :
 - Select loader with X button : use cheat codes
 - Select loader with A/C/Start button : don't use cheat codes
Additionally, cheat codes can be enabled from "Select Cheats" option in Pseudo
Saturn Kai main menu.
Note : cheat codes can't be used with JHL loader.
When using cheat codes, CD-ROM is loaded, and according to game title
the following menus are shown :
 - Game selection menu : game in CD lid is likely not being supported.
   Please manually look for game in list in the case association for automatic
   search is incorrect.
 - Cheats selection menu : game is automatically selected, and the last step
   before loading game is to choose which cheat(s) to enable.
   Note : it is possible to select multiple cheats with X button.


12b. Custom cheat codes : supported hardware
------------------------------------------
Custom cheat codes allows to enter or edit cheat codes parameters directly from
Pseudo Saturn Kai so that it is handy to develop or try new cheat codes.

This feature is available without consideration of the hardware used, but with
the slight limitations described below :
  Hardware Setup  | Availability | Save Count | Remark  
==================+==============+============+=========
   Action Replay  |     Yes      |     16     |  (*1)    
    or clones     |              |            |         
------------------+--------------+------------+---------
   Rhea/Phoebe    |     Yes      |     16     |  (*1)   
   Fenrir         |              |            |         
   Satiator       |              |            |         
------------------+--------------+------------+---------
Gamer's Cartridge |     Yes      |     16     |  (*2)   
------------------+--------------+------------+---------
   USB dev cart   |     Yes      |     16     |  (*3)   
(*1) Codes list is stored in Saturn internal backup memory.
     Additionally, stored list is common for all games : saving list will
     overwrite previous one, even if it was set for a different game.
     Usage of an Action Replay cartridge is not necessary, so it's possible
     to enter custom cheat codes with only RmenuKai, Fenrir Loader Kai, or
     Satiator Menu Kai.
(*2) Cheat codes list is stored on SD card and is managed on a game basis, so
     that saving cheat codes list for ABC game will overwrite list previously
     set (if any) but will keep intact lists for other games.
     It is also possible to store the list on internal backup memory, with same
     limitations as described in (*1).
(*3) Limitation similar to Gamer's Cartridge, but cheat codes list is stored on
     PC and consequently requires SatLink software (not publicly available)
     to work correctly.

The main reason to restrict the count of cheat codes that can be saved to Saturn
internal memory is to try not to hog too much data from it : Pseudo Saturn Kai
is designed to use less than 1% of internal backup memory capacity so that it
shouldn't cause troubles with games requiring backup memory.


12c. Custom cheat codes : how to use
------------------------------------------
Custom cheat codes input feature is available from built-in cheat codes
selection menu, hence pre-requires to push X button from loader selection menu
(or disc image selection menu if a supported ODE is installed), and then select
a game in the case Pseudo Saturn Kai doesn't automatically select it.

From there, push Z button to access custom cheat codes selection menu, which
prompts where cheat codes shall be read from :
 - Load codes fom SD card : read list from Gamer's Cartridge SD card
 - Load codes fom PC      : read list from PC via SatLink
 - Load codes fom BRAM    : read list Saturn internal backup memory
 - Load built-in Codes    : use code(s) enabled in cheat codes selection menu

Cheat codes parameters are then displayed and can then be edited with the
following keys :
 - Arrows      : select digit to edit
 - L/R         : decrement/increment currently selected digit
 - B           : cancel and return to cheat codes selection menu
 - A/B/C/Start : start game with custom cheat codes

Before starting game, Pseudo Saturn Kai prompts where to store custom cheat
codes list, in a similar manner of list read process before entering custom
cheat codes input screen.
In the case of saving cheat codes to BRAM, please note that previously saved
list will be overwritten, even if it concerns another game.


12x. Some technical information
------------------------------------------
This is technical information not necessary for normal usage. Basically, this is
just a memo when I (cafe-alpha) want to verify something about cheat codes but
don't have enough time to dig into source code to find the information.

There are two types of cheat codes handler :
 - ROM based handler : cartridge ROM is used for both cheat codes handler
   and address/value pairs for each cheat codes enabled.
   RAM is used for only for cheat codes interrupt handler and to specify which
   codes are enabled so that this type is convenient for games where unused RAM
   areas are scarce and/or little.
   An other advantage of this cheat handler type is that it allows in-game
   connectivity with PC via USB dev cart.
   On the other hand, execution is quite slow, so graphical glitches may happen
   on some games.
 - In-RAM handler : cheat codes handler, settings and address/value pairs are
   put in RAM. This have the advantage of being fast so that most games are
   compatible with this type of handler.
   Finding enough unused RAM for this type of handler may sometimes not be
   possible, and additionally it doesn't allows usage of USB connectivity.

   If both fast execution and USB connectivity are required, then using "USB 
   only RAM handler" is recommended. As the name suggests, it doesn't allows
   usage of cheat codes, so this is just for development purpose.

About memory organisation regarding cheat codes :
 1. Cheat codes cache : it contains few cheat codes setting and first stage
    bootloader. It redirects to cheat codes handler which can be located
    either in cartridge ROM or RAM according to handler type in use.
 2. Cheat codes handler : small executable which applies user-enabled cheat
    codes. Additionally it also may support in-game connectivity with USB dev
    cart.
 3. Codes cache : table in ROM indicating all address/value pairs for each
    cheats. ROM based handler directly uses this table while in-RAM handler
    uses address/value pairs copied from this table to RAM.

About memory usage regarding cheat codes :
 - First stage bootloader : 0x40 bytes
   Contains interrupt handler, opcode for master code and few settings.
 - In-RAM handler : 0x60 bytes
   That's the space for maximum 48 SH2 instructions.
 - Codes cache : 8 bytes per code
   Address : 4 bytes, value : 2 bytes, command : 1 byte.
   Remaining byte is unused.


12y. Notes about cheat code setup
------------------------------------------
Features in this section are available in Pseudo Saturn Kai debug version only.
When setting up new cheat code, it is necessary to setup master code first, 
which is composed with :
 - Patch code, starting with `F'
 - Location code, starting with `B'
First, it is recommended to look for appropriate location code. Simplest way to
setup location code is to try default locations below :
 - 0x060FF000 : cheat codes cache is located at the end of high work RAM.
                0x1000 (4096) bytes available for handler and codes cache, which
                allows a maximum of 492 codes with in-RAM handler.
 - 0x06002800 : cheat codes cache is located on IP header's SEGA logo bitmap.
                Using this locations breaks Sega logo display on game startup, 
                but except that point game should boot normally.
                1352 bytes available for handler and codes cache, which allows
                a maximum of 157 codes in-RAM handler.

Even more maniac tricks :
 - Look for unused RAM with "0xA5 HRAM fill" feature and then "BSOD on soft
   reset" feature.
   So far, this trick didn't worked correctly however ...
 - Use buffer from backup library : a part of it seems not used by BUP library.
   This is a last chance solution, since area there is small, and also because
   there's no waranty that the game doesn't uses this buffer for other things
   when not using backup library.



13. Rhea, Phoebe and Fenrir ODE support
==========================================

13a. Overview
------------------------------------------
Rhea, Phoebe and Fenrir are Optical Disc Emulators (ODE, a modern replacement
for CD-ROM drive), which uses SD card to store CD image to show to Saturn.
More informations about these devices is available at the following pages :
    Rhea/Phoebe : https://gdemu.wordpress.com/about
    Fenrir      : https://www.fenrir-ode.fr/

Rhea/Phoebe SD card can contain several disc images, and selection of which one
to show to Saturn is done via a Saturn application called Rmenu.
In order to make the usage of Pseudo Saturn Kai features user-friendly, the
configuration job normally done on Rmenu is available on Pseudo Saturn Kai side,
thus allowing image selection and cheat codes setting in a couple of menus.

Similarly with Fenrir, Pseudo Saturn Kai allows access and configuration of the
ODE so that it is possible to select a disc image and enable cheat codes for
it in an user-friendly way.


13b. Requirements for Rhea/Phoebe ODEs
------------------------------------------
Correct installation and configuration of Rhea or Phoebe ODE is required.
Installation steps for Rhea :
 -> https://gdemu.wordpress.com/installation/rhea-installation/
Installation steps for Phoebe :
 -> https://gdemu.wordpress.com/installation/phoebe-installation/
This requires some screws to remove, few wires to connect, and eventually some
few basic soldering skills. In case of technical question, please refer to the
place where you bought your ODE from.

Then, Rhea or Phoebe require at least firmware version 3.5.0 (for Rhea)
or 3.2.0 (for Phoebe) in order to get image selection menu being supported.
If not already done, please retrieve latest firmware from the following link :
 -> https://gdemu.wordpress.com/firmware/
And then follow the update steps detailed on the page to update your ODE to
latest firmware version.

Both lite and full versions of Pseudo Saturn Kai firmware supports ODE image
selection, so a regular Action Replay cartridge is enough to enjoy both cheat
codes and Rhea/Phoebe ODE.
Additionally, using RmenuKai instead of Rmenu allows to select disc image and to
enable cheat codes without the need of any cartridge hence is a recommended
solution for those wanting to toy with cheat codes but not wanting to purchase
or flash a Saturn cartridge.

If you want to use both cheat codes and save data not fitting into Saturn
internal backup memory, please note that hotswapping between Action Replay and
official memory cartridge is dangerous : it may damage Saturn, or cartridge, or
both, so please don't try it. In that case, using a Gamer's Cartridge or an
official memory cartridge with RmenuKai is recommended.
This concerns very specific games such as racing games (for race ghost data), 
Dezaemon 2 (DIY shooting game) or RPGs. So using an Action Replay cartridge or
RmenuKai without any cartridge should be enough for typical gaming requirements.


13c. Image selection menu limitations
------------------------------------------
Image selection menu is designed with the following limitations, which
shouldn't cause major problems, but listed here for reference :
 - LIST.INI file maximum size     : 800 KB
 - Maximum disc image count       : 2500
 - Maximum length per image title : 128 characters


13d. Setup for Rhea/Phoebe ODEs
------------------------------------------
Image selection menu requires Rmenu iso to be set in folder 01 of the SD card
used by Rhea/Phoebe. This iso file contains a list of disc images available in
the SD card and is generated with a PC application called RMENU.exe.
For more details, please refer to the Rmenu readme, and follow the setup steps
detailed there.

After setting up Rmenu, it is necessary to indicate to Pseudo Saturn Kai that
Rhea/Phoebe ODE is available. This can be done in Settings menu, reachable by
pushing B button from Pseudo Saturn Kai loader selection menu, and then by
setting "Optical Disc" value to "Rhea/Phoebe".


13e. About RmenuKai / Fenrir Loader Kai / Satiator Menu Kai
------------------------------------------
RmenuKai is a replacement for Rmenu utility : it has more or less the same
features as Pseudo Saturn Kai but can be set up as Rmenu, without the need of
any cartridge.
Fenrir Loader Kai and Satiator Menu Kai are similar to the RmenuKai described 
above, but specialized for Fenrir ODE and Satiator ODE, respectively.

Main interest of these utilities is to provide a visually enhanced menu and 
cheat codes support without having to use any kind of cartridge.

They have some limitations in comparison with the official loader utilities, 
so care must be taken when considering to update utility to its Kai variation 
or not.

For more informations please refer to the following readme.txt files :
 - ODE -> RmenuKai        -> readme.txt : for Rhea/Phoebe ODE
 - ODE -> FenrirLoaderKai -> readme.txt : for Fenrir ODE
 - ODE -> SatiatorMenuKai -> readme.txt : for Satiator ODE


13f. How to Use
------------------------------------------
After setting up optical disc setting to appropriate value, the game start menu
is changed into disc image selection menu, with the following keys mapping :
 - X         : enable cheat codes
 - Y         : change list sort settings
 - Z         : game loader manual settings
 - L/R       : show settings menu
 - Arrows    : select disc image
 - A/C/Start : load selected disc image


13g. Image Selection Setting Menu
------------------------------------------
Setting menus are available by pushing L and R buttons from disc image selection
menu. From there, it is possible to verify ODE firmware version  and tune the
some miscellaneous settings such as image file sorting or display.

ODE Menu Settings :
 - Reset to Root : when enabled, always start browsing the disc image selection
                   menu from the root folder.
                   when disabled, automatically select the previously-loaded
                   disc image.
 - Game Info     : when enabled, show game game region, release date etc at the
                   bottom of the screen.
                   when disabled, disc image selection menu is a bit taller.
                   Not available on Fenrir ODE.
 - Game Title    : select how disc images should be named.
    Titles can be derived from the folder name or disc image header.
    Only available on Satiator ODE.
 - Name Prettify : force lowercase of letters inside a word.
    This is useful for displaying list containing titles directly from image
    header, since theses are written only with CAPS letters.
    If your images list was hand-modifed during rmenu iso generation, then this
    setting should be set to OFF. 
    Only available on Rhea/Phoebe ODE.
 - Image Sort    : select how to sort disc image list.
    List can be sorted by folder ID, or release date, or disc title.
    Not available on Fenrir ODE.
 - List Order    : select to display list in ascending or descending order.
 - Menu Type     : select between "monospace", "balanced" and "condensed" type
    to select how disc image list will be displayed.
    Monospace type displays disc image list with 8x8 pixels fixed font while
    condensed type uses variable width font, hence allowing more information
    to be displayed on screen. In addition of using variable width font too, 
    balanced type show an extra blank line between each menu items so that
    is a bit smoother than condensed type.
    In order to get vertically aligned all characters, then monospace type is
    the recommended choice, else balanced type may be preferred.
 - Text Justify  : select to display image titles left-justfied or centered.

Display Settings :
 - Starfield FX  : toggle display of starfield in the background.
 - Color Theme   : select the global color theme.
 - Cursor Color  : select the global cursor color.
 - Menu Font     : select the global menu font.

Extra Features :
 - Save Data Manager   : load save data manager utility.
 - Load Rmenu          : load rmenu utility for Rhea/Phoebe ODEs.
    This loads the image stored in the first folder of SD card for Rhea/Phoebe.
 - Start Official Menu : load menu utility for Fenrir ODE.
 - Compatibility Report : enable compatibility reporter and load previously
    selected image.
    Note : this is available only when a cartridge with supported SD card
           interface (example : Gamer's Cartridge) is detected.
    Note : it is also possible to enable compatibility reporter from image
           selection menu by to pushing Z button (manual setting) and then
           Y button (enable compatibility report).



14. F.A.Q.
==========================================
Q1. I want XYZ feature for ABC hardware implemented right now !!!
A1. No problem : sources are available in SRC folder of flasher utility
    CDROM, so please get the things done by yourself.
    You may prefer Pseudo Saturn sources as a simple starting point since theses
    can be compiled easily with CMake.
    Pseudo Saturn Repository : https://github.com/cyberwarriorx/pseudosaturn

Q2. I would like to report a bug/improvement/feature request/whatever ... what
    should I do ?
A2. Please send me (cafe-alpha) *DETAILED* informations about what you would
    like to be improved/modified/etc.
    Pictures explaining what you want to do are welcome.
    Please note that Pseudo Saturn Kai is a homebrew application made on
    my (cafe-alpha) free time and good mood, so I don't guarantee anything
    about past and future bug fixes, feature requests, releases, etc.

Q3. Can you fix a non-working cheat code and/or adding a specific cheat code
    for my favorite game ?
A3. This depends on my free time and motivation, and because of limited flash
    ROM size, there is a limitation regarding quantity of cheat codes that can
    be added to Pseudo Saturn Kai too.
    Whatever it may be, please report bugs or requests on Segaxtreme forums, 
    which is more convenient than directly contacting me.
    -> https://segaxtreme.net/threads/pseudo-saturn-kai-official-thread.24037/

Q4. Are there online resources about Pseudo Saturn Kai ?
A4. Yes. Please check there for latest version from official page :
     - http://ppcenter.free.fr/pskai/
    Game compatibility list :
     - http://ppcenter.free.fr/pskai/compat/
    Thread on Segaxtreme forums. Please use it for feature requests, 
    bug reports, or game incompatibility reports.
     - https://segaxtreme.net/threads/pseudo-saturn-kai-official-thread.24037/
    I prefer thread rather than email when dealing about requests, bugs
    or reports, since it sometimes requires everybody's point of view
    in order to be solved.
    I also use this thread in order to write latest informations about
    development and F.A.Q., instructions, etc.

Q5. I made some changes to the firmware sources. Do you have some github, 
    SVN, or anything else collaborative thing so that I can contribute
    to your sources ?
A5. I don't have plans to do collaborative development regarding Pseudo Saturn
    Kai, because this won't longer be a funny project when several people
    would be deciding about deadlines, development goals, etc.
    So if you want to push your changes into my sources, please contact me from
    the link below, and I may gladly update my sources with your changes.
    Contact page : http://ppcenter.free.fr/contact/
    Please however note that it doesn't guarantee your changes will be merged :
    I may decide to discard them (if not relevant, or not working, etc), or
    simply won't do it because of being busy with other things.

Q6. "Firmware verification error" is displayed when trying to install
    Pseudo Saturn Kai ! What should I do ?
A6. First, please take a deep breath, and *DON'T* reset your Saturn, because
    at that time cartridge is potentially bricked, hence may not boot correctly
    after that.
    Instead, it is better to push Start button, and then select 
    "Restart Flasher" menu item.
    Then, adjusting cartridge position in its slot (for example, lifting it by
    less than 1mm while verifying that cartridge IDs displayed on screen are
    correct) and retrying flashing operation will give a second chance to your
    cartridge.
    There's no guarantee it can fix installation on your cartridge : if problems
    comes from dying flash chips, then reflashing them won't help a lot.
    And please install Pseudo Saturn Kai at your own risks !

Q7. Flasher utility froze in the middle of operation ! What should I do ?
    Alternate version : there was a power blackout (or the cat felt on my
    Saturn etc) just at the moment I tried to flash Pseudo Saturn Kai !
A7. Even if flash ROM is corrupted, there are some (limited) chance of Pseudo
    Saturn Kai to boot anyway.
    So if you're lucky then it's possible to use your cartridge as-is to boot
    flasher utility and properly re-flash it with Pseudo Saturn Kai.
    In the case Pseudo Saturn Kai doesn't shows up, it is then required to
    boot Pseudo Saturn Kai flasher utility by using swap trick (or any other
    way to run Saturn application from CD-R, such as modchip or ODE) and then
    re-flash the cartridge.
    Additionally, full version of Pseudo Saturn Kai features a minimalistic
    Pseudo Saturn loader that is run when flash ROM appears to be corrupted, 
    which allows to run flasher utility without having to use swap trick.
    DISCLAIMER : I'm doing my best to prevent cartridge from being bricked and
        to reduce usage of swap trick in the case a problem happens.
        That however doesn't means that flashing a cartridge is a 100% safe
        operation, so please install Pseudo Saturn Kai at your own risks !

Q8. Can I install Pseudo Saturn Kai on official memory cartridge ?
A8. No : only boot cartridges (Action Replay, Memory Card Plus, Game Shark,
    and their clones) are compatible with Pseudo Saturn.
    Official memory cartridges have their ROM located at a different location, 
    and consequently don't allow to boot any firmware.



15. Flasher utility testing status
==========================================
Following users could successfully upgrade their Action Replay cartridges with
specified vendor/device IDs. Thanks to them for the help in testing !

 - cafe-alpha        : BFBF/0707 SST29EE010 (Flasher v3.745)
 - TabajaraLabs      : 0101/2020 AM29F010 (Flasher v3.745)
 - A Murder of Crows : 53BF/4707 counterfeit+SST29EE010 chips ? (Flasher v3.746)
 - nastyvandal       : 5345/4741 SST29EE010 counterfeit ? (Flasher v3.746)
 - SaturnAR          : BFBF/1010 SST29EE020 (Flasher v3.751)
 - Zorlon            : BFBF/1010 SST29EE020 (Flasher v3.751)
 - A Murder of Crows : 0101/2020 AM29F010 (Flasher v3.747)
 - A Murder of Crows : 1F1F/D5D5 AT29C010 (3.751)
 - cafe-alpha        : BFBF/0808 SST29LE010 (GameShark) (Flasher v3.750)
 - Sonic Dreamcaster : 1F1F/D5D5 AT29C010 (Flasher v3.751)
 - SaturnAR          : 53BF/4707 SST29EE010 (Flasher v3.751)

Please note that it doesn't guarantee firmware upgrade will work without problem
on your cartridge.

PLEASE FLASH YOUR CARTRIDGE AT YOUR OWN RISKS !



16. Special Thanks
==========================================
Note : the complete credits are available in Pseudo Saturn Kai and
Save Data Manager applications : the list below is just an excerpt from there.

In alphabetical order :
 - antime
 - azerty83
 - Charles MacDonald
 - CyberWarriorX
 - Darius-sensei
 - ExCyber
 - hitomi2500
 - Mic
 - Piratero
 - privateye
 - Rockin'-B
 - SaturnAR
 - Shazz
 - Stac
 - TabajaraLabs
 - TyRaNiD
 - vbt

And extra special thanks to :
 - Pseudo Saturn Team
 - Yabause Team
 - SegaXtreme Forums
 - SEGA



17. Disclaimer
==========================================
I'm not responsible to the damages that may occur to your PC, your
Saturn, your data, your SD card(s), your CD-Rs, your dog, and whatever else.
Please do everything at your own risks !
If you don't know how it works, please read the documentation.
And if the documentation ins't detailled enough, then read the sources !

Pseudo Saturn Kai currently supports a wide variety of cartridges or other mods
for Saturn, but there's NO WARRANTY support will be added for any kind of
cartridges or other mods not listed in this document.
So please refer to supported devices list at the top of document and verify that
your cartridges or other mods is(are) supported before considering installation
of Pseudo Saturn Kai.
Also, there's NO WARRANTY of compatibility with cartridges or other mods after
updating their firmwares : if something broke compatibility, then it may be
fixed in a future release ... or not.



18. Changelog
==========================================
Remark about version number : it is not related with original Pseudo Saturn
version number.
Pseudo Saturn Kai version number was initially incremented by 0.001 on each
successful build, and after version 6.000, it was decided to increment only
when rebuilding whole firmware (hence keeping same version number after partial
recompilation) in order to keep version number fitting into 4 digits.

18a. Digest changelog - for busy people
------------------------------------------
Pseudo Saturn Kai 6.545 - January 2024 :
 - Added disc image selection support for Satiator ODE.
    Supported features : region unlock, cheat codes, in-game reset.
 - Added ability to boot game from CDROM drive when Satiator ODE is installed.
    (Both original CDROM and game copied on CD-R are supported)
 - Added virtual nested folder support for Rhea/Phoebe ODE.
 - Improved Fenrir Save Data Manager.
    -> Speed of save data export to Fenrir ODE increased by up to 50%.
    -> Now on par with official loader in Fenrir firmware 2022/02/15 and above.
 - Fixed support for some disc image file formats in Fenrir Loader Kai.
 - Improved color theme feature.
    -> New color themes.
    -> New cursor colors.
    -> Applies to all menus in Pseudo Saturn Kai and Save Data Manager.
 - Improved support for Prisoner of Ice, SimCity 2000, and Valhollian.
    (These games couldn't save their 460/461 block save files because of Pseudo
     Saturn Kai settings being stored there too)
 - Added Per-Game Saves feature for Gamer's Cartridge and Satiator ODE.
    (Automatically import save data from SD card to internal memory when loading
     a game and export save data from internal memory back to SD card when
     returning to Pseudo Saturn Kai)
    -> Prevent from flooding Saturn backup memory after playing several games.
 - Added support for Megadrive 3 buttons and 6 buttons controllers.
    (The support concerns Pseudo Saturn Kai only : games still require patching
     with third-party utility in order to support Megadrive controllers)
 - Added Save Data Recover tool in Save Data Manager.
    -> Recover accidentally deleted save(s).
    (Supports only Saturn internal backup memory right now)
 - Added SD card format feature for Gamer's Cartridge.
 - Critical fix of Saturn internal backup memory handling by Gamer's Cartridge.
    -> Please update the firmware of your Gamer's Cartridge.
 - Critical fix of Save Data Manager not loading from CD-R.
 - Major addition of pre-recorded save files in Save Data Manager.
 - Major addition and fixes in built-in cheat codes list.
 - Compatibility fixes for a few games including 3D Lemmings, Congo the Movie, 
   Krazy Ivan, The Hyper Golf, and Valora Valley Golf.
 - Many minor fixes and improvements in Pseudo Saturn Kai and Save Data Manager.

Pseudo Saturn Kai 6.483 - November 2021 :
 - Added support for latest Fenrir API.
    (Recommended firmware version for Fenrir ODE is 2021/07/02)
 - More stable game loading for Fenrir ODE.
 - Added nested folders support in disc image selection menu for Fenrir ODE.
 - More display settings in disc image selection menu.
 - Added support for Satiator ODE in Save Data Manager.
 - Fixed JHL loader to work correctly with grey Japanese Saturn on BIOS v1.00.
    Special thanks to jhl (Prof. Abrasive) for investigating about it !
 - Fixed software reset to make working games relying on uninitialized VDP1 RAM.
    -> Major graphical issues fixed in Croc (JPN and bug-fixed USA versions) and
       Slam 'n Jam '96.
    -> Minor graphical issues fixed in MechWarrior 2, Need for Speed, and
       Space Hulk.
 - Added and tested Commslink I/O check in Pseudo Saturn Kai, Save Data Manager
   and RmenuKai/Fenrir Loader Kai utilities.
    -> No need to flash cartridge to get link between Saturn and PC : Save Data
       Manager is enough for that.
    -> No longer need to manually set EMS/Datel link type : it is now
       automatically detected.
 - Many minor fixes and improvements in Save Data Manager.
 - Added ability to erase cartridge ROM in Firmware Flasher utility.

Pseudo Saturn Kai 6.437 - May 2021 :
 - Added Fenrir ODE support into Save Data Manager.
   -> Can now easily export or import saves without the need of other device.
 - Added SaveRepack utility, which eases distribution of save data files.
   -> Minimal requirement is a modchip or Pseudo Saturn cartridge : no need of
      extra hardware like USB Data Link or ODE to import save data files !
 - Several new pre-recorded saves added into Save Data Manager.

Pseudo Saturn Kai 6.411a - March 2021 :
 - Minor change to support firmware 20210207 for Fenrir ODE.

Pseudo Saturn Kai 6.408 - November 2020 :
 - Fenrir ODE support, featuring in-game reset and cheat codes integration etc.
 - Several updates around cheat codes and automatic loader lists.
 - Allow input of custom cheat codes from user.
 - Cosmetic improvements in several menus.
 - Added Balanced theme for Rhea/Phoebe and Fenrir disc image selection menus
 - Finally added proper soft reset support for RmenuKai.
 - Added an "Enable Cheats" option in main menu.
 - Fixed backup time stamp handling in Gamer's Cartridge.
 - Fixed backup date display in Save Data Manager.

Pseudo Saturn Kai 6.324 - December 2019 :
 - Minor (but many) improvements around cheat codes support.
 - Minor (but many) improvements around automatic game loader selection.
 - Official release of Dezaemon 2 Save Game Manager 4, featuring 11 new opus.

Pseudo Saturn Kai 6.314 - May 2019 :
 - Show error message when SD card is not inserted into Rhea/Phoebe ODE.
 - Added RmenuKai : enjoy cheat codes on Rhea/Phoebe even without cartridge !
 - Improved compatibility of JHL loader-only games with Rhea/Phoebe ODEs.
   (Panzer Dragoon Saga can now be correctly loaded from Rhea ODE)
 - Improvements in automatic selection of game in cheats codes feature.
 - Improvements regarding Virtual Memory Cartridge automatic settings.
 - Fixed support for some third party pads.

Pseudo Saturn Kai 6.274 - December 2018 :
 - Added automatic game loader.
 - Added cheat codes feature.
 - Added disc images menu for Rhea/Phoebe ODEs.
 - Added Dezaemon 2 Save Game Manager 3.
 - Added a stylish logo for Pseudo Saturn Kai.
 - Added in-game connectivity for USB dev cart.
 - Added Virtual Memory Cartridge support via USB dev cart.
 - Fixed support for 3D pad.

Pseudo Saturn Kai 6.074 - April 2017 :
 - Added soft reset patch feature.
 - Fixed Virtual Memory Cartridge support for saves on Saturn internal backup
   memory. This concerns few games with specific save data size.
 - Added FDD support to Virtual Memory Cartridge.

Pseudo Saturn Kai 6.037 - June 2016 :
 - Merged both loader from version 0.831 and 0.832 into a single firmware.
 - Virtual Memory Cartridge support (first public version)

Pseudo Saturn 0.832 - November 2014 :
 - Improvements in game loader, making games not incompatible with
   version 0.831 playing correctly.
   IMPORTANT : don't work *at all* on some Saturn hardware revision.
               don't install unless you know what you're doing !

Pseudo Saturn 0.831 - August 2014 :
 - Additional exploit removing the need of pseudo patch.
   Some few games don't play correctly.

Pseudo Saturn 0.830 - July 2014 :
 - First public version.
   All games require to be pseudo pached.


18b. Full changelog - for curious people
------------------------------------------

2024/01/14 (Pseudo Saturn Kai, v6.545, RC6) :
 - Fixed virtual folders not being listed in RmenuKai.
   (This was caused by a regression introduced in previous build)
 - In custom background image selection feature, fixed long file name being
   displayed outside of valid display area.

2024/01/13 (Pseudo Saturn Kai, v6.543, RC5) :
 - Cheat codes list update : speed improvement in smooth camera rotation codes
   for Burning Rangers and NiGHTS into Dreams. Added ultimate hack for
   Castlevania: Symphony of the Night. Cosmetic change in cheat codes list for
   Sonic 3D Blast/Flickies' Island.
 - In disc image selection menu, fixed alphabetical sort not working correctly
   under some conditions.
 - Minor code improvement in folder listing of disc image selection menu.
   (Speed is maybe improved, but that's probably not noticeable)
 - Minor update in readme files of some pre-recorded saves.
 - In Satiator Menu Kai, fixed the support of disc image files in iso/wav/cue
   format when data chunk of wave file was preceded by an unsupported chunk.
 - In Fenrir Loader Kai, added automatic loading of disc image files in
   iso/wav/cue format when iso file name and cue sheet file name are different.
 - In Fenrir Loader Kai, added automatic loading of disc image files in 
   ccd/cue/img/sub format.

2024/01/05 (Pseudo Saturn Kai, v6.542, RC4) :
 - Fixed some folders not being listed in Satiator Menu Kai.

2023/12/31 (Pseudo Saturn Kai, v6.541, RC3) :
 - Minor update in several readme files.
 - Cheat codes list extra update regarding Burning Rangers.

2023/12/30 (Pseudo Saturn Kai, v6.540, RC2) :
 - Major update in various readme files.
 - Cheat codes list update regarding Burning Rangers, original and Christmas
   versions of NiGHTS into Dreams, Clockwork Knight 2, Virtual On and Shinobi X.
   Many thanks to Bo Bayles for discovering some new codes and privateye for
   gathering, testing and doing all the maintenance regarding cheat codes !
 - Fixed system reset not working after formatting Gamer's Cartridge SD card
   on a Saturn equipped with Fenrir ODE.
 - Made automatic boot disabled by default on first usage of Pseudo Saturn Kai.
   Reason : some wireless pads require some time to be paired with the receiver
            on Saturn side, and that time may be a bit longer than the time
            until Pseudo Saturn Kai automatically boots the game.

2023/12/26 (Pseudo Saturn Kai, v6.539, RC1) :
 - In per-game saves feature, removed Hyper Duel entry that was used to test the
   support games that uses large saves.

2023/12/25 (Pseudo Saturn Kai, v6.538) :
 - Cheat codes list update.
 - Additional fix of per-game saves feature to correctly handle the copy of save
   from SD card when a game that use saves almost as large as Saturn internal
   backup memory is about to be loaded.
 - In the following functions of Save Data Manager, disable "Always" option from
   save overwrite confirmation menu when only one save is selected :
    - Save data copy/move
    - Save data import
    - Save data recovery
 - Fixed missing character of BIOS version displayed in Pseudo Saturn Kai status
   bar when Gamer's Cartridge is not available.
 - Added troubleshooting text when ISO file is not found during the loading of
   a disc image for Satiator ODE.
 - Cosmetic change in first menu of Save Data Export feature.

2023/12/22 (Pseudo Saturn Kai, v6.537) :
 - Cheat codes list update for "Play as Tails" code in Sonic Jam.
 - In-depth code review of per-game saves feature so that games that use saves
   almost as large as Saturn internal backup memory should be supported now.
 - In Save Data Manager, fixed save data move that was deleting source save
   even in the case overwrite confirmation was denied.

2023/12/17 (Pseudo Saturn Kai, v6.536) :
 - Cheat codes list update.
 - In Satiator Menu Kai, prevent from canceling "Cheat Codes Unavailable" menu
   and cheat codes game selection menu.
   Reason : at that time of the execution, Satiator is emulating the disc image
            and consequently it's not possible to return back to API mode.
 - Fixed small delay happening in game loading sequence.
   (It was happening because Pseudo Saturn Kai was considering that disclaimer
    was being displayed and consequently was taking time to clear it after that)
 - In Satiator Menu Kai, improved display when automatic boot is enabled.
 - In Save Data Manager, additional fix of initial selection of overwrite
   confirmation menu being set to "No" after cancelling that menu.
 - In Save Data Manager, added hiding of menu.bin (Satiator menu utility) file
   in Load Homebrew feature.
 - Allow SD card self test even even when SD card file system is not recognized
   by Pseudo Saturn Kai.
 - Minor improvements in cartridge self test feature.
 - In per-game saves feature, additional (final ?) fix regarding support of
   games that use saves almost as large as Saturn internal backup memory.
 - In per-game saves feature, temporary addition of a game (Hyper Duel) that use
   reasonably sized saves in the list of games that uses large saves.
   (That's for testing purpose and will be removed in next build)
 - Hide Pseudo Saturn Kai settings (SETTINGS.DAT) from file browsing dialogs.
 - Fixed help not being cleared after canceling cluster size selection menu.

2023/12/07 (Pseudo Saturn Kai, v6.535) :
 - Cheat codes list update.
 - Updated Saturn FDD game compatibility table.
 - Fixed cheat codes selection menu being not correctly displayed after
   returning back from custom cheat codes input screen.
    This bug was happening only when going to custom cheat codes input screen
    from game selection menu and when that game had greyed-out cheats (typically
    used as category title) which is why it wasn't noticed until now.
 - Hide Satiator menu utility file (menu.bin) from file browsing dialogs.
   (Until now, opening this file from Save Data Import was displaying an error.
    As it is no longer being displayed, this error can no longer be triggered)
 - Cosmetic changes in error screen displayed when trying to load a physical
   CD-ROM with JHL loader when Satiator is installed.
 - Added ability to do a system reset from the error screen above.
 - Cosmetic improvement of countdown when automatic boot feature is used and no
   ODE is installed.
 - Prevent from returning to parent menu after loading a physical CD-ROM with
   Satiator ODE installed.
 - Minor cosmetic improvement in SD card format screen.
 - In SD card format menu, set recommended cluster size to 4KB when SD card is
   accessed via Gamer's Cartridge.
 - Added smooth fade-out of Pseudo Saturn Kai disclaimer in the case it that
   fade-out is done after exiting from main menu or boot selection menu.
 - Added (but not tested) hardware version support for Fenrir Duo.
 - In per-game saves feature, fixed the deletion of Pseudo Saturn Kai related
   saves when importing the saves of a game that uses saves almost as large as
   Saturn internal backup memory.
 - Cosmetic improvement of confirmation screen displayed when the game about to
   be loaded requires deletion of Pseudo Saturn Kai settings to run correctly.
 - In several error screens of Save Data Manager, fixed display of file path
   that was going outside of display boundaries when some conditions were met.
 - In Save Data Manager, added display of progress bar when exporting saves to
   individual files.
   (So far the progress was displayed by changing the color of save name but as
    this was this was restricted to 30 saves, display of progress bar is added)
 - In Save Data Manager, fixed initial selection of overwrite confirmation menu
   being set to "No" after cancelling that menu.

2023/10/30 (Pseudo Saturn Kai, v6.534) :
 - Visual improvement of disclaimer message in both full and lite firmwares.
 - Added ability to discard aberrant latency results from Satiator ODE.
   (Temporary solution that may become permanent if readout of latency results
    from Satiator ODE can't be fixed)
 - Fixed SD card latency display not being cleared when repeating the benchmark.
 - In lite firmware, restored back warning screen regarding games requiring
   deletion of Pseudo Saturn Kai settings to run correctly.
   (*) In previous beta build, as lite firmware doesn't uses per-game saves
       feature (which provides the warning screen above), I removed it to save
       space in cartridge ROM ... to then receive a kind reminder from privateye
       that this screen is displayed even when per-game saves feature is not
       enabled or not implemented ^^;
 - Added progress bar display during SD card format by Gamer's Cartridge.
   Reason : because with large SD card or small cluster size the format
            operation may take several minutes to terminate, it is necessary to
            show to user that format operation is in progress.
 - When using Gamer's Cartridge or Satiator, fixed disc image selection menu
   sometimes not selecting first image in list after a format of Saturn internal
   backup memory.
 - In per-game saves feature, fixed the deletion of Pseudo Saturn Kai related
   saves when a game that uses saves almost as large as internal backup memory
   is about to be loaded.
 - Minor cosmetic fix in yes/no confirmation menu.
 - Minor cosmetic fix in SDM save recovery feature.
 - Added display of debug information in error screen displayed when a valid
   partition couldn't be detected on SD card.
 - Fixed acquisition of Saturn system language from SMPC.
    -> With SDM default export parameters, saves should be exported in SSF
       format only when Saturn system language is set to Japanese.
 - Slighly improved system language acquisition test (in hidden menu of SDM) by
   textually displaying name of detected language.
 - Fixed Save Data Manager not booting correctly when SDM CD-R was loaded by
   using Pseudo Saturn Kai lite.
 - Added the display of a message explaining that games copied on CD-R can't be
   loaded correctly when a Satiator ODE is installed.
   (I don't why CWX loader is working but not JHL loader. Sorry.)

2023/08/15 (Pseudo Saturn Kai, v6.533) :
 - Update of the built-in master cheat code for Baroque game.
 - Another experimental fix of JHL loader not working when loading a physical
   CD-ROM from Satiator Menu Kai.
 - Removed superfluous per-game saves related code from lite firmware.
   (This saves around 1.2 KB on cartridge ROM)
 - Fixed per-game saves features not working correctly with JHL loader and games
   using nearly all space of Saturn internal backup memory.
 - Cosmetic fix of yes/no menu help message used here and there in Pseudo Saturn
   Kai as well as Save Data Manager.
 - Added back omake voxel demo in lite firmware.
   (It takes around 2KB of cartridge ROM, but can be removed easily when needed)
 - Fixed per-game saves settings file not being written to SD card when slot
   other than first one is selected.
 - In per-game saves feature, cosmetic fix of memory usage of the saves in
   each slots when usage is lower than 1% of internal backup memory capacity.
 - Added ability to dump Satiator SD card access latency results to SD card.
   (Debug feature, this will be removed soon)
 - In Save Data Manager, added ability to dump saves in SSF format when system
   language is set to Japanese and Satiator ODE is used.
   (This is the default behavior, it is possibly to manually enable export in
    SSF format by tuning the pskai.ini settings file)
 - In Save Data Manager, added a debug feature to test acquisition of system
   language from SMPC.
 - Fixed save data export to Fenrir ODE being broken because of "ExportPathType"
   setting added in a previous beta build of Save Data Manager.

2023/08/06 (Pseudo Saturn Kai, v6.532) :
 - Source code cleanup regarding in-game reset of a game played from real CD-ROM
   when Satiator ODE is used. (Sub-version `a' from previous beta build is used)

2023/08/05 (Pseudo Saturn Kai, v6.531) :
 - More experimentations regarding in-game reset of a game played from real
   CD-ROM when Satiator ODE is used.
    - Sub-version `a' : no in-game reset patch, like "Multiplayer" setting.
    - Sub-version `b' : in-game reset patch that may go to multiplayer screen.

2023/08/03 (Pseudo Saturn Kai, v6.530) :
 - Experimental support for return to disc image selection menu for Satiator
   when doing an in-game reset of a game played from real CD-ROM.
 - Fix regarding some SD cards not being formatted at the expecting capacity.

2023/08/03 (Pseudo Saturn Kai, v6.529) :
 - Turned off the SD card registers dump feature added in previous beta build.

2023/08/03 (Pseudo Saturn Kai, v6.528) :
 - Fixed display of operation selection menu when Saturn internal backup memory
   was cleared and Satiator ODE is available.
 - Fixed default cursor setting for pink and pinker color themes.
 - Reverted appearance of status displayed under full firmware's main menu to
   the same colors as in v6.523.
   (Reason : this status display needs its own color added in colors settings
    to be visually acceptable)
 - Prevent to cancel cheat codes selection when loading game from CD-R and
   Satiator ODE is used.
   (Reason : similarly to Rhea/Phoebe and Fenrir ODEs, the ability to cancel
    cheat codes selection causes interaction problems with ODEs)
 - Minor cosmetic improvements in the title and help message of several menus.
 - In SD card format feature, changed default cluster size to 4KB when a Gamer's
   Cartridge is used.
 - In extra settings menu, made SD card format feature available without the
   need of a secret combo key.
   (Why ? Because confirmation of SD card format is now prompted enough to be
    sure that the user wants to do that)
 - Changed display of SD card capacity from 3 to 2 decimal points.
 - Added several cosmetic improvement in system information display screen.
 - Cosmetic improvement in Satiator extra settings menu.
 - In Per-Game Saves feature, fixed display of saves folder capacity when it is
   lower than 1% of Saturn internal backup memory capacity.
 - Experimental fix of Pseudo Saturn Kai saves not being deleted when using
   Per-Game Saves feature on a game using saves almost as large as Saturn
   internal backup memory.
 - Cosmetic fix of Satiator SD card latency measurement feature.
 - Fixed SD card format confirmation being mistakenly confirmed with B button.
 - Show disclaimer screen in startup menu of Pseudo Saturn Kai lite firmware.
   Additionally, the display transition between disclaimer and logo (happening
   when a key is pressed from Pseudo Saturn Kai main menu) is now a bit classy.
 - Added flash ROM vendor/device IDs check in cartridge self-test feature.
 - Minor fix in cartridge self-test feature when "Test ROM only" is selected.
 - In SDM, changed default save data export format when Gamer's Cartridge is
   used from "BUP format only" to "BUP+SSF formats when Saturn language is set
   to Japanese".
   Reason : writing the same save in two files on Gamer's Cartridge takes time, 
            but SSF is a popular emulator among Japanese users.
 - Fixed Per-Game Saves feature copying Pseudo Saturn Kai settings from SD card
   to internal backup memory whereas the game uses save data too large to allow
   these settings to fit into internal backup memory.
 - Added the ability to dump SD card registers, in order to investigate about SD
   card format feature not working correctly.

2023/06/10 (Pseudo Saturn Kai, v6.527) :
 - Cosmetic fix in restore menu of autodumped saves when using Satiator ODE.
 - Allow usage of Per-Game Saves feature even if the game uses files too large
   to be saved when Pseudo Saturn Kai settings are stored in Saturn internal
   backup memory.
    Before : Pseudo Saturn Kai settings prevented the saves of the following
             games to be stored :
              - Prisoner of Ice       - T-26112G (461 blocks)
              - SimCity 2000 (Europe) - MK-81580 (461 blocks)
              - SimCity 2000 (Japan)  - GS-9027
              - SimCity 2000 (USA)    - T-12601H
              - Valhollian            - T-38201G (460 blocks)
    Now : Pseudo Saturn Kai settings are stored on SD card so that the saves
          of the games above can be written in backup memory.
    PS : Special thanks to privateye for finding this problem and suggesting how
         to fix it ! 
 - Fixed cluster size selection of SD card format menu still being displayed
   during format operation.
 - Added an extra set of menus to really confirm the format of a SD card.
 - Fixed initial item selection of Pseudo Saturn Kai main menu after going
   through exit menu.
 - Fixed display settings not correctly read on SDM startup.
 - Cosmetic fix of custom cheat codes load/save menus.
 - In system information screen, display boot cartridge information when it is
   either unavailable of not Gamer's Cartridge.
   (Usage example : Fenrir Loader Kai installed on Action Replay cartridge)
 - Fixed background logo not fading when running Fenrir Loader Kai or RmenuKai
   from Action Replay cartridge.
 - Added "Pale Pink" cursor color.
 - Minor changes in Pink and Pinker color themes.

2023/05/30 (Pseudo Saturn Kai, v6.526) :
 - Update of the built-in cheat codes for the following games :
    - Doom - EUR/JPN/USA
    - Mr. Bones
    - Thunder Force Gold Pack 1 and 2
 - Experimental fix of Satiator SD card max latency being reported at 65 msec.
 - Experimental fix of JHL loader not working when loading a physical CD-ROM
   from Satiator Menu Kai.
 - Display names starting with an underscore at the top of file browser list.
 - Cosmetic change in save data device selection menu.

2023/05/25 (Pseudo Saturn Kai, v6.525) :
 - In Satiator Menu Kai, added ability to measure SD card access latency.
 - Disabled Satiator diagnostic menu.

2023/05/21 (Pseudo Saturn Kai, v6.524) :
 - Added ability to load Satiator Save Data Manager when autodump feature
   detected a detetion of internal backup memory and that some saves can be
   restored from Satiator SD card.
 - Cosmetic improvements and fixes in restore menu of autodumped saves.
 - Small update of autoset list.
 - Added C30B in preset of custom cheat codes input screen.
 - Added ability to select cluster size to use when doing SD card format.
 - In System Informations and cartridge selftest screens, show SD card capacity
   in "1.234 GB" format.
   (Previous beta build was displaying that without decimal values)
 - Added ability to disable firmware version check before displaying Satiator
   Menu Kai. (This allows to use old Satiator firmware, but at your own risks)
 - Fixed loading of physical CD-ROM from Satiator Menu Kai.
   (Tested only with Sonic 3D game, so maybe extra adjustements are required)
 - Added ability to enable cheat codes (with X button) when loading a physical
   CD-ROM from Satiator Menu Kai.
 - Added ability to manually select loader (with Z button) when loading a
   physical CD-ROM from Satiator Menu Kai.
 - Cosmetic changes in slot selection of Per-Game Saves feature.
 - In Per-Game Saves feature, sanitize game product number (used to name the
   folder where saves are stored) by removing everything after a space character
   is found.
   Reason : workaround for Linkle Liver Story, whose P/N is "GS-9055 V1".
 - Minor fixes in automatically dumped saves restore menu.
   (In previous beta build, information message wasn't cleared before loading
    Save Data Manager or before continuing to Pseudo Saturn Kai main menu)
 - Cosmetic improvement of system status displayed under main menu of full FW.
   (Colors used there now adapt according to color theme in use)
 - Experimental workaround to prevent from displaying garbage pixels when
   entering a folder (or returning to parent folder) in Fenrir Loader Kai.
 - Fixed display color when an item is both selected and highlighted.
   (Example : cheat codes selection, selection of saves to restore etc)
 - Cosmetic change of colors in warning screen in Fenrir ODE BIOS dump feature.
 - Cosmetic change of colors in warning screen of save data restore feature.

2023/04/16 (Pseudo Saturn Kai, v6.523) :
 - In cartridge self test feature, added ability to do a quick test of only
   cartridge RAM and ROM.
 - Fixed cheat `D' (enable) code not restored back when being read from Saturn
   internal backup memory.
 - Fixed (but not tested) computation of SD card capacity.
 - Display SD card capacity in System Information screen.
 - In System Information feature, added dump of informations related to SD card.
   (Example : sectors count, file system information etc)
 - Added some support for cartridge featuring both SD card and USB connectivity.
 - Fixed pad handling in "SD card/RomFs init error" error screens.
 - Added ability to format SD card when Pseudo Saturn Kai couldn't access it.
    -> This can be done from "SD card init error" screen, by pushing the weird
       "ABC+UP" keys combo. This is not available from other menus in Pseudo
       Saturn Kai in order to avoid accidental format of the SD card.
       (Spoiler : in fact, this is also available from Pseudo Saturn Kai extra
        menu but requires a key combo to be accessed)
 - In Satiator Menu Kai, added ability to load game from CD-ROM drive.
   This requires to insert the CD-ROM after disc image selection menu is
   displayed; if CD-ROM is set before powering on the Saturn then the game will
   take boot priority over Satiator Menu Kai.
   Note : this is not tested at all. It may work or not.
 - Fixed Per-Game Saves feature not correctly displaying the size of each slots.
 - Minor improvement in cartridge self-test feature.
 - Cosmetic improvements in SDM save recovery feature.
 - Cosmetic improvements in SDM Commslink Transfer screen.
 - Added ability to restore automatically dumped saves in one operation.
   (Until this build, user was prompted to manually restore their saves by using
    Save Data Manager. Now, it is possible to either load SDM or letting Pseudo
    Saturn Kai to restore the saves)
   Note : Autodump feature keeps a track of all the saves including deleted ones
          and this improvement restore only the saves that were detected during
          last autodump operation.
          However, all saves will be restored if last autodump operation was
          done with an old version of Pseudo Saturn Kai such as v6.483.
 - In per-game save feature, made possible to remember last selected slot ID
   independently for each games.
   (This information is stored in PSEUDO.TXT files located in folders named
    according to game product ID)
 - Fixed unwanted reset of per-game save setting when changing display settings
   from Save Data Manager.
 - Cosmetic improvement of save size display in Save Data Manager.
 - In Save Data Manager, added ability to remember last selected item in each
   pages of main menu.
 - In all menus, display text of highlighted items in black color.
   Why ? Because so far text color of normal item was displayed and this was
   making text unreadable when some color/cursor color theme was used.
 - Added Action Replay cartridge flasher utility for Satiator Menu Kai.
   (Firmware itself is empty right now. Virtual Memory cartridge feature for
    Satiator still have to be implemented)

2023/02/04 (Pseudo Saturn Kai, v6.522) :
 - Fixed color tester that was no longer abler to change any color.
   This was caused by a bugfix in v6.521 (regarding highlighting of memory
   blocks map in save recovery feature) that fixing more things than necessary.
 - (Not sure, but maybe) fixed Save Data Manager not starting correctly when
   being used from Satiator Menu Kai.
 - Fixed L+R keys combo that was loading current disc image when game
   information wasn't available.
   Now, it show ODE settings menu or display menu instead.
     - Rhea/Phoebe or Fenrir : L+R now shows settings or display menu
     - Satiator              : L+R shows game information screen
 - Changed name of backup folder in per-game save feature.
     - Before : /SAVES/BACKUP
     - Now    : /SAVES/_BACKUP
    Reason : prevent to list this reserved folder among regular folders.
 - Improved explanation screen and help messages of per-game save feature.
 - Fixed automatic disable of per-game save feature when used with Satiator ODE.
 - Added ability to select soft reset type (fast but incompatible with some
   games or slow but safe) from ini settings file when Satiator ODE is used.
 - Minor cosmetic changes Save Data Manager sub menus.
 - Improved choice of colors to display blocks map of deleted saves in SDM save
   recovery feature.
 - Minor cosmetic changes in flasher's firmware list of Save Data Manager.
   (Same changes in standalone flasher utilities too)
 - Added some colors in omake voxel demo.
 - Added back cartridge self test feature, with some minor improvements.
    Note : this feature is limited to cartridges that use full firmware.
 - Added detection and execution of cartridge flasher utility when it was found
   in SD card and its version is more recent than the one installed.
    Note : flasher utility name have to be unchanged (pskai_flasher_full.iso) and
           copied in SD card root folder to be detected.

2023/01/27 (Pseudo Saturn Kai, v6.521) :
 - Fixed display of per-game save feature progress screen and slot selection
   menu when the feature is used without an ODE.
 - In addition of Save Game Manager, disable per-game save feature for other
   applications that manipulate save data :
     - Dezaemon Save Game Manager 1 and 2
     - Save Game Copier
     - Save Game Manager by Rockin'-B
 - Fixed minor spell mistakes in Pseudo Saturn Kai and Save Game Manager.
 - Cosmetic change regarding per-game save feature in Loader Setting menu.
 - When Satiator ODE is used, added ability to do a software reset (that returns
   to disc image selection menu) by pushing X+Y+Z buttons from any menu.
 - Fixed incorrect re-generation of disc image selection menu for Satiator when
   disc images with same name (but located in different folders) were available.
 - Improved time until display of slot selection menu for per-game save feature.
 - Cosmetic improvements around slot selection menu for per-game save feature.
 - Added display of an information screen after enabling per-game save feature.
   This screen allows to either move existing saves to a backup folder on SD
   card or keep everything as-is; both choices have their own pros and cons and
   consequently are at the discretion of the user.
 - Fixed a critical bug in virtual memory cartridge (used in Gamer's Cartridge)
   that was corrupting saves in Saturn internal backup memory when memory blocks
   were fragmented and trying to write a save whose block allocation spans over
   two blocks or more.
 - In SDM, added a fragmentation test bench in order to verify that the virtual
   memory cartridge bug detailed above is fixed.
 - In SDM, fixed display of save name even when they contain characters not
   compliant with SEGA standard, such as lower case characters or dot character.
 - Cosmetic fix in save data recovery feature.
 - In save data recovery feature, fixed highlight color not being correctly
   animated when cursor was set to a static color.
 - In display settings menu, automatically select cursor color when background
   color is changed. (Cursor color selection is still free, but recommended
   color is set according to background color when it is modified)

2023/01/15 (Pseudo Saturn Kai, v6.520) :
 - Renamed "Pseudo BRAM" feature into "Per-Game Saves".
 - In Loader Menu, added ability to select a slot where to store per-game saves.
 - In Per-Game saves features, added the display of an error message when not
   all saves could be copied from SD card to Saturn internal backup memory.
 - Added ability to manually select per-game saves slot before loading a game.
 - Minor changes of the cheat codes for the following games :
    - Burning Rangers (Prototype)
    - Touryuu Densetsu Elan Doree
    - Wachenroder
 - In Save Data Manager, fixed import and export of saves incorrectly named.
 - Fixed (but not tested ...) menu display routine in order to not display
   garbage pixels when some conditions are met.
 - Improved handling of saves not associated to a game when Per-Game Saves
   feature is enabled.
 - Initial addition of save data recovery feature.

2023/01/09 (Pseudo Saturn Kai, v6.519) :
 - Improvements and fixes of the cheat codes for the following games :
    - Christmas NiGHTS into Dreams - EUR/USA
    - Cyber Troopers Virtual On - USA
    - Dead or Alive
    - Die Hard Trilogy
    - Doom - EUR/JPN/USA
    - Dungeon Master Nexus
    - Fatal Fury 3: Road to the Final Victory
    - Fighters Megamix - JPN
    - Formula Karts: Special Edition
    - Jung Rhythm
    - Manx TT SuperBike - EUR
    - Pandemonium! - EUR/USA
    - Panzer Dragoon - EUR/USA
    - Quake - USA
    - Sega Rally Championship - EUR/JPN
    - Sega Touring Car Championship - USA
    - Sky Target - USA
    - Touge King the Spirits 2
    - Tomb Raider - EUR
    - Touryuu Densetsu Elan Doree
    - Virtua Cop 2 - USA
    - Virtua Fighter Kids - USA
    - Wachenroder
    - Wipeout 2097 - EUR
    - Wipeout XL - JPN
    - Zero Divide: The Final Conflict
 - Cosmetic update of autoset list.
 - Allow to refresh system information screen with L or R button, in order to
   check in real time the status of expansion RAM and backup memory cartridge.
 - In Pseudo BRAM feature, prevent from storing saves in a folder named with
   game region when Rhea/Phoebe or Fenrir ODE is used.
   Reason : in order to bypass region protection, these ODEs modify region code.

2023/01/04 (Pseudo Saturn Kai, v6.518) :
 - Small improvement and fixes of the cheat codes for the following games :
    - Christmas NiGHTS
    - Doom
 - In system information screen, added display of expansion RAM status and
   backup memory cartridge capacity.
    Note : this feature is not available in lite version of the firmware.
 - Allow the following system information to be saved to Satiator SD card :
    - VDP/SCU hardware version
    - Saturn BIOS
    - Expansion RAM status
    - Backup memory cartridge capacity
    - Gamer's Cartridge hardware information
    - Version of each modules installed on cartridge ROM
 - Save system information (listed above) to SD card in bitmap format.
 - Allow to enable Pseudo BRAM from "Loader Settings" menu -> "BRAM Mode".
    Note : this requires SETTINGS.DAT file to be saved to Satiator SD card.
 - Minor speed improvement when compressing data on Saturn side.
 - Compression improvement when packing main executable into cartridge ROM.
 - Significant update of autoset list.
 - Fixed automatic default selection of "Change Background Logo" after removing
   custom background logo.
 - Fixed help message of loader selection menu when an ODE is used.
 - In Pseudo BRAM feature, store game save according to game product number (as
   it was done in previous version) and also game region code.
   Example :
    - Scorcher (Europe) : MK-81214[E]
    - Scorcher (USA)    : MK-81214[UT]
   Reason : some games discard saves generated from a different region, which
            leads to the loss of save previously generated in the case the
            save name is the same from a region to another.
 - Added "Load Homebrew" item in Satiator Menu Kai main menu.
 - Allow to re-use data when cache was previously generated in the same folder.
   Example : in a folder with 100 disc images, the addition of one disc image
             now just requires the scan of this lastly added disc image to
             update the case. (So far, it required to scan the 101 folders)
 - Prevent from using Satiator Menu Kai when ODE firmware is older than v160.
   Reason : please use v160 before claiming that Satiator Menu Kai is broken.
 - In disc image selection menu, fixed a menu incorrectly cleared when toggling
   between "ODE Menu Settings" and "Display Settings".
 - In Save Data Manager, fixed garbage data displayed in save data delete menu.
   (This also concerned copy and move operation and happened only when certain
    conditions were met)
 - In SDM, fixed the display of saves named in a non-standard manner.

2022/12/11 (Pseudo Saturn Kai, v6.517) :
 - In Satiator Menu Kai, allow to load official menu utility only when being
   compiled in debug mode. (= This feature won't be available in public release)
   Reason : right now, this feature works ... only on emulator.
 - Fixed the small delay happening between "CD Block init ..." and Select Loader
   menu.
   This was caused by an extra (unnecessary) CD Block initialization that was
   done to allow/prevent return back to main menu from loader selection menu.
 - In Display Settings menu, grey-out "Delete Background Logo" item when
   firmware internal logo (that can't be deleted) is used.
 - In full firmware, removed logo set/reset features from extra menu.
   Reason : this is available in Display Settings menu.
            (Also, removing that saves around 500 bytes on cartridge ROM)
 - Updated game compatibility list with 3D Lemmings and Krazy Ivan.
 - Fixed Satiator Menu Kai incorrectly listing both a folder name and also the
   first disc image found inside.
   This was happening when listing the kind of folder below :
     1. game.iso
     2. game.cue
     3. anothergame.cue
   At step 3, Satiator Menu Kai was considering the folder containing one iso
   file and two cue files as containing several disc images (correct) and also
   containing only one disc image, which was causing the double listing.
 - Minor performance improvement when adding an entry to Satiator browse cache.
   (Before improvement, unnecessary was added and as a consequence cache data
    could poorly compress)
   (In typical case it's just the matter of few bytes, but it's improved anyway)
 - In Save Data Manager, improved display of saves whose name don't contain 11
   valid characters.
   In normal time, name contain 11 characters as required by SEGA standards, but
   some fews games (for example, Burning Rangers prototype) have their save name
   being irregularly set.
 - In Save Data Manager, fixed second operation of save data export not working
   correctly.
 - Added (but not tested) Pseudo BRAM feature.
 - Temporarily added a soft-reset test feature for Rhea/Phoebe/Fenrir ODEs.

2022/11/09 (Pseudo Saturn Kai, v6.516) :
 - Minor fix in cheat codes list.
 - Fixed another bug preventing correct return to parent menu from file browser.
 - Minor performance adjustment regarding Satiator browse cache.
 - Cosmetic improvement in Satiator Configuration menu.
 - Improved log display during the parsing of a cue file for Satiator ODE.
   (Display of log messages is now right-justified so that the display of long
    full path to bin/wav/etc files should differ from a line to another)
 - In Satiator Menu Kai, prevent from displaying redundant space characters when
   game title is extracted from game's IP header.
 - Improved soft reset patch when Satiator ODE is used.
    Before : A+B+C+Start shows Saturn boot animation then multiplayer then SEGA
             logo and finally Satiator Menu Kai.
    Now    : A+B+C+Start shows multiplayer then SEGA logo and finally
             Satiator Menu Kai. (= no longer need to wait for boot animation)
 - Prevent custom cheat codes feature from accessing files on Satiator SD card.
   Reason : it doesn't works right now.

2022/10/16 (Pseudo Saturn Kai, v6.515) :
 - Fixed a special (irregular) case preventing from returning back to main menu
   from loader selection menu.
   Condition : ODE set to Rhea/Phoebe but ODE itself not available.
               In that case, ODE detection failure makes displaying loader
               selection menu and ODE setting was preventing from returning to
               main menu.
 - Fixed a dumb bug regarding data management of Satiator browse cache.
 - Added exit to multiplayer item in Satiator debug menu.
 - Removed "Start Game & USB" feature.
    Reason   : as far I know, nobody use it.
    Interest : it saved 500 bytes on cartridge ROM side.

2022/10/15 (Pseudo Saturn Kai, v6.514) :
 - Added the ability to select between normal (safe) and experimental (buggy)
   loader for Satiator ODE.
   As this is an experimental feature, it requires an appropriate setting in
   pskai.ini file to be available.
 - Small improvement and fixes of the cheat codes for the following games :
    - Astra Superstars
    - Battle Monsters
 - Fixed cheat codes incorrectly entered for some (around 5) games.
 - Improved reading of pskai.ini file when both Gamer's Cartridge and Satiator
   are detected :
    - Gamer's Cartridge takes priority over Satiator. (same behavior as before)
    - If file not found on Gamer's Cartridge, then reading is tried on Satiator.
 - Changed Gamer's Cartridge LED display during Pseudo Saturn Kai startup :
    1. Until SEGA logo : both red and green ON
       (On some hardware variations, these LEDs may turn OFF by themselves
        before Saturn logo animation starts)
    2. On loader startup, Green LED ON and red LED OFF
        -> This status should last less than one second until Pseudo Saturn Kai
           executable is decompressed from cartridge ROM.
    3. Green LED OFF and red LED ON if cartridge ROM is corrupted
    4. Both green and red LEDs ON right before executing Pseudo Saturn Kai
        -> Then, both LEDs should turn OFF if SD card is initialized correctly.
 - Internal changes around Satiator Menu Kai browse cache.
    -> Current cache structure is not compatible with previous ones.
 - In Satiator Menu Kai setting menu, added the ability to delete browse cache.
 - Fixed generation of descriptor file for Satiator in the case cue sheet
   refers to wave audio files.
 - In disc image selection menu, moved background logo management feature from
   "Version Information" menu to "Display Settings" menu.
 - Fixed a bug preventing from returning back to parent menu from file browser
   when only one device is automatically selected by browser module.
 - In Fenrir Loader Kai, automatically select disc image file with cue extension
   when both files with cue and iso extension are found in a folder.
   Remark : this works only in the case when both file names without extension
            are identical.
 - Reduced flickering in Satiator Menu Kai disc image information screen.

2022/09/25 (Pseudo Saturn Kai, v6.513) :
 - Fixed custom logo incorrectly displayed after returning from credits page.
   (Even if enabled starfield wasn't displayed under some conditions)
 - Fixed Save Data Export no longer working under some conditions.
   A bug introduced in Load Homebrew improvement (v6.509) caused this problem.
 - In pskai.ini file, changed "Fast Export" setting into "Extra Export".
 - Improvement and fixes of the cheat codes for the following games :
    - Astra Superstars
    - Battle Garegga
    - Parodius Deluxe Pack - JPN
 - Re-display loader selection menu when ODE is used and this menu is cancelled.
 - Minor improvement regarding status display in disc image selection menu.

2022/09/21 (Pseudo Saturn Kai, v6.512) :
 - Minor performance improvement around Satiator Menu Kai browse cache.
 - Added workaround to allow usage of custom cheat codes with Satiator ODE.

2022/09/20 (Pseudo Saturn Kai, v6.511) :
 - In Dezaemon 2 Save Game Manager, fixed starfield effect being displayed in
   screenshot screen even if it was disabled in Pseudo Saturn Kai display menu.
 - Improved system reset when Satiator ODE is used.
 - Fixed (a little more) generation of descriptor file for Satiator.
 - On startup, prevent from saving unwanted log file to Satiator SD card.
 - Initial addition of browse cache mechanism for Satiator Menu Kai.
 - Tuned (even more) wait time until Fenrir is prepared to load a disc image.

2022/09/17 (Pseudo Saturn Kai, v6.510) :
 - Prevent from trying to load a disc image with X button (that enables cheat
   codes) when disc images list is empty.
 - In Satiator Menu Kai, fixed initial selection when entering Game Info screen.
 - Fixed prevention to return to main menu from loader selection menu.
   (At that moment, as CD-ROM is loaded, returning to main menu may cause
    troubles when an ODE is being used)
 - Tuned wait time until Fenrir is prepared to load a disc image.
 - Fixed (even more) generation of descriptor file for Satiator.
 - In Satiator Menu Kai, improved progress display when listing a folder.
 - In Load Homebrew feature, fixed loading under Satiator of a disc image not
   located in root folder.
 - In Dezaemon 2 Save Game Manager, fixed (even more) starfield effect being
   displayed even if it was disabled in Pseudo Saturn Kai display menu.

2022/09/15 (Pseudo Saturn Kai, v6.509) :
 - Additional fix regarding JHL loader support with Rhea/Phoebe and Fenrir ODEs.
 - In Satiator Menu Kai, fixed a regression (introducted in v6.508) preventing
   default selection of previously opened directory.
 - Cosmetic changes in ODE Menu Settings.
 - In Dezaemon 2 Save Game Manager fixed starfield effect being displayed even
   if it was disabled in Pseudo Saturn Kai display menu.
 - Improved fast export (pskai.ini -> [SDM] -> FastExport) setting method.
 - Added emulation of a disc image (via Satiator) from Load Homebrew feature.
   (This feature is not available in SDM's Load Homebrew)
 - Added ability to read and load first executable from an iso file when
   Load Homebrew feature is used on an iso file located elsewhere than Satiator.
   (This feature is not available in SDM's Load Homebrew)
   (This is just a feature for developers; it doesn't magically turns a
    Gamer's Cartridge into an ODE)
 - Added "Simple Loader" setting in pskai.ini, which when enabled allows to
   show Load Homebrew menu on startup.
 - On disc image selection menu, changed key mapping to Game Information screen
   from Z button to L+R shoulder button.
 - Fixed pskai.ini file being incorrectly read.
 - Added manual selection of loader when Satiator ODE is used.

2022/09/11 (Pseudo Saturn Kai, v6.508) :
 - In Satiator Menu Kai, prevent from modifying optical disc type.
    -> Only the Satiator & optical CD drive configuration will be supported.
 - In Satiator Menu Kai, prevent from modifying soft reset type.
 - In Save Data Manager, prevent from displaying memory outside of save data
   when displaying preview of a save during copy/move/import/export operations.
 - Improvement and fixes of the cheat codes for the following games :
    - Astra Superstars
    - Christmas NiGHTS into Dreams
    - Death Crimson
    - NiGHTS into Dreams (unlimited time without being chased by the clock !)
    - Quake
 - Added reading of advanced settings from ini file stored in SD card.
    -> Main purpose is some tuning for Satiator, but this settings file can be
       used with Gamer's Cartridge too.
 - Added ability specify wait time before using Satiator API.
 - In Save Data Manager, added ability to skip export to SSF format and copy
   of save into SAVES -> LATEST folder when "fast export" setting is enabled
   in appropriate ini file.
 - Added "Game Title" in Satiator Menu Kai display settings.
 - In Satiator Menu Kai fixed disc image not being correctly alphabetically
   sorted in some conditions.

2022/09/06 (Pseudo Saturn Kai, v6.507 - WIP) :
 - Don't generate disc image descriptor file for Satiator if it already exists.
 - Fixed Pseudo Saturn Kai logo not being displayed in lite firmware.
 - Fixed Satiator Menu Kai not being able (under some conditions) to bypass
   region lock.
 - Blind fix regarding Fenrir Loader Kai and Rhea/Phoebe Menu Kai not booting.
   (Not sure at all about this fix, maybe it's completely different ...)
 - Added debug menu to allow a safe way to change current working directory just
   before requesting Satiator to emulate a disc image.
 - Fixed generation of descriptor file for Satiator.

2022/09/04 (Pseudo Saturn Kai, v6.507) :
 - Custom logo feature available for Satiator ODE.
 - Added export and load of custom cheat codes on SD card of Satiator ODE.
 - When Rhea or Phoebe ODE is used, changed title of disc image selection menu
   from "Rhea/Phoebe Menu" to :
    - "Rhea Menu Kai" when Rhea ODE is detected
    - "Phoebe Menu Kai" when Phoebe ODE is detected
 - Improvement and fixes of the cheat codes for the following games :
    - Cotton 2
    - Cotton Boomerang
    - Cyberbots: Full Metal Madness
    - Death Crimson
    - Dungeons & Dragons Collection
    - Groove on Fight
    - King of Fighters '97
    - Marvel Super Heroes (JPN/EUR/USA regions)
    - Real Bout Fatal Fury
    - Real Bout Fatal Fury Special
    - Samurai Shodown III: Blades of Blood
    - Samurai Shodown IV: Amakusa's Revenge
    - Vampire Savior: The Lord of Vampire
    - Waku Waku 7
 - In custom cheat codes menu, added B6000B00 in suggested address for cheats
   cache location. Special thanks to privateye for the idea !
 - In Satiator Menu Kai, fixed two disc image files having same name but located
   in different folders being listed incorrectly.
    Example :
     - Entry 1 : "Some Game -> Track1.iso"
     - Entry 2 : "Another Game -> Track1.iso"
 - Addition (finally !) of disc image loading module for Satiator ODE.

2022/08/21 (Pseudo Saturn Kai, v6.506) :
 - Experimental addition of "Load Menu Utility" feature for Satiator.

2022/08/21 (Pseudo Saturn Kai, v6.505) :
 - In Satiator Menu Kai, fixed disc image file name being incorrectly displayed.
 - Additional fix regarding maximum path length of Satiator ODE files.
   (File name longer than 95 characters was supported, but path of the folder
    containing this file was still limited to 95 characters)
 - In disc image information screen, added ability to change currently
   selected disc image with up and down keys.
 - Prevent from listing some reserved files or folders in Satiator Menu Kai.
   Example : autoboot.iso file, SAVES directory etc.
 - Fixed (but not tested) exit to multiplayer from Satiator Menu Kai.
 - Cosmetic change in "Erase cartridge ROM" entry in SDM flasher.
 - Improved Satiator version display :
    -> Version of official builds is displayed as written in FW changelog.
    -> Version of beta builds displayed as-is.
 - Added pre-recorded save data into autoboot.iso for Satiator Menu Kai.
    -> One file for both disc image selection menu and save data manager.
 - Disabled waits before Satiator file read, write and listing.

2022/08/18 (Pseudo Saturn Kai, v6.504) :
 - Minor cosmetic improvement in Save Data Manager menu after copying, moving
   or deleting a save.
 - In Satiator Menu Kai, allow listing of disc image files whose full path is
   longer than 95 characters.
 - Experimental fix to launch Save Data Manager from Satiator Menu Kai.
 - Cosmetic improvement regarding firmware version display in Satiator Menu Kai.

2022/08/14 (Pseudo Saturn Kai, v6.503) :
 - Improvement and fixes of the cheat codes for the following games :
    - Doom
       -> Added code to unlock nightmare difficulty on all EUR/JPN/USA versions
          of the game. Special thanks to fafling for finding this code !
    - Stellar Assault
 - Initial support for Satiator in disc image selection menu :
    - Codename : "Satiator Menu Kai"
    - Can't yet launch a disc image, only listing is supported now.
    - Prevent from listing first track file when a cue sheet is associated.
      Example : with "image.cue" and "image.iso" files on SD card, Satiator
                Menu Kai lists only "image.cue" file.
    - Scan subfolders and list them as a disc image entry when they contain
      only one disc image file.
    - Information from IP header (release date, title etc) retrieved from
      disc image file and displayed in selection menu.
    - Can toggle display in disc image selection menu between file name
      and game title read from IP header.
    - Added a screen to display disc image file, IP header information and
      an overview of built-in cheat codes for selected disc image.
      (Screen available by pushing Z button from disc image selection menu)
    - Added Save Data Manager built into Satiator Menu Kai, and made it
      available from Satiator configuration menu.
       -> If Satiator Menu Kai is installed, then there's no need to install
          Save Data Manager separately.
    - Minor change in Save Data Manager to disable cartridge flasher utility
      when being loaded from Satiator Menu Kai.
 - Internal backup memory autodump feature extended to save to Satiator SD card.
 - "Log to SD card" debug feature extended to support write to Satiator.

2022/07/29 (Pseudo Saturn Kai, v6.502) :
 - In Save Data Manager, improved menu transition when copying or moving a save.
 - In Save Data Manager, added the ability to return to main menu or select
   another save after importing a save.
 - Sakura Wars save updated in Save Data Manager.

2022/07/28 (Pseudo Saturn Kai, v6.501) :
 - Improvement and fixes of the cheat codes for the following games :
    - Christmas NiGHTS into Dreams
    - Grandia
    - Guardian Heroes
    - Night Warriors: Darkstalkers' Revenge
    - Shining The Holy Ark

2022/07/18 (Pseudo Saturn Kai, v6.500) :
 - Cheat codes improvements for the following games :
    - Burning Rangers (Prototype)
    - Christmas NiGHTS into Dreams
    - Guardian Heroes
    - Vampire Hunter
    - Virtua Cop
    - Virtua Cop 2

2022/06/11 (Pseudo Saturn Kai, v6.499) :
 - In display and ODE settings menus, save settings when a change is made and
   not only when existing from the menu.
 - Fixed starfield being displayed on Pseudo Saturn Kai startup even if its
   usage was turned off.
 - Cosmetic changes in standard, grey, orange, mouse and navy color themes.
 - Added cheat codes for Clockwork Knight, Megaman X3 and Metal Slug games.
 - More game saves added in Save Data Manager. Thank you for the contributions !

2022/05/09 (Pseudo Saturn Kai, v6.498) :
 - Modified menu to support 15 bits color theme.
    Before : colors selected between 16+216 colors in palette
    Now    : each theme color have their own ID in palette
 - In credits page, fixed 'Posterity Contributors' and 'SEGA' texts not blinking
   when cursor color was set to a non-default value.
 - In full firmware, modified menu color tester to comply with new usage of
   color palette.
 - Added the ability to modify nearly all colors from menu color tester.
 - Prevent from loading a disc image when ODE couldn't be initialized.
 - In Save Data Manager, list-up unavailable backup devices in the same color
   as Copy and Move operations when only internal backup memory is available.
 - Disabled SMPC diagnostic menu in full firmware and ODE loaders.

2022/05/03 (Pseudo Saturn Kai, v6.497) :
 - Added support for Megadrive 3 buttons and 6 buttons controllers.
 - Added SMPC diagnostic menu in Fenrir Loader Kai, RmenuKai and full firmware.
   (Temporary addition that will be disabled when it won't be needed)

2022/05/01 (Pseudo Saturn Kai, v6.496) :
 - Fixed import of saves fitting into one backup memory data block.
 - Small adjustments around menu color themes.
 - Improved built-in cheat codes list for the 5 games below :
    - Bulk Slash
    - Detana Twinbee Yahoo! Deluxe Pack
    - Die Hard Arcade
    - Dragon Force 2
    - Vandal Hearts

2022/04/30 (Pseudo Saturn Kai, v6.495) :
 - Small update of autoset list.
 - Added blue, pink and red menu color themes.
 - Added pale blue and pale red cursor colors.
 - Fixed font selection of menu items tagged to be displayed as a title.
 - Fixed incorrect initial selection of disc image selection menu after exiting
   it from root folder.
 - Fixed incorrect initial selection of disc image selection menu when power
   cycling (or doing a system reset) when the menu is displayed.
 - Re-fixed display when switching between ODE settings and display settings.

2022/04/16 (Pseudo Saturn Kai, v6.494) :
 - Allow to tune display settings from Save Data Manager.
   (Forgot to add it in previous beta build ...)
 - Fixed display when switching between ODE settings and display settings.
 - Improved color setup regarding disabled/unavailable items.

2022/04/03 (Pseudo Saturn Kai, v6.493) :
 - In SDM, updated time required to dump BIOS according to recent improvements
   regarding file access via Fenrir ODE.
   (It took one hour with previous versions, now it takes thirty minutes)
 - Fixed title display in Fenrir ODE settings menu.
   (It was caused by a regression in v6.490)
 - Separated settings specific to ODE menu and general display settings.
 - Allow to tune display settings from Save Data Manager, lite firmware and
   full firmware without the need of an ODE to be installed.
 - Apply display settings to all menus in SDM, lite firmware and full firmware.
 - Fixed automatic folder selection in disc image selection menu not working
   after returning to grand-parent folder.
 - Removed Fenrir diagnostic menu from lite firmware.
   Reason : needs full firmware and Gamer's Cartridge to work correctly, and
            takes around 3KB in cartridge ROM too.

2022/03/30 (Pseudo Saturn Kai, v6.492) :
 - Cosmetic fix in Rhea/Phoebe ODE settings menu.

2022/03/27 (Pseudo Saturn Kai, v6.491) :
 - Fixed a glitch happening when entering/exiting a folder (in Rhea/Phoebe and
   Fenrir ODE menu) and starfield is disabled.
 - Adjusted order in cursor color selection menu.
 - Improved layout in Rhea/Phoebe and Fenrir ODEs menu settings.
 - Fixed (but not tested) incorrect selection restore when doing a Saturn power
   cycle after selecting parent directory in disc image selection menu.

2022/03/24 (Pseudo Saturn Kai, v6.490) :
 - Added ability to disable starfield display in ODE image selection menu.
 - Added ability to change cursor highlight color in ODE image selection menu.
 - Enabled back automatic boot feature when Fenrir ODE is used.
   (Because of nested folders feature addition, it had to be disabled until
    being able to restore last opened folder)
 - Minor cosmetic improvements in ODE image selection menus.

2022/03/22 (Pseudo Saturn Kai, v6.489) :
 - Added 6x8 font in disc image selection menu.
 - In SDM, fixed (but not tested) backup memory stress test feature.
 - Allow to decompress Pseudo Saturn Kai main executable from two locations on
   cartridge ROM.
    -> It is now possible to add more code (hence features) in full firmware.
 - Speed improvement regarding file write to Fenrir ODE.

2022/01/23 (Pseudo Saturn Kai, v6.488) :
 - Adjusted folder color for black, transparent, blue and grey colors themes.
 - Fixed a bug which incorrectly restored selection in disc image selection
   menu when browsing from a folder to another.
 - Restored back automatic boot feature when Fenrir ODE is used.
   (It was temporarily disabled in v6.483 because of lack of sub-folder support)
 - Added "reset to root" feature, which allows to disable restoration of
   previously opened folder in ODE image selection menu.
 - When parsing Rhea/Phoebe games list, fixed title containing slash wrongly
   considered as a full path.
   (Title must start with a slash to enable virtual folders feature)

2021/12/31 (Pseudo Saturn Kai, v6.487) :
 - Initial addition of virtual nested folder support for Rhea/Phoebe ODE menu.
   Note : this doesn't magically allows to freely name the folders on SD card, 
          so they still need to be named as two (or three) digit IDs.
          However, each titles in LIST.INI file can now have a name containing
          folders which will be listed accordingly in Pseudo Saturn Kai.
   Usage : Use "/" slash character as folder separator and also put a slash
           at the beginning of the path to indicate it contains (sub)folders.
   Example : The following titles :
                02.title=/Sonic/Sonic R
                03.title=/Sonic/Sonic Jam
                04.title=Sega Rally
                05.title=/Shmup/Darius Gaiden
                06.title=/Shmup/Radiant Silvergun
                07.title=Nights into Dreams
             Shall list as the following tree :
                Sonic
                 |- Sonic Jam
                 |- Sonic R
                Shmup
                 |- Darius Gaiden
                 |- Radiant Silvergun
                Nights into Dreams
                Sega Rally
 - In Rhea/Phoebe disc image selection menu, sort folders and files individually
   and show folders at the top of the list.
   In the case of Fenrir ODE, files and folders are processed together because
   some folders may be automatically loaded and it would dramatically slow down
   display of the menu to check the nature of each folders at that moment.
 - In Rhea/Phoebe disc image selection menu, show folders with a special color.
   (Color of folder depends on color theme, but it's usually orange)
   This feature is not available for Fenrir ODE because it's not possible to
   quickly check if a menu entry is a folder or a disc image.
 - Improved automatic selection of parent folder in disc image selection menu.
   (Previous beta build allowed that only for one folder level)

2021/12/28 (Pseudo Saturn Kai, v6.486) :
 - Fixed restore of previously opened folder in the case folders with same base
   name are listed by Fenrir firmware.
 - Preparation (not finished) of a surprise for menu Rhea/Phoebe ODEs menu.

2021/12/26 (Pseudo Saturn Kai, v6.485) :
 - Changed structure of Pseudo Saturn Kai extra settings (PSEUDO_XTRA save) to :
    1. Allow to store more settings than before
    2. Allow backward compatibility with v6.483 (or older) settings
    3. Prepare backward and forward compatibility
  (Trivia : settings are now compressed, so may take less room than before)
 - On Pseudo Saturn Kai startup, added restore of last opened folder in Fenrir
   disc image selection menu.
 - Restored back small delays when writing data to Satiator SD card.

2021/12/07 (Pseudo Saturn Kai, v6.484) :
 - In Save Data Manager, prevent from showing Commslink transfer screen when
   USB dev cart is detected.
 - Show an error message when version of Pseudo Saturn Kai Lite installed on
   cartridge differs from version of Fenrir Loader Kai installed on ODE.
 - Disabled small delays when writing data to Satiator SD card.
   Purpose : compare speed and stability with previous version with delays.
 - Added Tomb Raider in the list of games not compatible with vmem.

2021/11/13 (Pseudo Saturn Kai, v6.483, RC8) :
 - In Save Data Manager, show full name of device where to export when display
   range allows it.
 - Fixed a bug of Fenrir firmware information not being displayed correctly.
   (This was caused by a terminating null character incorrectly set and as a
    consequence the bug was happening randomly from a build to another)
 - In Save Data Manager, show progress of individual save export according to
   ratio of processed file count rather than ratio of data written.
   Purpose is to improve fidelity of displayed progress with actual progress.
 - Convert save comment to UTF-8 encoding when reporting description of a save
   being written by Gamer's Cartridge.
 - In Fenrir initialization failure error screen, show detected firmware version
   so that it can be checked even if it not supported by Pseudo Saturn Kai.
 - In anticipation of an eventual fix in Fenrir firmware regarding reading of
   files whose size is not a multiple of 2KB, restricted workaround (which pads
   files to make their size being a multiple of 2KB) only in the case version
   of Fenrir firmware is 2021/07/02.

2021/11/06 (Pseudo Saturn Kai, v6.482, RC7) :
 - More fix of menu help message font selection.
   Note : help message supports only monospace display, so if menu is displayed
          with condensed or balanced setting then menu items and help message
          will look different.

2021/11/05 (Pseudo Saturn Kai, v6.481, RC6) :
 - Fixed a typo in Pseudo Saturn Kai credits page.
 - Fixed menu help message not being displayed with the same font as elsewhere.

2021/11/05 (Pseudo Saturn Kai, v6.480, RC5) :
 - Added output of date and time stamp into save data dump report file.
   Two time stamps are recorded in report file :
    1. The time when save was copied to Gamer's Cartridge/Satiator/Fenrir/etc.
    2. The time when save was recorded to backup memory device.
   (1) uses Saturn internal clock, hence (assuming that CR2032 battery is in
       good condition and that time is correctly set) should always indicate
       a cohenrent time.
   (2) uses time stamp set by the game when it recorded its save state, and
       because some games don't set that correctly, or use this field to store
       unrelated information it may indicate a nonsense date information.
 - Small changes and update in credits page.
 - Automatically load folder with Fenrir ODE when it contains only iso and cue
   files sharing the same base name.

2021/10/31 (Pseudo Saturn Kai, v6.479, RC4) :
 - More write access speed adjustment for Satiator.
   Save Data export may crash when old and slow SD card is used (example : 4GB
   class 4 card) but it should work correctly in all other "normal" cases.
 - Avoid to do Commslink I/O check when presence of USB dev cart is detected.
 - More fix around crash to black screen when Gamer's Cartridge and JHL loader
   are used from fenrir.kai.iso.
   (Previous attempt didn't worked, so ... I just reverted to an older state)
 - Extra tuning of wait timing after selecting a disc image with Fenrir ODE.
   (One second wasn't enough in some cases, so it is extended to two seconds)
 - Added hardware check bypass feature for Super Prologue 21 Games Vol.1 game.
   Special thanks to Knight0fDragon for finding the code patch to bypass this
   Prologue 21 hardware check !
 - Fixed wrong save name being displayed when importing from a folder containing
   file(s) with BIN extension and other files BUP/CMS/PWB or other individual
   save data file extension.
 - Added writing of dump report near files written in SAVES -> LATEST folder.
 - Added copy to SAVES -> LATEST folder when exporting in raw dump format.
    -> "Select saves to export"      : copy BUP files to LATEST folder.
    -> "Export Saturn Backup RAM"    : extract each saves and copy them in BUP
                                       format into LATEST folder.
    -> "Export Cartridge Backup RAM" : extract each saves and copy them in BUP
                                       format into LATEST folder.
 - Improved characters width table to avoid glyphs having vertical edge (for
   example 1, M, W etc) to not stick with the next character.
   This works only with right edge of the glyph and won't effect if the edge is
   not completely vertical, so maybe some "edge case" (pun inside) may happen
   but rendering is indeed quite well now for something done pixel by pixel on a
   vintage video game console.
 - Prevent from importing saves in BIN/CMS/PWB/RAW/SSF formats from Fenrir when
   their size is not a multiple of 2KB.
   (This is to prevent a data corruption caused by Fenrir firmware)

2021/10/29 (Pseudo Saturn Kai, v6.478, RC3) :
 - Extra write access speed adjustment for Satiator.
 - From Fenrir ODE, prevent from reading files having unsupported size.
   (This is needed because when file size meet some conditions, Fenrir firmware
    incorrectly reads file contents and consequently corrupts the save about
    to import into Saturn internal memory or other backup device)
   (This limitation will be removed when Fenrir firmware will be fixed)
 - Fixed dump report files padded with null characters when dumped to Fenrir.
 - Fixed a (very basic) bug in SDM Commslink transfer screen.
 - In SDM, additional fix to prevent to mistake BIOS dump as a save data file.
 - Addition of USB dev cart I/O check in lite firmware.
   (This feature is temporary because it will be disabled in order to save room
    for save data storage in a future release)

2021/10/27 (Pseudo Saturn Kai, v6.477, RC2) :
 - Added Commslink I/O check in full version of Pseudo Saturn Kai.
   (This is required because ODE menu utilities for Rhea/Phoebe and Fenrir are
    using full version of the firmware)
 - In Save Data Manager copy/move/import features, fixed save data integrity
   check that was performed even after refusing to overwrite existing save data.
 - In Save Data Manager allow individual save data export to SAVES -> LATEST
   folder, in addition of existing SAVES folder :
    -> Saves written in SAVES folder are stored in an unique folder so that
       previous versions are kept.
    -> Saves written in SAVES -> LATEST folder are overwritten so that most
       recent version can be easily imported back.
   Because of write speed limitation, this feature is enabled only when
   exporting to Satiator ODE.
 - In Save Data Manager, prevent to mistake BIOS dump file as a save data file.
 - Extra trick to correctly recognize Congo Zinj save data in Save Data Manager.
   (Trivia : save data name of this particular game uses lowercase characters, 
    which doesn't complies with SEGA naming standards)
 - Fixed a C beginner bug that was scambling file names from Gamer's Cartridge
   SD card when some obscure conditions were met.
 - In ODE settings menu, allow to select color theme in alphabetical order.
 - Fixed inconsistent display of some (well, many) glyphs in proportional fonts.
 - In Fenrir configuration menu, show full name of region instead of few letters
   or abbreviation codes.
 - Blind attempt to fix a crash to black screen when Gamer's Cartridge and JHL
   loader are used from fenrir.kai.iso.
 - Fixed flickering of title in ODE configuration menu.
 - Disabled quick boot when Fenrir ODE is used.
   (This will be enabled back when it will be possible again to pre-select last
    loaded disc image)

2021/10/24 (Pseudo Saturn Kai, v6.476, RC1) :
 - Reverted back BIOS dump feature from "stress test" to normal behavior.
 - In Save Data Manager, fixed naming of Commslink type.
 - In Save Data Manager, added Commslink I/O check from all menus.
 - Show progress during the small wait after selecting a disc image with Fenrir.
 - Added an hidden key combo to extend wait time after disc image selection with
   Fenrir ODE. (Spoiler : it is X+Y+Z. Use only if you know what you are doing)

2021/10/24 (Pseudo Saturn Kai, v6.475) :
 - Adjusted wait timing after selecting a disc image with Fenrir ODE.
 - Display selected items in lime color and same background color as other ones.
 - Re-arranged the order of settings in disc image selection configuration menu.
 - Consecutively dump BIOS 100 times to Satiator SD card.
   (Stress test to be sure that write access there is safe now)
 - Experimental fix regarding automatic detection of Commslink type.
 - In SDM Commslink transfer screen, display (EMS or Datel) detected link type.
   Note : this is displayed after first successful transfer is done.
 - Experimental (and ugly) fix to make Fenrir correctly exporting backup files.

2021/10/17 (Pseudo Saturn Kai, v6.474) :
 - Fixed typo in Save Data Manager flasher utility.
 - Added back Commslink transfer feature in Save Data Manager. (untested)
 - Extra tweak to avoid Satiator to make Saturn freezing when writing many files
   consecutively, for example during individual save data export.

2021/10/15 (Pseudo Saturn Kai, v6.473) :
 - Added option to select font for use in disc image selection menu.
 - Use same font and color theme as in menu to display its help message.
 - Apply disc image selection menu color theme to cheat code selection menus.
 - Another attempt to make VDP1 memory restore playing Croc, Slam'n Jam etc.
 - Minor cosmetic changes in Dezaemon 2 SGM menus.
 - Extra tweaks to make Fenrir working correctly with Pseudo Saturn Kai.
 - Disabled automatic folder loading for Fenrir ODE.
   (This is temporary in order to investigate about a compatibility issue)
 - Another attempt to avoid display flickering when loading a Fenrir disc image.
 - Fenrir-compliant reset timing adjusted to 60 frames.

2021/10/10 (Pseudo Saturn Kai, v6.472) :
 - Q&D workaround to reduce the occurence of Satiator sometimes making Saturn
   freezing during file access on SD card.
   (This will be removed when a proper fix will be available on Satiator FW)
 - Convert save comment to UTF-8 encoding when writing to dump report.
 - Fix of lite firmware sometimes not wanting to load CD-Rs.
   (Forgot to disable Satiator access there, which was making the CD Block
    noticing that CD-ROM was not an autenticate one)
 - Improved (fixed) screen transition when loading a disc image.
    -> If it's a folder then menu display is kept so that it won't flicker.
    -> If it's a file then background logo is displayed.
    -> If it's a folder whose contents will be automatically loaded, then menu
       display is kept ... it would be better to clear it but it's not possible
       to decide about that at that moment.
 - More fix of screen flickering during loading of game main executable.

2021/10/09 (Pseudo Saturn Kai, v6.471) :
 - Improved SH-2 RAM usage to backup VDP1 RAM in order to fix compatibility of
   Croc and Slam'n Jam games.
   Previous build : 256 KB required. Now : 120~160 KB required.
 - Experimental fix of automatic game selection for Fenrir ODE.
 - Experimental fix of screen flickering during loading of game main executable.
 - In Save Data Manager, additional (WIP) fix of save comment display.

2021/10/04 (Pseudo Saturn Kai, v6.470) :
 - Maybe working and faster folder access in Fenrir disc image selection menu.
   (Update : Fenrir nested folders feature finally works at decent speed !)

2021/10/03 (Pseudo Saturn Kai, v6.469) :
 - Fixed freeze on startup when Fenrir ODE is used. (untested)
 - Experimental addition of automatic selection of disc image when it is alone
   in a folder. Note : may not work when cue+iso format is used ?
 - Removed Fenrir Loader Kai iso file from Fenrir disc image selection menu.
 - Another attempt of proper soft reset for Croc and Slam'n Jam games.

2021/10/02 (Pseudo Saturn Kai, v6.468) :
 - Refactoring around menu and text display : a bit cleaner and maybe faster.
 - Use BIOS functions in JHL loader when Fenrir ODE is used without cartridge.
   (Same way of doing as the case of Rhea/Phoebe ODEs)
 - Removed Fenrir SD card refresh feature, because no longer required.
 - Removed display of disc images count in Fenrir ODE, because it is the number
   of files and folders in current directory and also because retrieving total
   count may take a long time to complete.
 - Fixed display glitch when changing sort type in Rhea/Phoebe disc image
   selection menu.
 - Another try of improved soft reset which this time restores VDP1 RAM.
 - Faster loading when entering a folder in disc image selection for Fenrir.
 - Extra debug feature to dump VDP1 and VDP2 status to SD card on startup.
   (Implemented but currently disabled in order to focus on other features)
 - In Save Data Manager, fixed display of irregular characters in save comment.
   Happened with Bomberman and Metal Slug. This was already fixed in save data
   import and menu itself, but not in the save description under copy/etc menus.

2021/09/28 (Pseudo Saturn Kai, v6.467) :
 - Experimental addition of nested folders browse feature in Fenrir disc image
   selection menu.
 - From Dezaemon 2 SGM main menu, show credits screen when both L and R shoulder
   buttons are pushed.
 - In Dezaemon 2 SGM, fixed incorrect screenshots display after leaving credits
   page. This happened with screenshots -> credits -> screenshots sequence.
 - Don't automatically show Dezaemon 2 SGM on startup when CD-ROM is accessed
   via SD card.
 - Fixed save data dump file name on Fenrir when Saturn system clock is set
   between 1994 and 1999.
   Tip    : if your Saturn is time-travelling to 90's, it's time to change its
            CRC2032 battery, reachable behind the small door on its rear side.
   Protip : If you want to keep your save data, please change the battery while
            Saturn is powered on. It's safe as long as it's replaced according
            to common sense, so please keep in mind that Saturn Ingress
            Protection Code is something like IP21.
 - Text scrolling in menus tuned to be a bit smoother.
 - Go to multiplayer screen in the case CD-ROM emulated by Fenrir is audio.
 - Before loading a game, restore VDP1 and VDP2 registers backed up on startup.
   Special thanks to Ced2911 for the reference source code !

2021/09/22 (Pseudo Saturn Kai, v6.466) :
 - In save Data Manager, made Fenrir file read access compliant with latest API.
 - Source code refactoring around Fenrir disc image selection and file I/O.
 - Removed a trick to guess file size when Fenrir was returning it as zero.
   This was a workaround to make Fenrir firmware 2021/04/05 more or less working
   with save Data Manager, but as file API in this firmware is incompatible with
   latest one, support for it is dropped.
 - Use back BIOS functions in JHL loader when Rhea/Phoebe ODE is used.
   (Don't ask me why but under some conditions JHL loader doesn't seems to work
    correctly with these ODEs)
 - Fixed ability to read Dezaemon 2 SGM from iso file copied in SD card.
    -> Allow double call of file I/O (emulated CD-ROM -> SD card) even if
       global memory is used internally to handle both of them.
    -> Allow usage of emulated CD-ROM even if it was initially indicated
       to not be accessed, in the case of booting from cartridge ROM.

2021/09/19 (Pseudo Saturn Kai, v6.465) :
 - Use improved JHL loader (instead of loader functions provided by BIOS) when
   ODE is set up.
    -> No longer need to configure region on ODE side to play JHL loader-only
       games. Also, should work on all known Saturn hardware revisions.
 - Fixed VDP1 RAM usage when setting up starfield internals.
   Special thanks to fafling for the technical information !
 - Removed debug information display in Fenrir information/configuration screen.
 - Another couple of cosmetic fixes in save data import screen.
 - Yet another fix to (un)detect properly Satiator.

2021/09/17 (Pseudo Saturn Kai, v6.464) :
 - Changed "Exit to Satiator" to do system reset instead of loading Satiator
   menu utility, because it doesn't works well in some conditions.
 - Extra fix to avoid initializing Satiator when cartridge isn't detected.
 - Cosmetic fix in save data import error screen.
 - Cosmetic fix in Save Data Manager main menu.

2021/09/16 (Pseudo Saturn Kai, v6.463) :
 - Additional fix to Satiator CD-ROM access workaround.
   -> Ignore region code in IP header when looking for application's iso file.
 - Improved JHL loader, which should support grey Japanese Saturn.
   The fix is not from me : special thanks to jhl (Prof. Abrasive) for
   investigating about it !
 - Minor fix when failing to access CD-ROM from file browser.
   (It probably doesn't happens on real hardware ?)
 - Added "Exit to Satiator" option in Save Data Manager exit menu.
 - Added ability to read Dezaemon 2 SGM from iso file copied in Gamer's
   Cartridge root folder.

2021/09/15 (Pseudo Saturn Kai, v6.462) :
 - Yet another attempt to fix data access of CD-ROM emulated by Satiator.
   This one is completely different from the (failed) attempts so far.
   -> Instead of trying to access CD-ROM (warning, it bites), read data sectors
      from iso file by using Satiator file API.
 - Added minimal fix to support Fenrir latest firmware.
   -> Game loading should work, but nested folders and covers display don't.

2021/09/13 (Pseudo Saturn Kai, v6.461) :
 - Another attempt to fix data access of CD-ROM emulated by Satiator.

2021/09/13 (Pseudo Saturn Kai, v6.460) :
 - In Save Data Manager, show both BIOS Dump and Dezaemon2 SGM options in main
   menu when they are available.
 - Select by default previously selected device when browsing for a file.
 - More (untested) fix regarding data access of CD-ROM emulated by Satiator.

2021/09/12 (Pseudo Saturn Kai, v6.459) :
 - Fix regarding data access of CD-ROM emulated by Satiator. (untested)

2021/09/10 (Pseudo Saturn Kai, v6.458) :
 - Fixed game name of cheat codes for Sonic 3D Blast.
 - Fixed Satiator access when booting from a non-root directory.
 - Added support for Gamer's Cartridge in Save Data Manager's BIOS dump feature.

2021/08/30 (Pseudo Saturn Kai, v6.455) :
 - Satiator library change #1 : allow to be executed from cartridge ROM.
   (This will be necessary when implementing vmem for Satiator)
 - Satiator library change #2 : allow to read length not a multiple of
   four bytes without corrupting the outside of read buffer.
 - Satiator library change #3 : reduce executable size by around 3KB
   (This is important when being installed on a 256KB cartridge ROM)
 - Added specification of current time stamp before modifying file on Satiator.

2021/08/29 (Pseudo Saturn Kai, v6.454) :
 - Unsuccessful attempt to access CD-ROM when Satiator is used.
 - In Save Data Manager, added ability to dump BIOS to Satiator.
 - Added (but not tested) cheat codes for Japanese version of Sonic 3D Blast.

2021/08/15 (Pseudo Saturn Kai, v6.451) :
 - Fix access to Satiator when using pointer not aligned on 4 bytes boundary.
 - More fix regarding creation parameters during Satiator file append.

2021/07/08 (Pseudo Saturn Kai, v6.450) :
 - Cosmetic fix in dump report file when using Satiator device.
 - Small fix regarding file append function in satcom library.

2021/07/05 (Pseudo Saturn Kai, v6.450) :
 - Another experimental build for Satiator support.
   -> Disabled Satiator diagnostic screen and test directly on main library.
   -> Simply try to enable Satiator API without trying to detect it beforehand.
      -> If this solution works, it may require user to indicate that Satiator
         is plugged.

2021/07/02 (Pseudo Saturn Kai, v6.449) :
 - Fixed default settings feature not working correctly in lite firmware.
   (It broke because of a quick refactoring done in previous beta build)
 - Cosmetic improvement regarding Fenrir version display.
   (Removed extra/hidden version display)
 - Display Satiator Diagnostic Menu in Save Data Manager.

2021/06/29 (Pseudo Saturn Kai, v6.448) :
 - Additional fix regarding Fenrir ODE support.
    -> Use normal CD-ROM authentication and game booting instead of Pseudo
       Saturn exploit and manual loading of first executable.
       As this prevents from using doing tweaks on first executable, this is
       done only when cheat codes are not enabled.
 - Improvement of Fenrir version display.
    -> It now displays firmware build date and hardware (20 or 21 pins) type.
 - Initial addition of Satiator Diagnostic Menu in Pseudo Saturn Kai full/lite.

2021/06/27 (Pseudo Saturn Kai, v6.446) :
 - Experimental fix when booting game with Fenrir ODE.
    -> Use normal CD-ROM authentication instead of Pseudo Saturn exploit.
 - Size optimization of text display routine.
    -> Saves around 1.5KB in lite firmware ROM.

2021/06/27 (Pseudo Saturn Kai, v6.445) :
 - Show Fenrir hardware version (20 or 21 pins) in ODE configuration screen.
 - Show Satiator debug information during Save Data Manager startup.

2021/06/26 (Pseudo Saturn Kai, v6.444) :
 - Experimental fix regarding Satiator automatic initialization.
   (Previous build is causing a black screen on startup)

2021/06/21 (Pseudo Saturn Kai, v6.443) :
 - Restored Fenrir access back to v6.437, because problem with 21 pins Fenrir
   could be fixed on firmware side.
 - Initial addition of Satiator access into Save Data Manager.
   (Tested on emulator only)
 - Major visual update in file browser module.
   -> Used for example in Save Data Import and Load Homebrew features.

2021/05/22 (Pseudo Saturn Kai, v6.441) :
 - Removed a bit more things during Fenrir initialization sequence.
   (It probably no longer can boot from cartridge now ...)

2021/05/19 (Pseudo Saturn Kai, v6.440) :
 - Removed unnecessary debug operations during Fenrir initialization sequence.

2021/05/17 (Pseudo Saturn Kai, v6.439) :
 - Show a bit more debug information on screen when initializing Fenrir.
 - Try of an alternate initialization method for Fenrir.

2021/05/16 (Pseudo Saturn Kai, v6.438) :
 - Cosmetic improvement in SDM regarding display after deleting a save.
 - Changed file name and extension to make result compatible with save data
   import feature when doing indirect dump of an individual save.
 - Added ability to erase cartridge ROM in SDM's flasher utility.
 - Show debug information on screen when initializing Fenrir.

2021/05/07 (Pseudo Saturn Kai, v6.437, RC4) :
 - Added ability to return to save selection menu after using "Save Save(s) from
   Cartridge ROM" feature.
   (All other export methods were OK in RC3, but I forgot about this one)
 - Minor corrections in Fenrir Loader Kai and RmenuKai readme files.

2021/05/04 (Pseudo Saturn Kai, v6.435, RC3) :
 - New saves added into Save Data Manager. Contains unbeatable racing ghosts.
   Special thanks to vbt for the contribution !
 - Return back to save selection menu after exporting save(s).
   (Until now, it was directly returning to save export menu)
   -> Extended this behavior to copy/move/delete operations too.
 - When exporting saves, show progress according to size of data written so far.
   (Until now it was displayed according to number of file written so far, which
    wasn't realistic for example in the case several small saves were exported
    after a large one)
 - Fixed a couple of bugs regarding indirect data dump :
    -> Don't allow indirect dump when cartridge is not inserted.
    -> List saves on backup memory cartridge when doing indirect dump of an
       individual save.
 - Experimental fix regarding listing of saves on Memory Cartridge Plus ROM.
 - In Fenrir Loader Kai readme file, major update about Save Data Manager.

2021/05/01 (Pseudo Saturn Kai, v6.434, RC2) :
 - Minor display fixes in Save Data Export feature.
    -> "Save Data Export" was cleared after doing an operation and returning to
       to parent menu. It is now displayed when doing an operation.
 - Improved a bit more menu transition in Save Data Export feature.
    -> Indirect dump feature was returning to main menu. It is now returning to
       parent menu, as other export operations are behaving.
 - Fixed display of backup device status when values are larger than expected. 
    -> Unexpected values were returned when Memory Cart Plus firmware is used.
 - Added a small tweak to show estimation of save data device information when
   Memory Cart Plus firmware is used.
   Note : it looks like Memory Cart Plus returns unrelevant device information
          so that this tweak was added.

2021/04/29 (Pseudo Saturn Kai, v6.433, RC1) :
 - Cosmetic changes in "export from cartridge boot ROM" feature.
   -> Operation flow and information display are now similar to regular
      "Select Save(s) to Export" feature.
 - Improved menu transition in save data export feature.
   -> After save data export is done or cancelled, parent menu is displayed
      instead of directly returning to Save Data Manager main menu.

2021/04/25 (Pseudo Saturn Kai, v6.432) :
 - In Save Data Manager, added individual save data selection and export from
   cartridge boot ROM, such as Action Replay or Memory Cart Plus.
   Note : it was already possible to export whole boot ROM, but as it takes a
          long time (around 30 minutes) when using Fenrir, this alternate
          export method is added.

2021/04/25 (Pseudo Saturn Kai, v6.431) :
 - Improved workaround for Fenrir firmware 20210405 to support save data import
   for saves in BUP format.
   Note : as this covers only BUP format and raw dump of Saturn internal backup
          memory, it is recommended to use more recent Fenrir firmware that
          shall support import from other kinds of save data file such as
          cartridge raw dump etc.
 - Added a batch of pre-recorded saves into Save Data Manager.
   Special thanks to sonicbot for the contribution !!!
 - Allow to import save only from selected file without scanning whole folder.
   This is helpful with Fenrir because it doesn't supports subfolders, and also
   because folder scan operation may be relatively long to terminate.
 - A bit more tuning about progress display when writing a file to Fenrir :
    - First   5% : file open
    - Middle 90% : file data write
    - Last    5% : file close
 - Fixed naming when doing raw export of backup cartridge or boot cartridge.
 - Allow listing of saves into backup memory cartridge raw dump report.
   Note : this is limited to cartridges small enough to fit into Saturn RAM.
 - In SaveRepack, fixed problem of deleted save returning into list after
   adding it with drag-and-drop.
 - In SaveRepack, added mention that space character is not allowed in warning
   message displayed when a folder can't be renamed.

2021/04/22 (Pseudo Saturn Kai, v6.430) :
 - Improved progress bar display when writing file to Fenrir.
 - Fixed problem of only first file being correctly written when exporting
   several save records to Fenrir.
   It was about file name simplification after writing a file to Fenrir and
   save data export using file path from previous iteration when exporting
   to individual save files.

2021/04/19 (Pseudo Saturn Kai, v6.429) :
 - Fixed file name simplification when generating save data export with Fenrir.
   (Update : it wasn't fixed)
 - In SaveRepack, fixed support for save data files larger than 256KB.
   Example : backup cartridge file from emulator, or dumped from real hardware.
 - Show fenrir folder raw contents on screen, in order to progress things
   around testing on real hardware.

2021/04/17 (Pseudo Saturn Kai, v6.428) :
 - Another experimental fix for problem of only first file being correctly
   written when exporting several save records to Fenrir. (Update : still buggy)
   -> When using Fenrir, report for save data export is now correctly written.
      (Yes, both Fenrir I/O module and report for save data export are working
       together. Unbelievable but it works, trust me I'm an engineer !)
 - A bit more source code and memory usage cleanup around Fenrir I/O module.

2021/04/16 (Pseudo Saturn Kai, v6.427) :
 - Experimental fix for problem of only first file being correctly written when
   exporting several save records to Fenrir.
 - Updated display of warning message before dumping BIOS to Fenrir.
   (Time expected to be 30 minutes-ish, but in fact it takes nearly the double)
 - Cosmetic improvements when displaying Fenrir write error details.
 - Prevent from listing BIOS dump file in save data import feature.
 - In SaveRepack, allow to convert files from BUP format to SSF format.

2021/04/15 (Pseudo Saturn Kai, v6.426) :
 - Several fixes regarding save data read access from Fenrir.
   Note #1 : it requires a firmware update on Fenrir side to support files whose
             size is not equal to 32KB.
   Note #2 : 4 or 5 beta build were made from previous changelog entry, but
             because of lack of time, details about them are omitted.
 - Simplify the naming of files when writing to Fenrir :
     Full dump        : <date>_{BRAM|CART|BOOT}_<ID>.BIN
     Individual saves : <NAME>_<ID>.BUP
   Reason #1 : Fenrir doesn't supports write access to sub-folder.
   Reason #2 : Maximum file name length in Save Data Manager is limited.
 - Output Fenrir-simplified file name in save data export report.
 - Added support for Mednafen save data (BCR and BKR extension) in Save Data
   import feature.
 - Added extra feature to dump Saturn BIOS to Fenrir SD card. (untested)
 - Added (and then disabled) debug information display about Fenrir file access.
 - Minor source code cleanup around Fenrir file I/O module.

2021/04/11 (Pseudo Saturn Kai, v6.425) :
 - Fixed another bug around retrieval of size of file from Fenrir. (untested)
 - Prevent from saving saves in SSF format when writing via Fenrir.
   Reason : saving in SSF format doubles write time, for a limited interest
            because it's equivalent to default (BUP) format.

2021/04/10 (Pseudo Saturn Kai, v6.424) :
 - Fixed Fenrir save data import and export freeze bug. (untested)
 - Added CD-ROM file system access library into SaveRepack.
    -> Dependency with 7-zip no longer required.

2021/04/08 (Pseudo Saturn Kai, v6.423) :
 - Fixed bug happening when running SaveRepack from path containing spaces.
 - On startup, show an error message when external modules necessary for
   SaveRepack to work are not found.
 - Restrict save data name to 26 characters in SaveRepack.
 - Experimental fixes regarding save data import from Fenrir SD card.
   Note : file browsing is restricted to SD card root directory because of a
          limitation on Fenrir firmware side.

2021/04/04 (Pseudo Saturn Kai, v6.422) :
 - Prevent from using space character in SaveRepack output folder.
 - Minor cosmetic changes in SaveRepack.
 - Added "Return to menu" item in Fenrir configuration menu.
 - When Fenrir ODE is used, split the display settings for disc image selection
   menu and ODE configuration in two different menus.

2021/04/03 (Pseudo Saturn Kai, v6.421) :
 - Updated Fenrir file I/O module according to latest official sources.
 - Added a debug feature to enable Save Data Manager for Fenrir.
 - Fixed several bugs in SaveRepack utility :
    -> Added some file extension to filter listing of files when adding a save.
    -> Fixed incorrect deletion happening when multiple saves were selected in
       ascending order.
    -> Added a button to rename output folder for all saves.
    -> Show a warning message when trying to output save(s) in a folder
       incorrectly named.
 - Cosmetic change in ODE display settings menu.

2021/03/31 (Pseudo Saturn Kai, v6.420) :
 - Reverted back Fenrir ODE initialization sequence to the same as in v6.408.
   Reason : sequence in previous beta build was making disc images list not
            being retrieved after an in-game reset.
   Note   : this revert may cause troubles with some SD card setup (probably
            when using ExFat file system and/or when using a slow SD card ?)
            which can be solved by either changing SD card and and using FAT32
            file system or by uninstalling Fenrir Loader Kai.
 - Disable save data import feature for Fenrir.
   (Shall enable back when Fenrir file I/O will be reliable)
 - Fixed garbage characters sometimes displayed after date information in
   Rhea/Phoebe disc image selection menu.
 - Prevent from reading directories when listing saves to import.
 - New user save data ready to import from Save Data Manager : special thanks
   to ReyVGM, slinga and all concerned gamers !
 - Major improvements in SaveRepack utility.
   -> Can now delete several saves in a single action.
   -> Can now resize the window.
   -> Can now use right click menu to modify saves data list.
   -> Can now use drag and drop to add save data.
   -> Can now specify the folder where to copy save data to repack.
 - Added extra feature to force SD card access to read-only.
 - Added settings enable/disable display of game information in disc image
   selection menu -> when disabled, menu is a bit taller.

2021/03/15 (Pseudo Saturn Kai, v6.411a, aka "RC3") :
 - Reverted back Fenrir ODE initialization sequence to the same as in v6.408.
   Reason : sequence in previous beta build was making disc images list not
            being retrieved after an in-game reset.
   Note   : this revert may cause troubles with some SD card setup (probably
            when using ExFat file system and/or when using a slow SD card ?)
            which can be solved by either changing SD card and and using FAT32
            file system or by uninstalling Fenrir Loader Kai.
 - Use latest cheat codes list. Because I wrongly merged them from a slightly
   older version when preparing RC1.
   Special thanks to privateye for promptly noticing that :)
 - Display `a' after version number, to indicate that this version is forked
   from v6.408. These recent fixes plus some other features will be available
   after returning back to main codebase.

2021/03/14 (Pseudo Saturn Kai, v6.410, aka "RC2") :
 - Improved (but not tested) startup and SD card refresh for Fenrir ODE.
   -> Firmware 20210207 is required to work correctly.

2021/03/14 (Pseudo Saturn Kai, v6.409, aka "RC1") :
 - Disabled Fenrir SD card refresh feature.
   (For unknown reasons, it is not working with firmware 20210207)
 - Fixed garbage characters sometimes displayed after date information in
   Rhea/Phoebe disc image selection menu.

2021/03/09 (Pseudo Saturn Kai, v6.418) :
 - A bit more experimentents to get in-game reset working back with Fenrir ODE.

2021/03/07 (Pseudo Saturn Kai, v6.417) :
 - Experimental fix to get in-game reset working back with Fenrir ODE.
 - Initial addition of saves repack utility.

2021/02/23 (Pseudo Saturn Kai, v6.415) :
 - Revert back Fenrir CD Block initialization sequence to work correctly with
   latest (2021/02/07) firmware.
 - Modified Fenrir file access module to support firmware that shall be released
   after 2021/02/07.

2021/02/08 (Pseudo Saturn Kai, v6.414) :
 - Added test bench regarding backup memory cartridge access.
 - Modified Fenrir file access module to support latest (2021/02/07) firmware.

2021/01/23 (Pseudo Saturn Kai, v6.413) :
 - Another experimental test for Fenrir SD card write access.

2021/01/18 (Pseudo Saturn Kai, v6.412) :
 - Added debug feature to test Fenrir SD card write access.

2020/12/23 (Pseudo Saturn Kai, v6.411) :
 - Added Fenrir SD card read access from Save Data Manager. (untested)
 - Show error screen error happened during write to Fenrir SD card.
 - Allow to dump only relevant data (bytes at odd address) when dumping internal
   backup memory or from a cartridge.

2020/11/27 (Pseudo Saturn Kai, v6.409) :
 - Fix regarding save data dump to Fenrir. (untested)

2020/11/15 (Pseudo Saturn Kai, v6.408) :
 - Minor improvement in cheat codes list.

2020/11/13 (Pseudo Saturn Kai, v6.408) :
 - Removed some cheat codes working not correctly.

2020/11/11 (Pseudo Saturn Kai, v6.407) :
 - Disabled Fenrir Save Data Manager.
 - Improved "Enable Cheats" and hotkey handling in Pseudo Saturn Kai main menu.

2020/11/08 (Pseudo Saturn Kai, v6.406) :
 - Removed cheat codes not working (because making Saturn crash, or requiring
   JHL loader etc) from full cheat codes list.

2020/11/08 (Pseudo Saturn Kai, v6.405) :
 - Disabled cheat codes not working correctly on some games.
 - Fixed disc image selection menu going to game loading step when Y button
   (change sort type) is pressed and "enable cheats" mode is set beforehand.
   (As usual, such kind of intricate bug is fixed with one extra line of code)
 - One more fix for Swagman save data file support.
 - More changes and updates in several readme files.
 - Added disclaimer screen before loading Save Data Manager for Fenrir.
 - Added extra color themes. (Thank you JayBee !)

2020/11/?? (Pseudo Saturn Kai, v6.404) :
 - Error : beta build not found :)

2020/11/05 (Pseudo Saturn Kai, v6.403) :
 - Extended Fenrir-compliant reset to lite version of the firmware.
 - Show Fenrir diagnostic menu after a system reset when debug mode is enabled.
   -> Also, added extra test items in Fenrir diagnostic menu.
 - Reduced a bit the time spent when doing a Fenrir-compliant reset.
 - Added a option to retry loading of Fenrir Save Data Manager when it failed.
 - Fixed Fenrir-compliant reset not working on Save Data Manager.
 - Fixed save data import for Swagman, which uses a dot in its save name.
 - Minor cosmetic change in Save Data Manager main menu.

2020/11/04 (Pseudo Saturn Kai, v6.402) :
 - Fixed dumb bug regarding save data dump to Fenrir SD card.

2020/11/04 (Pseudo Saturn Kai, v6.401) :
 - Added a cute hack to prevent from enabling Fenrir Save Data Manager
   when trying to load Save Data Manager for full firmware.
 - Experimental fix regarding Fenrir-compliant reset.
 - Properly setup Fenrir before loading official loader or Save Data Manager.

2020/11/03 (Pseudo Saturn Kai, v6.400) :
 - Several fixes regarding Fenrir diagnostic menu.
 - No longer display Fenrir diagnostic before showing image selection menu.
 - Extended Fenrir-compliant reset to Save Data Manager.

2020/11/03 (Pseudo Saturn Kai, v6.399) :
 - Disabled loading of minipseudo from full firmware extra menu.
   (Reason : it is just a recovery utility, not a full featured loader)
 - Slight update of this readme ... but still need to terminate here and there.
 - Initial version of Save Data Manager for Fenrir. (Can only dump saves)
 - Properly setup Fenrir before doing a system reset.
 - Show Fenrir diagnostic menu before loading official loader or SDM.

2020/11/01 (Pseudo Saturn Kai, v6.398) :
 - Added storage of cheat codes capacity in internal backup memory.
 - Fixed a dumb bug around Fenrir official loader executable file reading.
 - Show Fenrir diagnostic menu before doing a system reset.

2020/10/31 (Pseudo Saturn Kai, v6.397) :
 - Experimental fix regarding system reset support when using Fenrir.
 - Experimental fix regarding reading of Fenrir official loader executable.

2020/10/31 (Pseudo Saturn Kai, v6.396) :
 - Fixed full executable crashing when trying to use lite version of the ROM.
   (This bug was happening with lite firmware and fenrir.kai.iso used together, 
   plus some other esotheric conditions regarding cheat codes usage)

2020/10/30 (Pseudo Saturn Kai, v6.395) :
 - Added error message display and debug data dump before starting Fenrir
   official loader.
 - Cosmetic change in loader selection menu.

2020/10/29 (Pseudo Saturn Kai, v6.394) :
 - Prevent from listing Fenrir external loader (fenrir.kai.iso) in disc image
   selection menu.

2020/10/27 (Pseudo Saturn Kai, v6.393) :
 - Changed in depth and fixed "Start Loader Utility" for Fenrir.
  -> Should now work when booting from cartridge and when using external loader.

2020/10/26 (Pseudo Saturn Kai, v6.392) :
 - Adapted Fenrir access to next official firmware.
 - Added back standalone Fenrir Loader Kai.

2020/10/24 (Pseudo Saturn Kai, v6.391) :
 - Added "balanced" display option for disc image selection menu.
 - Removed cheats for several games not allowing to execute cheat codes.
 - Removed Fenrir Diagnostic menu = saves around 3KB of cartridge ROM.

2020/10/24 (Pseudo Saturn Kai, v6.390) :
 - Another experimental hack to make Fenrir returning back to disc image
   selection menu after hard reset.

2020/10/22 (Pseudo Saturn Kai, v6.389) :
 - Experimental support Fenrir list reload after hard reset.
 - Added blue color theme in disc image selection menu.

2020/10/21 (Pseudo Saturn Kai, v6.388) :
 - Added a menu to tune colors used in menus.
 - Restored Fenrir access to latest official firmware = 2020/09/28.

2020/10/13 (Pseudo Saturn Kai, v6.386) :
 - Temporarily disable logo and starfield in order to investigate about the
   display glitch mentioned in last build.

2020/10/09 (Pseudo Saturn Kai, v6.385) :
 - More internal changes regarding Fenrir access.
 - Temporary change for investigation regarding a display glitch in ODE menu.
 - Faster disc images sort when using Fenrir ODE.

2020/10/08 (Pseudo Saturn Kai, v6.384) :
 - Internal changes (WIP) regarding Fenrir access.
   (This is no longer compatible with previous Fenrir firmwares)

2020/10/05 (Pseudo Saturn Kai, v6.383) :
 - Another experimental fix regarding IGR support for Fenrir.

2020/10/04 (Pseudo Saturn Kai, v6.382) :
 - Experimental fix regarding IGR support for Fenrir.

2020/10/03 (Pseudo Saturn Kai, v6.381) :
 - Small update of autoset list.
 - Added (another) dump feature in Save Data Manager's extra menu.
 - Display image selection menu as tall as possible when ODE doesn't provides
   extended disc image information such as IP header etc.
 - Correction of Fenrir SD card not found error screen.
 - Verify if Fenrir firmware is recent enough before loading disc images list.
 - Show extended ODE version information when a mysterious key combo is entered
   from ODE settings menu.
 - Fixed Save Data Manager support regarding reset patch.

2020/09/27 (Pseudo Saturn Kai, v6.380) :
 - Added several tests regarding SD card status during Fenrir initialization.
 - Experimental reset patch for Fenrir.
 - Experimental fix regarding RmenuKai for a bug happening in previous beta.
 - Disable virtual FDD when information from autoset indicates that the game
   about to boot is not compatible with Saturn FDD.
   (This trick can't be used with real FDD, sorry)

2020/09/24 (Pseudo Saturn Kai, v6.379) :
 - Internal changes to support latest Fenrir firmware.
 - More dump features in Fenrir Diagnostic Menu.
 - Allow to select soft reset type (multiplayer or sysres) when Fenrir is used.

2020/09/20 (Pseudo Saturn Kai, v6.377) :
 - Added floppy disk related informations in autoset list.
 - Fixed Fenrir region not being kept in menu after a change of other settings.

2020/09/13 (Pseudo Saturn Kai, v6.375) :
 - Extended automatic reset settings when an ODE is used.
 - Added an option to start Fenrir Loader Utility.

2020/09/11 (Pseudo Saturn Kai, v6.374) :
 - Fix in autoset list.
 - Automatically decide reset type when RmenuKai or FenrirLoaderKai is used.
    -> RmenuKai : system reset
    -> FenrirLoaderKai : go to multiplayer
 - Critical fix regarding cheat codes support in lite firmware.

2020/09/03 (Pseudo Saturn Kai, v6.373) :
 - Third (and hopefully, the final one ?) fix regarding in-game reset and
   cheat codes support in lite firmware.

2020/09/02 (Pseudo Saturn Kai, v6.372) :
 - Extra changes in autoset list.
 - Fixed soft reset patch for lite firmware.
 - Use proportional font in lite firmware's main menu.
 
2020/08/30 (Pseudo Saturn Kai, v6.371) :
 - Fixed reset patch for RmenuKai.
 - Extra changes to autoset list.
 - Cosmetic fix in menu when proportional font is used.
 - Disable Fenrir Diagnostic menu using RmenuKai.

2020/08/29 (Pseudo Saturn Kai, v6.370) :
 - Added back logo in lite firmware.
   (It will be removed one more time when adding Save Data Storage feature)
 - Many changes in autoset list.
   -> Some games set as being compatible with CWX loader as set back as
      "JHL loader only" because they were reported as not booting correctly
      on some hardware configurations.
 - Added compatibility with Fenrir legacy firmware
  (It will be removed when access to IP headers will finally work)

2020/08/25 (Pseudo Saturn Kai, v6.369) :
 - Save logs from interactive fenrir debug menu to unique files.
 - Minor cosmetic fix in interactive fenrir debug menu.

2020/08/22 (Pseudo Saturn Kai, v6.367) :
 - Added interactive debug menu for Fenrir.

2020/08/17 (Pseudo Saturn Kai, v6.366) :
 - Added extra debug screen and file dump for Fenrir.

2020/08/12 (Pseudo Saturn Kai, v6.363) :
 - Extra (final ?) fix regarding Fenrir SD card detection.
 - Fixed pad status polling during debug console display.

2020/08/11 (Pseudo Saturn Kai, v6.362) :
 - Display error message when SD card is not inserted or detected in Fenrir ODE.
 - Removed/disabled debug messages for Fenrir SD card detection.

2020/08/09 (Pseudo Saturn Kai, v6.361) :
 - More log messages to investigate why Fenrir without SD card is freezing.

2020/08/04 (Pseudo Saturn Kai, v6.359) :
 - More fixes when no SD card is inserted in ODE. (still untested)
 - Disabled experimental VCD playback feature.
   (Sorry, I'm lacking of ideas to get it working)
 - Fixed backup date display in Save Data Manager.

2020/08/01 (Pseudo Saturn Kai, v6.357) :
 - Fixed error handling when no SD card is inserted in ODE. (untested)

2020/07/31 (Pseudo Saturn Kai, v6.356) :
 - Added BUP library date conversion routines test bench in Save Data Manager.
 - Fixed save Virtual Memory Cartridge's data time manipulation functions.
    -> Save data time stamp and display should be correct now.
    -> Also, catched the occasion to fix a wrong date (December 32nd) returned
       by original BIOS functions : regarding time, Gamer's Cartridge is more
       accurate than other memory cartridges !
 - Removed disc image ID display and sort method when Fenrir ODE is used.
    -> Unlike Rhea/Phoebe ODEs, disc image folder naming for Fenrir is free, 
       hence displaying folder ID doesn't makes sense in that case.
 - Instead of disc image ID, display CD-ROM product number when Fenrir is used.

2020/07/25 (Pseudo Saturn Kai, v6.355) :
 - Fixed Fenrir support when Pseudo Saturn Kai is booting from cartridge.
 - Added error screen when Fenrir ODE could not be detected.
 - Fixed name prettify when Fenrir is used.
    -> Folder name is now kept as-is.
    -> Game title extracted from IP header is now prettified.
 - Some changes regarding support of more than 300 disc images with Fenrir ODE.
 - Removed debug text display regarding MPEG card support.
 - Removed Fenrir configuration buffer dump feature added in previous beta.
   Instead, it is now dumping IP headers list in preparation of future problems.

2020/07/21 (Pseudo Saturn Kai, v6.354) :
 - Added back USB dev cart DMA transfer code (aka "The Blinking Screen") to
   lite firmware.
   -> Users of USB dev cart with SST39SF010A flash ROM chip still won't be able
      to do connectivity from Pseudo Saturn Kai startup menu, but at least it
      will be available from this USB DMA feature.
 - Fixed flickering of title in some menu.
 - Added ability to display menu title with proportional font.
 - Experimental change of few menus display type from monospace to proportional.
 - Some (untested) fixes around VCD playback. (full firmware only)
 - Fix of ODE disc image selection menu when type is set to monospace.
 - Removed Pseudo Saturn Kai "demo" related code.
 - Added dump of MPEG application to Gamer's Cartridge's SD card.
 - Added dump of Fenrir configuration buffer to Gamer's Cartridge's SD card.

2020/07/15 (Pseudo Saturn Kai, v6.352) :
 - Added experimental support for VCD playback.
   (Should work even if the Saturn if not from the same region of the VCD card)
 - Added support for "old" Fenrir API before IP header support. (untested)
 - Added Fenrir region configuration and firmware version display. (untested)
 - Hide application title when showing disc image selection menu, so that menu
   height can be extended by two lines.
 - In main menu, indicate keys mapping regarding manual loader setting.
 - In lite firmware's disc image selection menu, mapped Z key to manual
   selection of JHL loader.
   -> Because loader selection menu is not available in lite firmware, manual
      selection of CWX loader is not possible.
      However, as this is not a common operation, it shouldn't cause problem.
 - Fixed "Cheat Codes Unavailable" menu in lite firmware, which was booting the
   game without consideration of user input in that menu.
 - Added Bubble Bobble also featuring Rainbow Islands in autoset list.

2020/07/05 (Pseudo Saturn Kai, v6.349) :
 - Fenrir support, initial version.
    -> Read folder names and each IP headers
    -> Show image selection menu and allow sort or filtering as in RmenuKai
    -> Allow to select name type in disc image selection menu :
        1. Folder name
        2. Game title, taken from IP header
        3. Folder name + game title
 - Allow manual selection of loader from main menu, with Y and Z buttons.
 - Added "Enable Cheats" option from main menu.
 - Added back (minimalistic) comms link transfer support in lite firmware.
   Note : EMS/Datel type is automatically detected ... but untested.
 - Added a way to add (unofficial) USB dev cart support in lite firmware.
   Note : it requires a custom build of Pseudo Saturn Kai to be enabled.
 - Small size optimization in RmenuKai and Fenrir Loader Kai boot loader.
   (Compression routine was embedded whereas it was unnecessary)

2020/06/12 (Pseudo Saturn Kai, v6.345) :
 - In lite firmware, added automatic boot support when using Rhea/Phoebe ODE.
 - In lite firmware, fixed soft reset patch.
 - In lite firmware, removed loader selection option from image selection menu.
 - In lite firmware, added back "Load Rmenu" option in image selection menu.
 - In lite firmware, fixed (but didn't tested) JHL loader.

2020/06/09 (Pseudo Saturn Kai, v6.344) :
 - Fork between full and lite version.
   (Initial version, so some details are still remaining)
   -> Removed Action Replay link = only USB dev cart supported on full firmware
   -> Removed link type selection menu
   -> Use different cheat codes list for full and lite version
   -> In full firmware, moved cheat codes ROM code so that room for main
      executable is a bit larger.
   -> Because of memory limitations, flasher utility now supports only one type
      of Pseudo Saturn Kai. (= flasher utility is forked too)
   -> Minor (display related) fixes in flasher utility.
   -> Extended count of custom cheat codes to 16 in lite version.
 - Added an "Enable Cheats" item in Pseudo Saturn Kai lite's main menu.
   -> Now, you can't say that you didn't know about cheat codes feature !

2020/05/16 (Pseudo Saturn Kai, v6.334) :
 - In Save Data Manager, improved menu transition for Save Data Import feature.
 - Addition and fixes of cheat codes for several games.
 - Prevent from showing status when doing autodump of PSEUDO_XTRA save.
 - Addition of Spot Goes To Hollywood to autoset list.
 - Minor cosmetic fix around cheat codes custom input menu.
 - Initial version of minimalistic Pseudo Saturn Kai.
   -> Allows basic loading of CD-ROM when main ROM is corrupted.
   NOTE: For technical reasons, limited to full version of Pseudo Saturn Kai.
 - During cartridge flash operation, write minimalistic Pseudo Saturn Kai just
   after first stage bootloader so that power off during flash operation reduces
   the risk of bricking the cartridge.
 - Added previous stable release of Pseudo Saturn Kai (v6.324) into
   Save Data Manager's flasher utility.
 - Experimental addition of soft reset patch support for RmenuKai.
   (Spoiler : it doesn't works)

2020/04/21 (Pseudo Saturn Kai, v6.329) :
 - Added "Cheat Codes Unavailable" menu when trying to enable cheat codes with
   JHL loader, because this loader doesn't supports cheat codes.
   Note #1 : This menu isn't displayed when using Rhea/Phoebe ODE because it's
             not possible to return to disc image selection menu after selecting
             a game. Instead, game is loaded without any cheat code enabled.
   Note #2 : This feature was added a long ago but I forgot to list it in this
             changelog. Better late than never.
 - Cosmetic improvements in custom codes setup menus.
 - Improved (in an user-friendly way ?) transition between custom codes menus.
 - Extended custom codes usage to all supported hardware setup.
 - Added a way to run a game with custom codes without having to save them.
 - Added ability to save custom codes when cancelling their edition.
 - Fixed custom loader registration when using JHL loader and Rhea/Phoebe ODE.
 - Added cheat codes for Mega Man 8.

2020/03/19 (Pseudo Saturn Kai, v6.326) :
 - Initial addition of custom loader feature.
 - Added ability to store custom cheat codes list in internal backup memory.
 - Fixed automatic loader settings for Herc's Adventures.

2020/02/16 (Pseudo Saturn Kai, v6.325) :
 - Extended (unfinished) custom cheat codes usage to Rhea/Phoebe ODEs.
 - Some experimental changes on cheat codes for Die Hard Arcade and Shinobi-X.

2019/12/21 (Pseudo Saturn Kai, v6.324) :
 - Removed cheat codes for Tomb Raider until a working master code is set up.

2019/12/17 (Pseudo Saturn Kai, v6.323) :
 - Extra changes in Command & Conquer cheat codes list.

2019/12/10 (Pseudo Saturn Kai, v6.322) :
 - Additional fixes forgotten in previous version.

2019/12/09 (Pseudo Saturn Kai, v6.320) :
 - More fixes in cheat codes and autoset list.

2019/12/02 (Pseudo Saturn Kai, v6.319) :
 - Fixed typo in firmware selection menu.
 - Many improvements in cheat codes list. (Special thanks to privateye !)
 - Removed self test feature, which saves 5KB on ROM side to add new
   cheat codes in the future.

2019/10/27 (Pseudo Saturn Kai, v6.317) :
 - Fixed automatic loader settings for Mizubaku Daibouken.
 - In Save Data Manager, discard folder from scan when importing "single type"
   (such as SSF, PlanetWeb, etc) backup data.
 - Experimental fix around current time acquisition. (It is for example used
   to generate folder name when dumping save data to SD card)
 - Minor fixes in flasher's old firmwares list.
 - Fixed cheat codes module version display in custom codes loader menu.
 - More fixes and improvements in autoset list.

2019/09/23 (Pseudo Saturn Kai, v6.315) :
 - Fixed automatic loader settings for Pebble Beach Golf Links.

2019/05/30 (Pseudo Saturn Kai, v6.314 -- RC1) :
 - Extra fixes and improvements in autoset and cheat codes list.

2019/05/26 (Pseudo Saturn Kai, v6.313) :
 - Improved more autoset list regarding games not requiring JHL loader.

2019/05/24 (Pseudo Saturn Kai, v6.312) :
 - Removed no longer used code in SMPC interfacing module.

2019/05/16 (Pseudo Saturn Kai, v6.309) :
 - Another experimental fix regarding glitchy display when scrolling menus.

2019/05/07 (Pseudo Saturn Kai, v6.306) :
 - Fixed pad acquisition stop after CD-ROM related error happens.
 - Experimental fix regarding glitchy display when scrolling menus.

2019/05/07 (Pseudo Saturn Kai, v6.305) :
 - Fixed file browser exit shortcut (Z button) during empty folder listing.
 - Improved autoset list regarding a couple of games not requiring JHL loader.

2019/05/03 (Pseudo Saturn Kai, v6.304) :
 - Moved SMPC test screen to Save Data Manager's extra menu.

2019/05/01 (Pseudo Saturn Kai, v6.303) :
 - Additional change around SMPC handling regarding wireless pad support.
   (Special thanks to vbt for providing technical help !)
 - Added easter egg ?! Still not finished however.

2019/04/26 (Pseudo Saturn Kai, v6.301) :
 - Removed attempt to properly retrieve pad initial status when using
   interrupt-based acquistion mode.
 - Removed key shortcuts during Pseudo Saturn Kai and Save Data Manager startup.
   (Theses were about enabling debug features, hence shouldn't be a great loss)

2019/04/25 (Pseudo Saturn Kai, v6.300) :
 - Candidate fix for wireless pad support : use interrupt instead of INTBACK
   polling to retrieve pad status -> reported not working correctly.
 - Disabled SMPC test screen.

2019/04/23 (Pseudo Saturn Kai, v6.299) :
 - Minor improvement regarding processing of peripheral data from SMPC.
 - Extra fixes in cheat codes list.
 - (SMPC test screen is still enabled in this version)

2019/04/22 (Pseudo Saturn Kai, v6.298) :
 - Added key shortcuts to enable/disable SMPC test screen :
    -> L+R+Up   : enable test menu
    -> L+R+Down : disable test menu

2019/04/21 (Pseudo Saturn Kai, v6.297) :
 - Added test menu for verifying SMPC and Pseudo Saturn internals when using
   wireless pad. This test menu is displayed on startup and without any way to
   exit so as a consequence it's not possible to use Pseudo Saturn Kai itself.

2019/04/18 (Pseudo Saturn Kai, v6.296) :
 - Completed (nearly) all associations between games and cheat codes lists.
   Special thanks to privateye for this huge contribution !
 - Improved autoset list a bit more regarding vmem and Saturn FDD support.
 - When using Rhea/Phoebe ODE, restrict cancel of cheat codes game selection
   menu to continue booting game anyway. This is due to a lack of clean CD Block
   reset on Pseudo Saturn Kai, making impossible to return to images selection
   menu at that time.
   When using optical disc drive, cancelling cheat codes game selection still
   returns back to loader selection menu, thus allowing inserting another disc.

2019/04/12 (Pseudo Saturn Kai, v6.292) :
 - Removed interrupt masking (added in previous beta version) virtual memory
   cartridge because it causes more harm than improving game comatibility.
 - Improved autoset list and fixed cheat codes list. (Thank you privateye !)

2019/03/06 (Pseudo Saturn Kai, v6.289) :
 - Improved stack memory usage by virtual memory cartridge.
 - In Save Data Manager, added a debug feature to verify stack memory usage by
   backup library.
 - Improved performances regarding log messages formatting.
 - Minor fixes regarding "save logs to SD card" feature.

2019/01/18 (Pseudo Saturn Kai, v6.280) :
 - Moved CD Block reset timing from software reset patch to Rhea/Phoebe ODE
   initialization sequence.
 - Force patching of software reset to system reset when Rhea/Phoebe is
   specified as optical disc type.
   (This is currently the only way for Pseudo Saturn Kai to get ODE's
   `reset_goto' feature to work)
 - Prevent from modifying some fields when some conditions are met :
    - optical disc : fixed to a given value in ROM-less mode.
    - software reset : fixed to a given value in when using Rhea/Phoebe ODEs.

2019/01/16 (Pseudo Saturn Kai, v6.279) :
 - Changed JHL loader to use CD-ROM load functions provided by BIOS when Rhea or
   Phoebe is specified as optical drive.

2019/01/16 (Pseudo Saturn Kai, v6.278) :
 - Fixed JHL loader support for RmenuKai.
 - Disable soft reset patch when using RmenuKai.
 - Improved RmenuKai/Pseudo Saturn Kai detection.
   (so far it was incorrectly enabling Pseudo Saturn Kai when an
   old version of the firmware was installed on cartridge)
 - In software reset patch, added CD Block reset (via SMPC) during
   software reset patch. (untested)

2019/01/11 (Pseudo Saturn Kai, v6.277) :
 - RmenuKai initial version.
 - In flasher utility, added version number display for latest lite and full
   Pseudo Saturn firmwares.
 - In Save Data Manager, fixed application title display after exiting from
   flasher menu.
 - Fixed CD Block initialization sequence for Rhea/Phoebe to show error message
   when SD card is not inserted into ODE.

2018/12/28 (Pseudo Saturn Kai, v6.274) :
 - Directly show DZ2SGM on startup when loaded from CD-ROM.
 - In DZ2SGM, added shortcut to credits page with L/R shoulder buttons from
   entries selection menu.

2018/12/27 (Pseudo Saturn Kai, v6.274) :
 - Removed cartridge expansion RAM initialization and testing.

2018/12/23 (Pseudo Saturn Kai, v6.272) :
 - Finished credits page for Pseudo Saturn Kai, Save Data Manager and DZ2SGM.
 - Added simple support for 3D pad analog arrow : so far 3D pad was supported, 
   but only status of digital arrow was considered.
   Note : debug menus directly embedded in ROM for Virtual Memory Cartridge and
          cheat codes (example : BSOD screen, etc) are kept as-is so only
          digital arrow is supported there.
          Same limitation applies to standalone firmware flasher too.
 - Added retry access to CD-ROM (up to 5 times) when current access failed.

2018/12/06 (Pseudo Saturn Kai, v6.262) :
 - In ODE settings menu, fixed update condition regarding settings not requiring
   to reload disc image list.
 - In Save Data Manager, added the ability to return to main menu from flasher.
 - In flasher utilities, added warning message when trying to flash firmware
   other than Pseudo Saturn Kai full version on SST39SF040 chips used on
   USB dev cart or Gamer's Cartridge.

2018/12/03 (Pseudo Saturn Kai, v6.261) :
 - Fixed Japanese character display in menus.
   This was a regression from v6.257, caused by addition of font cache in menu.
 - Fixed display of strings larger than display area during "condensed" menu.

2018/11/28 (Pseudo Saturn Kai, v6.260) :
 - In ODE image selection menu, added images list ascending/descending settings.
 - In ODE image selection menu, added text justify (left or center) settings.
 - In ODE image selection menu, added setting for changing color theme.
 - In ODE settings menu, added option to enable compatibility reporter.

2018/11/26 (Pseudo Saturn Kai, v6.257) :
 - Added cache support for font used in menu items.
   Tested on real HW, and it seems to improve a little display performances
   when "condensed" menu is used.
 - In Dezaemon 2 SGM3, changed entry selection menu to "condensed" type.
 - In Dezaemon 2 SGM3, changed initial zoom factor in screenshots gallery
   from "all" to "1:1".

2018/10/02 (Pseudo Saturn Kai, v6.252) :
 - Added "condensed" (no border, and using proportional font) menu type.
   It is currently used in ODE image selection menu as well as in game and cheat
   code selection menus.
 - In ODE image settings menu, added a setting to toggle between "monospace"
   and "proportional" image selection menu type.
 - In ODE image selection menu, fixed sorting of multi-CD (with same release
   date) when sorting by release date or folder ID.
 - In ODE image selection menu, added update of setting to internal backup
   memory when toggling sort settings with Y button.

2018/08/04 (Pseudo Saturn Kai, v6.247) :
 - Cosmetic (minor) improvement in in Save Data Manager.
 - When using compatibility report, don't show cheat codes enable/disable menu
   when JHL loader (not compatible with vmem and cheat codes) is used.
 - Improved keys assignment in Pseudo Saturn Kai settings menu.

2018/07/27 (Pseudo Saturn Kai, v6.246) :
 - Experimental change regarding SD card access.

2018/07/24 (Pseudo Saturn Kai, v6.245) :
 - Added "autoboot" setting, allowing to enable or disable timeout in loader
   selection menu.
 - Cosmetic improvements in settings menu : show settings contents directly
   into menu, and don't clear display while updating settings, etc.
 - Rhea/Phoebe related : prevent from loading list after selecting an image.
   Before fix, this was freezing or crashing Pseudo Saturn Kai because of trying
   to read a file no longer available.
 - Rhea/Phoebe related : fixed saving of selected image. So far it was done only
   when using Virtual Memory Cartridge or compatibility reporter. It is now
   updated each time image selection menu is exited
 - In ODE image selection menu, fixed incorrect timing of keypress callback : so
   far it was called before updating selection, which caused incorrect (not up
   to date) cheat codes informations display.
   This was a regression from 20180629, caused by the fix related to intial key
   holding, and was concerning cheat codes selection menu too.
 - In ODE image selection menu, finished boot timeout feature : so far,
   remaining seconds until timeout and image information were mixed up at the
   bottom of the screen.
 - Improved SD card compatibility.

2018/07/12 (Pseudo Saturn Kai, v6.239) :
 - Fixed background image incorrect fading. It was sometimes happening when
   entering settings or credits from main menu.
 - Added background image fade transition between several menus.
 - Fixed incorrect text scroll in menus. This was happening credits or
   ODE image selection menus, when item length was equal to display width.
 - Added shortcut (Z button) for manual loader selection from ODE image
   selection menu.
 - Moved Rmenu entry from image selection menu to settings menu. It can be
   reached with L/R shoulder buttons from image selection menu.
 - Changed loader selection menu from "automatic only" to "CWX/auto/JHL" even
   when Saturn is indicated as modded in Pseudo Saturn Kai settings.
 - Added ODE menu configuration page, available with L/R shoulder buttons from
   image selection menu.
 - In ODE image selection menu, added several disc image sort types :
   alphabetical, by release date, by folder ID.
 - In ODE image selection menu, added name prettify enable/disable setting.
 - Slight speed improvement when alphabetically sorting ODE disc images.
 - Append disc image extra information (CD-ROM ID, region, date, version) to
   title when necessary. This is appended when two images got same title.
 - In ODE image selection menu, automatically select previously loaded image.
   It keeps the same image after changing image sort settings, or rmenu iso
   rebuild, but is reset when title is changed in LIST.INI, or when image with
   same title is added.
 - Removed Pseudo Saturn Kai demo. (is there still somebody using it ?)
 - Updated auto settings list.

2018/07/04 (Pseudo Saturn Kai, v6.231) :
 - Reworked credits display in Save Data Manager, as recently done in v6.224.
 - In ODE image selection menu, added status display when loading images list
   and when selecting an image.
 - Hide starfield display when it can't be animated. Concerns the following
   features : self test, CD-ROM loading, ODE initialization and configuration.
 - Added back "The Blinking Screen" ROM code for USB dev cart.
   It can be loaded with Z key on startup (won't do anything if USB port is not
   detected), or with "USB DMA Transfer" item from main menu.
 - Changed A+B+C+Start key shortcut from "exit to multiplayer" to "system reset"
   when CD lid is open during CD-ROM boot sequence. Reason : BIOS shows a black
   screen until lid is closed on my Japanese Grey Saturn when returning to
   multiplayer screen at that time.
 - In ODE image selection menu, changed sorting order in image selection menu.
   Before : ASCII order. Now : numbers, then letters, then special characters.
 - In ODE image selection menu, changed text justify from center to left in
   image selection menu. Also, temporarily disabled text prettify too.
 - Added settings save on Saturn internal backup memory. It currently saves
   optical disk type and link settings.
 - Added access to settings screen in lite version of the firmware.
   Purpose : allow Action Replay cartridge users to setup optical disc type.
 - Fixed RomFs consideration in Self Test feature : so far it was skipping it
   when RomFs was initially not correctlty detected. Now, it always tests when
   ROM is marked as containing Pseudo Saturn Kai full version.

2018/06/30 (Pseudo Saturn Kai, v6.227) :
 - Added alphabetical sorting support in ODE image selection menu.
 - Added automatic lowercase conversion in ODE images list.
   (It's a bit experimental for short words, and abbreviations, etc)
 - Source code cleanup regarding Indirect Dump feature.
 - Fixed incorrect display when initially holding key press in list-based menus.
   (This fix concerns all menus in Pseudo Saturn Kai and Save Data Manager)

2018/06/24 (Pseudo Saturn Kai, v6.224) :
 - Additional fixes regarding return to multiplayer when loading Save Data
   Manager. It wasn't correctly working in v6.213 ...
 - In order to reduce ROM usage, 
    - Moved USB standalone firmware ("The Blinking Screen") to RomFs.
      This saved around 1KB of ROM for lite firmware.
    - Moved self test executable (flatcube by Mic) to RomFs.
      This saved around 5KB of ROM for lite firmware.
      When self test can't be read from RomFs, dummy test pattern is used
      and ability to execute self test program is disabled in that case.
      This happens when incorrectly selecting lite firmware when flashing
      cartridge, or when main executable could be decompressed, but RomFs CRC
      test failed.
    - Removed  HexEdit feature, which saved around 3.7KB on ROM side.
 - In SD card self test feature, added CRC verification of data read back from
   SD card. So far, only size of data read back from SD card was checked.
 - Removed normal/fast boot setting. Instead, put fast boot enabled by default
   except when USB dev cart is connected to PC and ODE menu is not displayed.
 - Added Rhea/Phoebe ODE image selection support.
   This is a preliminary version that needs a lot of fixes and improvements.
 - In cheat codes BSOD screen, changed key processing in order to do system
   reset when "A+B+C+Start" key combo is pressed. (It was initially set to
   "Start" button only). Also, fixed few details regarding key processing.
 - Reworked credits display. Still need to do the same with Save Data Manager.
 - Added Rmenu log display to screen when Z button is pressed on firmware
   startup, instead of USB standalone firmware shortcut key.
 - Always show system status (which kind of cartridge used, etc) at the bottom
   of the screen : so far, it was displayed on first show of main menu only.
   It is however still cleared when user pushes a button during main menu.
 - In Save Data Manager, added debug menu regarding copy settings during
   cartridge ROM dump. This is for extra testing purpose only.
 - In Save Data Manager, added extra log output to SD card during indirect dump.
   Also, log whole internal backup RAM as well as dump header to SD card on
   every indirect dump pass.
 - Fixed stupid bug ignoring save data files with wrong case in vmem module.
   This caused problem when rebuiding saves list, or after manual copy of
   save files on PC, etc.
 - Fixed 3D pad support. So far it was causing exit to multiplayer when analog
   button or pad was moved.
 - In menu module, added X+Y+Z+Start key shortcut to system reset.
 - Fixed autodump disable setting. So far it was autodumping even if disabled.
 - Fixed custom logo (background image) import. So far, it was incorrectly
   cropping images not at 320x224 dimensions.
 (Special thanks to privateye for reminding me about theses two last ones : it
  was done a couple of weeks ago, and I already forgot about them :D)

2018/03/23 (Pseudo Saturn Kai, v6.213) :
 - Fixed emergency exits to multiplayer that were making a system reset.
   It is now possible to select between exit to multiplayer or reset the Saturn.
   Examples : "waiting for CD-ROM" screen, iapetus related error screens, etc.
 - In firmware flasher utilities, added flash ROM single page write test
   before actually overwriting whole ROM.
 - Removed rmenu related items in settings page.

2018/02/18 (Pseudo Saturn Kai, v6.209) :
 - Fixed incorrect decision between in-RAM and ROM-based cheat codes handlers.
   (ROM-based was always selected in previous beta)
 - Fixed cheat codes and cheat codes settings output to compatibility report.
   This was already implemented, but done after saving compatibility report file
   to SD card. Catched the occasion to add some minor changes and/or fixes.
 - Automatically disable cheats that would overlap.
   Example : "force vitality to 100%" + "force vitality to 75%".
 - Fixed a couple of goofy bugs happening when selecting a menu item while it
   was scrolling. (display of all items suddenly turned left justified, etc)

2018/02/09 (Pseudo Saturn Kai, v6.204) :
 - Added "USB only" cheat codes handler running in RAM.
   Partially assembly optimized.
 - Added "link diagnostic" feature in Pseudo Saturn Kai.
   Supports USB dev cart and legacy "comms" link.
 - Added Pseudo Saturn Kai logo in both firmware and Save Data Manager.
 - Allow transparent color (#FF00FF = pink) usage on BMP file when importing
   background image.
   Note : when transparent color is used, starfield is not drawn on image.
 - Added Virtual Memory Cartridge support via USB dev cart to file on PC.
   For debug purpose only. Requires SatLink running on PC side.
 - Minor cosmetic fixes on flasher. Both standalone flasher and the one
   integrated in Save Data Manager were affected.
 - Fixed save list browse menu emergency exit when showing contents of empty
   save device in Save Data Manager.
   Now automatically skip display of empty devices, instead of exiting to
   parent menu when listing empty backup device.
 - Added debug feature to read indirect dump data from PC link instead of
   backup memory or FDD.
 - Added a couple of legacy firmwares to flasher.
   Also added missing screenshots for (nearly) all firmwares in flasher menu.
 - Added save/restore of custom cheat codes from/to PC link.
   (for debug purpose only, not available when USB dev cart is not detected)
 - Added Virtual Memory Cart / FDD selection menu when automatically or
   manually loading Save Data Manager.
   Games using FDD don't prompt for FDD and directly use Virtual Memory Cart
   even when FDD is connected. Use manual loader in the case it is needed to
   use saves from FDD.

2017/12/18 (Pseudo Saturn Kai, v6.184) :
 - Added autoset feature, untested when JHL loader is required.
   (CWX loader should work as on previous versions)
 - Added cheat codes support in compatibility report feature.
 - CRC[E34703CC]CRC[D253387D] : fixed master code location, and tested on real
   hardware Unusual location is used, hence may cause troubles in unusual stages
   such as boss, extra menus, etc.
 - CRC[264990EF] : fixed "play level xyz" cheats, and tested on real HW.
   Each cheats now use one code, instead of two before fix, but level number is
   no longer incremented.

2017/11/13 (Pseudo Saturn Kai, v6.175) :
 - Added 2KB reserved to cheat codes in vmem workram structure definition.
 - Added few test cheat codes for use with Save Data Manager.
 - Added redirection to BSOD from soft reset (A+B+C+Start key combo).
   Optional debug feature : it usually redirects to system reset.
 - Major fixes and screen layout improvements in BSOD screen.
 - Major changes in cheat codes interrupt handler.
 - Major speed improvement in in-RAM cheat codes handler.
   Now fits into 34 SH-2 instructions !
 - Added "0xA5 fill/detect feature" in order to look for cheat codes handler
   location (`B' code).
 - Added custom cheat codes input screen. (Debug purpose only)
 - Added compatibility reporter support for cheat codes features.
   Works with Gamer's Cartridge only.
 - Removed unused UBC and bioshack init modes from vmem.

2017/10/15 (Pseudo Saturn Kai, v6.147) :
 - Menu items multiple selection fix, regression from version 6.142.
 - Allow scrolling in menus when text is larger than display width.
   -> Cheat and game selection menus now scroll large text, but it is currently
      limited to maximum 44 characters in order to reduce cheat codes memory
      usage.
 - More IP header CRCs in cheat codes list.

2017/10/05 (Pseudo Saturn Kai, v6.142) :
 - In menus allowing multiple selection, select current item with A/C/Start
   button only when no other item is selected.
 - IP header CRC related fix in cheat codes list.

2017/09/28 (Pseudo Saturn Kai, v6.141) :
 - Allow to specify more than one IP header CRC per game in cheat codes list
 - Added IP header CRCs for around 75% of all the games in list.
 - Improved cheat codes generation report : report CRC collision, games without
   CRC, full list of cheat codes list, etc.
 - Added the ability to specify disabled item (for sub-menu purpose) and item
   enabled by default in cheat codes list. Currently in use with Sonic Jam,
   Die Hard Trilogy, etc.

2017/08/28 (Pseudo Saturn Kai, v6.138) :
 - Added cheat codes for many games. (464 games, 2345 cheats)
 - Disabled "iso loader" (which didn't supported CD-ROM access, so that's not
   a critical loss) in order to reduce flash ROM usage.

2017/07/11 (Pseudo Saturn Kai, v6.117) :
 - Removed two steps cheat codes initialization sequence.
 - Changed cheat codes interrupt handler architecture from "single function in
   ROM" to "interrupt boostrap in RAM + cheat codes handler in user-specified
   area".
 - Provide cheat codes cache location to cheat codes handler : cheats with
   unusual "B" code may work better now.
 - In cheat codes boostrap interrupt, allow to execute op-code patched by
   master code.
 - Added "enable code" support.
 - Added in-RAM cheat codes handler.

2017/06/26 (Pseudo Saturn Kai, v6.110) :
 - Fixed code selection in cheat codes handler.

2017/06/23 (Pseudo Saturn Kai, v6.109) :
 - Imported, merged and alphabetically sorted cheat codes list.
   Imported codes mostly from the_mad_joob's codes base.
 - Updated credits page regarding cheat codes' special thanks.
 - Changed Pseudo Saturn Kai compilation flags from -O2 (remain in ROM = 34KB)
   to -Os (remain in ROM = 48KB).
 - Removed boot debug mode (Z button when selecting game loader).
   Before : 42.1 KB free in ROM. After : 43.3 KB free in ROM.
 - Added exception handler screen (partially unfinished and untested).
 - Added IP header CRCs from Stac's compatibility reports to codes list.
   Purpose : skip game selection in cheat codes menus.
 - Improved behavior of cheat codes interrupt handlers.
   (provide pointer to context via parameter instead of using global variable)
 - Changed display timing of cheat codes selection menu
   Before : loader selection -> Vmem enable/disable -> cheat codes selection.
   After  : loader selection -> cheat codes selection -> Vmem enable/disable.
 - Translate patch address (according to boostub parameters) when applying
   cheat startup code.
 - Added cheat codes options configuration menu.
 - Display game IP header informations under cheat codes game selection menu.
 - In cheat codes menus, automatically skip game selection menu when CRC of the
   game loaded by Pseudo Saturn Kai is found in cheat codes games list.
   If CRC not found, default select game with title nearest to title of game
   about to load in cheat codes games selection menu.
 - Added cartridge ROM-less cheat codes handler.
   Purpose : slight speed-up of cheat codes interrupt.
   Demerit : small limit of codes useable simultaneously, USB connectivity
             not available.
 - Moved master code information (patch address/code and work RAM location) from
   codes list (ROM) to games list (RAM, compressed with main executable).
   This saved around 3KB of ROM usage.
 - Added two steps cheat codes initialization sequence, in order to keep Sega
   logo clean when booting a game ... currently not working hence disabled.
 - In cheat codes options menu, allow to fill unused HRAM with non-zero value
   (0xA5). Purpose : locate areas not used by game, hence safe for use by cheat
   codes configuration memory.

2017/06/09 (Pseudo Saturn Kai, v6.079) :
 - Fixed cheat codes configuration area setup. Tested with Radiant Silvergun !

2017/06/07 (Pseudo Saturn Kai, v6.078) :
 - Added cheat codes interrupt handler.
 - Added USB connectivity during cheat codes handler.
   Tested with Grandia and NiGHTs.

2017/05/26 (Pseudo Saturn Kai, v6.076) :
 - Added access to credits page in lite version of the firmware.
 - Added error message display when file/folder name is larger than 26
   characters.

2017/04/23 (Pseudo Saturn Kai, v6.074) :
 - By default, enable quick boot menu in full version of the firmware.
 - Save Data Manager : use floppy disk's second partition for storing indirect
   dump data.

2017/04/06 (Pseudo Saturn Kai, v6.068) :
 - Save Data Manager : fixed cartridge size detection in dump feature.
 - Save Data Manager : compression speed improvement when using indirect dump
   feature with internal backup memory.
   (no significant improvement when using FDD).
 - Save Data Manager : After dumping internal backup memory or a cartridge
   smaller than 1MB, report its save list.

2017/03/24 (Pseudo Saturn Kai, v6.064) :
 - Added virtual FDD feature.

2017/03/11 (Pseudo Saturn Kai, v6.063) :
 - Save Data Manager : added support for multiple indirect dumps on same day.
 - Added in-game soft reset patch.
   (untested, needs to be enabled from settings menu)
 - Added autodump feature (untested, needs to be enabled from settings menu)
 - Save Data Manager : In Save Data Import, fixed save format detection after
   reading a group dump file, then a single dump file small enough.
 - When FDD is detected, show "enable FDD" rather than "OFF" in ROM Hacks
   selection menu.
 - When FDD is detected, show a menu in order to select FDD or vmem before
   loading Save Data Manager.
 - Save Data Manager : in dump main menu, show contents of CS0/CS1 contents.
   (allows quick visual check of cartridge header)
 - Save Data Manager : added link selection menu (untested)

2017/02/25 (Pseudo Saturn Kai, v6.061) :
 - Virtual Memory Cart : fixed incorrect write to internal memory happening on
   specific size of save data.
 - Virtual Memory Cart : fixed internal memory format operation.
 - Save Data Manager : added internal memory test bench, and verified that the
   fixes above were OK.
 - Save Data Manager : Fixed final CRC check in indirect dump feature.
 - Save Data Manager : Minor fixes, source code cleanup (unfinished).
 - Save Data Manager : Improved progress bar display in save data import and
   save device info features.

2017/02/15 (Pseudo Saturn Kai, v6.059) :
 - Save Data Manager : added indirect dump feature (untested).

2017/02/05 (Pseudo Saturn Kai, v6.056) :
 - Save Data Manager : fixed floppy disk support.
 - Save Data Manager : fixed backup device access when only FDD is connected.
 - Save Data Manager : in "select saves to export" function, dump saves in both
   .BUP and SSF formats.
 - Save Data Manager : indirect dump feature stub (WIP).
 - Cheat codes selection menu (WIP).

2016/06/14 (Pseudo Saturn Kai, v6.037) :
 - Save Data Manager : fixed text display and saves sort in
   copy/move/delete/hexedit menus.

2016/05/31 (Pseudo Saturn Kai, v6.036) :
 - Save Data Manager : added an item to import (read, convert, save to SD card)
   custom logo from BMP file.
 - Added another item to remove (delete file on SD card) custom logo.
 - Save Data Manager : display both save data name and comment in selection menu
   (single import was already done, modified group import and save device
   browse menu).
 - Save Data Manager : added simple hex viewer in order to check cartridge
   ROM area.
 - other minor fixes.

2016/04/26 (Pseudo Saturn Kai, v6.030) :
 - In extra menu added an item to import (read, convert, save to SD card)
   custom logo from BMP file. Add another item to remove (delete file on
   SD card) custom logo.
 - In Save Data Manager, added simple hex viewer in order to check cartridge
   ROM area.
 - Fixed font color when blue background color is used in compatibility
   reporter.
 - Improved save listing in Save Data Manager from "name" to "name:comment".
 - In Save Data Manager save listing, changed device selection key from
   left/right to L/R shoulder buttons.

2016/04/15 (Pseudo Saturn Kai, v6.025) :
 - Added UBC debug screen, showing UBC break context, UBC registers contents, 
   and allowing to dump debug stuff to SD card.
 - Allow enable UBC debug screen with Z button when selecting ROM hack.
 - Added "replace" vmem initialization mode. Seems to work better than UBC
   initialization mode.
 - Added color (red, gray, yellow, blue, green) display in compatibility
   reporter feedback menu.
 - Inlined game loader related functions in a separate stub, in order to avoid
   unexpected behavior from game loader from a build to another.

2016/04/02 (Pseudo Saturn Kai, v6.000) :
 - Disable "start game" option in Pseudo Saturn Kai demo version.
 - In status area, display Saturn informations (BIOS version and display
   frequency) when SD card / USB aren't available.
 - Implemented USB dev cart firmware version and "ExecExt" functions (untested).
 - In lite version of the firmware, moved items from extra menu (system info
   and Hex Editor) to main menu.
 - Save Data Manager : display "format ? yes / no" when target device is not
   formatted during copy/move/import features.
 - Save Data Manager : display "Device full ! Abort/Continue anyway" menu
   when "not enough memory" happened during copy/move/import features.
 - Added jhl_cd_hack related debug display to screen
   (Thank you CybwerWarriorX !).
 - From now, increment release ID on each "make clean" command rather than
   every "make" command, in order to get a "normal" growth of the build ID ...

2016/02/23 (Pseudo Saturn Kai, v5.816) :
 - Added credits screen stub in Save Data Manager.
   (Pseudo Saturn Kai credits screen is still as-is).
 - Improved (?) stability around jhl_cd_hack function.
 - Added "data dump to SD card" feature (in order to spot bugs).
   (Can be enabled with Z button from loader selection screen.)
 - Cosmetic changes in text display, log messages, etc.
 - Show confirmation screen on firmware startup when logging to SD card
   is enabled.

2016/02/16 (Pseudo Saturn Kai, v5.775) :
 - Fixed USB dev cart firmware screen (Z button on startup).
 - Fixed things around jhl_cd_hack function.

2016/02/14 (Pseudo Saturn Kai, v5.669) :
 - Fixed a stupid bug that was rebuilding SD save index on each boot.
   (deleting saves should work now)
 - Fixed a stupid bug resetting Pseudo Saturn Kai settings on each boot.
 - Merged firmware flasher utility to Save Data Manager (CD-ROM version only).
   ("Basic" standalone flasher utility is still available)
 - Fixed a save filename comparison routine that could bug everything related
   to saves on SD card.
 - Write save description in text format when writing save data to SD card.
 - For each memory devices, update save in block unit as early as possible.
   (may improve game compatibility)
 - Changed SD backup device block size from 512 to 256 bytes.
   (may improve game compatibility)
 - Finally implemented BUP_Verify function for SD card device.
 - Don't poll SMPC for current time when writing save data to disc.
   (may improve game compatibility)
 - Added Japanese text display in text display routines : Save comment string
   is now correctly displayed.
 - Added support for many formats in Save Data Manager's import feature.
 - Fixed infinite loop when save to read doesn't exist in internal backup RAM
   module.
 - Removed malloc/free calls in internal backup RAM module.
   (Makes sense, because memory usage remains the same)
 - Small fixes or improvements here and there.

2015/12/30 (Pseudo Saturn Kai, v5.546) :
 - Added hybrid (Internal save data memory & SD card) device on first memory
   device.

2015/12/23 (Pseudo Saturn Kai, v5.535) :
 - Fixed time stamp support when writing/modifying files on SD card.
 - Increased maximum saves count on SD card from 100 to 400 files.
 - Keep old save data files on SD card, even after deleting/overwriting them, 
   and show the latest save file(s) on Saturn side.
   Purpose : keep history of game progression, and allow to revert to a previous
             save version.
Note : Data Structures of save data on SD card have changed, so please delete
       MEMCART folder on your SD card before installing this version.

2015/12/19 (Pseudo Saturn Kai, v5.507) :
 - JHL loader : execute bootstub directly from ROM, 
   hence can clear some more RAM before loading game.
 - CWX loader : call ipprog from bootstub directly in ROM, 
   hence can clear some more RAM before loading game, 
   and games running in Low RAM (Policenauts for example) can now be loaded.
 - Temporarily hide ROM Hacks selection menu when JHL loader is used.

2015/12/18 (Pseudo Saturn Kai, v5.493) :
 - Added USB dev mode : unlock CD-ROM and then wait for USB transfer.
   (Available only when USB cable is connected)
 - Added Rhea Menu stub (menu only, still need to add Rhea communication stuff).
 - Minor display improvements.
 - Hide unused menus in lite version of the firmware.
 - Allow to change link type in lite version of the firmware.
 - Added status (USB/SD card/etc infos) display under main menu just after
   firmware startup.
 - Minor changes/fixes in JHL bootloader.
 - Added/Fixed "SD card not found !" and "RomFs mount error !" screens on
   firmware startup.
 - Fix in "log to SD card" feature.
 - Changed "Use vmem ?" dialog to "Select ROM Hacks" dialog.

2015/12/05 (Flasher utility, v5.174) :
 - Added System Reset option in exit menu.
 - Added simple check to verify that firmware was correctly decompressed before
   flashing it.

2015/11/10 (Pseudo Saturn Kai, v4.996) :
 - Added SD card self test feature.
 - Fixed SD card SPI transfer module.
 - Source code cleaning.

2015/10/30 (Pseudo Saturn Kai, v4.929) :
 - Added SD card debug screen.

2015/10/28 (Pseudo Saturn Kai, v4.914) :
 - Changed FAT library from thinfat to fat_io_lib.
   Tested and works with a FAT32 16GB SD card on real HW.
   (Was OK with a FAT32 2GB micro SD card too).
   FAT16 file system should be OK too, untested however.
 - Added System Reset in exit menu.
 - Set LED state when using SD card :
    Green LED : exchanging SPI packet data.
    Red LED : SPI packet data exchange failure.

2015/10/23 (Pseudo Saturn Kai, v4.862) :
 - (FAT32 library) Allow to create files/directories over deleted entries.
 - FAT32 library bugfixes, source code cleanup.
 - Allow to output logs to SD card (can be enabled in Settings page).
 - Major fixes and improvements in "Systems Informations & Dump" page.

2015/10/15 (Pseudo Saturn Kai, v4.782) :
 - FAT32 library bugfixes.
 - Changes in FAT16/32 detection.
 - Added FAT32 library log display in SD card Reset&Test feature.

2015/10/10 (Pseudo Saturn Kai, v4.776) :
 - Added root folder file listing in SD card Reset&Test feature.
 - Added support of MBR when looking for FAT32 partition.

2015/10/09 (Pseudo Saturn Kai, v4.771) :
 - Added SCU debug menu and SD card sector #0 contents display in SD card
   Reset&Test feature.

2015/10/08 (Pseudo Saturn Kai, v4.750) :
 - Major fixes in SD card FAT32 library (WIP, untested).
 - Changes in SPI related code.
 - Added file open feature in Hexedit.

2015/09/29 (Pseudo Saturn Kai, v4.724) :
 - Major changes in SD card FAT32 library (WIP, untested).
 - Few fixes in SD card SPI related functions.
 - Added Hexedit feature (memory only, no file access yet).
 - Cleanup in source code.
 - Added log display on screen in "SD Card Reset & Info" screen.

2015/09/15 (Pseudo Saturn Kai, v4.629) :
 - Changes in DRAM init function, Fix when initializing/detecting DRAM.
 - Changed timeout value in boot selection menu.
 - Fixed soft reset function. Games should boot correctly now ?
 - Changes in virtual memory cart data format (.HDR+.BUP -> .BUP)
 - Allow 3D pad in flasher utility (untested).
 - In lite version, enable homebrew launch in the case SD card is detected.
 - Fixed bugs, added bugs.

2015/09/03 (Pseudo Saturn Kai, v4.559) :
 - Changes in soft reset module.
   (reset VDP2 regs -> reset VDP1 RAM -> clear HRAM)
 - In release mode (default), clear LRAM and call bios_loadcd_boot function
   from ROM. And in debug mode, call bios_loadcd_boot function from HRAM, and
   display eventual error code.
 - Enable debug mode when X key is pushed during startup.
 - Removed "auto" loader.
 - Automatically close loader selection menu after around 3 seconds of
   inactivity from user.
 - Added autoboot feature that display boot selection menu on firmware startup.
 - In lite version of firmware, use autoboot as default.
   (Minimal user interaction to boot game : power on Saturn, wait 3 seconds
    or press A button only is required.)

2015/08/28 (Pseudo Saturn Kai, v4.478) :
 - Removed non-emulated versions call in JHL loader.
 - In jhl loader, perform soft reset just before loading game.
 - Added System Information screen.
 - Minor fixes, changes, etc.
 - Minor refactoring in menu module (no visible changes).
 - Moved USB dev cart ram image from romfs to low work ram, so that it can be
   used on lite version.
 - Changes in soft reset routine.
 - Fixed bugs, added bugs.

2015/08/24 (Pseudo Saturn Kai, v4.353) :
 - Small change in JHL loader : continue to call bios_loadcd_boot function
   while return value > 0.
 - Modified bootloader in order to support exotic (non EUR/US/JPN) Saturns.
   (not tested)
 - Removed not useful things from bootloader, so that its size is now less
   than 10KB.
 - Improved pad detection (Thank you CyberWarriorX !), so that all existing
   peripherals (multipad/3D pad/whatever) should be supported now.
 - Pushing X+Y+Z on startup (before SEGA logo display) should now exit to
   multiplayer even if non-regular pad is used. (not tested)

2015/08/20 (Flasher utility, v4.338) :
  - Added Test Report feature.

2015/08/18 (Pseudo Saturn Kai, v4.333) :
 - Display BIOS and Firmware CRC32 value on startup.
   Purpose : identify BIOS version, and see if Panzer Dragoon Saga
   erases/modifies flash memory contents.
 - Added call to non-emulated BIOS functions in JHL loader.
   Functions names : bios_loadcd_init, bios_loadcd_read.

2015/08/09 (Pseudo Saturn Kai, v4.318) :
 - Use CWX/JHL bootloader select menu by default.

2015/08/08 (Pseudo Saturn Kai, v4.314) :
 - In the case JHL loader fails, try to boot game by using CWX loader.

2015/08/07 (Pseudo Saturn Kai, v4.309) :
 - Added SD card based virtual memory cart feature.
   (not tested yet).
 - Added bootloader selector (CWX/JHL/Auto).
 - Display disc header information before booting it.
 - Partially added save data import feature.
   (can read files from SD card, but save data selection menu is missing).
 - Fixed SD card related stuff, added SD card information screen.
 - Added "dump BIOS to SD card" feature.
 - Added hexedit feature in save data manager.
 - Disable features when Action Replay is used.
 - Added cheat codes selection menu.
   (Cheat codes handler, and many things around are not implemented)
 - Fixed bugs, added bugs.
 - Other changes.

2015/04/28 (USB dev cart firmware) :
 - Rebuild with GCC 5.1.

2015/03/26 (Flasher utility, v3.777) :
 - Tested on around 30 Action Replay cartridges.
   It was working fine for all known flash chips.
 - Ask for confirmation before returning to multiplayer screen.
 - Return back to initial screen in the case user don't want to go to
   multiplayer screen.
 - Retrieve and display chips IDs when firmware selection menu is displaying.
 - Fixed erase/flash operations for AT29C010 flash chips.
 - Minor fix about text display.
 - Fix for BFBF/1010 flash chips.
 - In the case Action Replay flash chips is supected, display disclaimer
   before flashing as a typical Action Replay flash device (SST29EE).
 - Refresh vendor/device IDs display during error/disclaimer message display
   in the case flash is not recognized.
 - Major changes in menu related routines.
 - Added key auto repeat feature : holding Up/Down button should scroll
   automatically now.
 - Added erase verification test.
 - If erase/write verification test failed, display informations about failure.
 - Use FRT-based delay during flash write/erase.
 - Changed highlight color in menus.
 - Change color of vendor/device strings according to chips flashability.
    - Hopeless   : red
    - Maybe OK   : yellow
    - Recognized : green

2015/03/25 (USB dev cart firmware) :
 - Fixed bug that made ROM code crashing on startup.

2015/02/xx (Pseudo Saturn Kai) :
 - Added overwrite check menu in copy/move operations.
 - Added key auto repeat feature.

2015/02/07 (Pseudo Saturn Kai, v3.722) :
 - Added "256k" (lite) version of the firmware.
 - Added item selection related code.
 - Major refactoring in menu related code.
 - Added main menu in save data manager utility.

2015/01/17 (Pseudo Saturn Kai first private release !, v3.703) :
 - Removed Action Replay firmwares from flasher.
 - Boot CD-R without displaying menu when X button is hold during startup.
   (Needs to hold X button on SEGA logo screen display timing, and don't release
    it until game is loaded.)
 - Added console in the lower half of the screen.
 - Minor changes of text display, colors, etc.
 - VDP2 register reset (same state as in SEGA logo screen) before booting CD-R.
 - Added USB dev cart link support.
 - Added USB dev cart/Action Replay link selection.
   Link type is saved in internal backup memory as "SatCom" entry.
 - Added unfinished save data manager screen ... temporarily removed in order
   to fit Action Replay flash memory size.

2014/09/24 (USB dev cart firmware) :
 - Removed MAIN_EXE (keep ROM code only).
   Consequently, removed flasher utility too.

2014/09/05 (USB dev cart firmware) :
 - Maintenance menu can be accessed by pushing X+Y+Z buttons on pad1.
 - Firmware doesn't exits to multiplayer when 3D pad whatever is used.

2014/09/02 (Flasher utility, v3.416) :
 - 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.

2014/08/24 (Flasher utility, v3.324) :
 - First public release.

2014/08/22 (Flasher utility) :
 - Changed title colors.
 - Various text positions fix.
 - Added USB dev cart firmware (can't flash on Action Replay).
 - Added erase progress display for BFBF/1010 flash chips.

2014/08/20 (Flasher utility) :
 - First beta release.

2014/04/09 (USB dev cart firmware) :
 - Added yellow and purple colors in order to differentiate each errors.

2013/05/14 (USB dev cart firmware) :
 - No changes, rebuild for public release.

2012/12/19 (USB dev cart firmware) :
 - Return to host program when START key is pressed.
 - When pad1 is not connected and pad2 is connected, use key data from pad2.
 - On flasher tool, process default/unknown flash chip as SST39SF040 chip.
 - On startup, display orange screen until user released all pad buttons.
 - On startup, display red screen in the case no pad is connected.

2012/10/24 (Custom Cartridge test program) :
 - Fixed ROM code's custom memory alocator and many other things related
   to it : now works on yabause.

2012/10/20 (Custom Cartridge test program) :
 - Put all code related to SD card and file system to ROM ... nothing work.
   Moving code above to ROM allowed to save around 30KB on Saturn application.

2012/09/23 (Custom Cartridge) :
 - Populate cartridge-based SD card reader (Rev 1a) ... nothing work, even
   test LED doesn't light up.

2012/07/27 (USB dev cart firmware) :
 - Minor changes in order to be able to use this firmware with Yabause :
    -> Limit "exit to multiplayer" keys to A-C, Start and direction keys.
 - On startup, display red screen until user released all pad buttons.

2012/07/23 (USB dev cart firmware) :
 - Made idle screen blinking, so that user can know if firmware is still running
   or just freezed.
 - Made firmware running from ROM, so that it is safe to overwrite nearly all
   Saturn RAM data.
 - Go to multiplayer screen when a key is pressed.

2012/06/10 (USB dev cart firmware) :
 - Original version by antime. Super interested in this project.
   -> http://www.iki.fi/Anders.Montonen/sega/usbcart/

2012/04/02 (Custom Cartridge) :
 - First idea about cartridge-based SD card reader.
   However don't know anything about electronics !

2011/12/09 (SD card Pad2 interface) :
 - Could dump all my memory carts via second pad to SD card, so suspended
   the project.

2011/10/14 (SD card Pad2 interface) :
 - Changed FAT32 library to libfat library.
   -> http://chishm.drunkencoders.com/libfat/
   Writing file to SD card is now possible !

2011/09/29 (SD card Pad2 interface) :
 - Changed FAT32 library to thinfat32 library.
   -> http://code.google.com/p/thinfat32/

2011/09/14 (SD card Pad2 interface) :
 - Could read file data on SD card connected to Saturn second pad.

2011/09/12 (SD card Pad2 interface) :
 - Connected Saturn pad and 1.5V battery x2 and SD card reader by using a
   breadboard -> can read SD card registers.
 - Added FAT32 read library : http://www.dharmanitech.com/

2011/08/27 (SD card Pad2 interface) :
 - Tried SMPC I/O ... communication with SD card can be performed
   at around 40KB/s ?
