Wizard operation

FM Towns tower can be powered on with or without SD card in Wizard, and the card can be replaced while the computer is running. This does require certain degree of dexterity so the general approach should be to use higher capacity cards to reduce the need of card swapping. To prevent Wizard from booting the 01 image automatically once the system is turned on leave that folder empty and populate card starting with 02.

On Towns II models it is possible to over-ride boot source selection during reset sequence, and there is also the option to swith ODE to pass-through operation. Note that if the original CD-ROM is not connected, the pass-through will cause the computer to wait a very long time on the boot screen for status response.

IMPORTANT: Do not switch between pass-through / ODE modes when the computer is running. While this should not result in any hardware damage, it will not work properly until a power-cycle is performed. To avoid any issues always power off before switching modes.

When SD card is inserted the ODE will select image 01. To switch to next image on the card press the button beside the card socket. Once the last image on the card is reached the device will jump back to 01. You can also use Wizard Spellbook, see the HOWTO below.

It is possible to play multi-disc games by either storing all the images on the same card and selecting them with the button, or by swapping the cards.

There is a status LED on the Wizard, it should blink once during power-up and then remain off. If the LED is lit, or starts blinking during gameplay, an internal error has occured. There are many possible causes of that, including SD card data transfer errors. The only way to restart correct operation of the device is to power-cycle the entire computer. If the problem persists try a different card brand/size. If nothing else helps file a bug report.

INI file:

A simple text INI file can be put into root folder of the SD card to modify some of the ODE default settings. The file should be named Wizard.ini.

IMPORTANT: Settings are read during SD card detection phase, so changing the card will result in Wizard re-reading them again. This way it is possible to have different settings per card. If no INI file is found, the previous values will remain in effect.

Available settings:

  • open_time = N

Where N is natural number in range 150 to 5000, expressed in miliseconds. Defines how long the ODE will idle with “lid open” status presented to the console after image change. Default is 500ms.

  • detect_time = N

Where N is natural number in range 150 to 5000, expressed in miliseconds. Defines how long the ODE will idle with “busy” status presented to the console after image change. Default is 250ms.

  • image_tests = B

Where B is 0 (disabled) or 1 (enabled). If disabled, image integrity tests will be relaxed to allow oversized media. Note that correct operation is not guaranteed with such images. Default is enabled.

  • high_speed = B

Where B is 0 (disabled) or 1 (enabled). If enabled, the device will transfer data from SD card in high speed mode. Note that this is an experimental option and might not work properly. Default is disabled.

IMPORTANT: Do not use high speed with SD slot extender cables, this never works properly.

Wizard Spellbook HOWTO:

Spellbook is a program for FM Towns that will let you select the image you want Wizard ODE to load through a simple on-screen user interface.

1) You can start with a freshly formatted or already populated SD card but make sure the 01 folder exists and is empty. For performance reasons it’s best to create 01 folder as the first thing on the card but it’s not much of a difference either way.

2) Download the Spellbook package, decompress it into 01 folder on the card. Make sure your decompression program preserves folder structure because there should be a “data” subfolder there now with some FM Towns specific files.

3) Do not edit, rename or delete any of the files in 01 folder. Do not add any files there that could be recognized by the ODE as CD-ROM image.

4) If you already have a Wizard.ini file, add the following line to it:

reset_goto = 1

If not just copy it from 01 folder to the card’s root folder.

5) Populate the card with CD-ROM images, each one in a separate folder. Folder names must be numbers in 02-99, 100-999 range. There is a limit of 999 images but Spellbook does not require the numbering to be contiguous – although in that case you won’t be able to reach images beyond the first gap using the PCB button anymore.

6) In each image folder create a text file named title.txt, then edit it and put the program/game name into the first line. Stick to ASCII only for now and limit the name length to 127 characters or less.

7) Once you’re done with all descriptions go back to 01 folder and execute the RunMe.bat file. This will run the title scanner and generate a file for Spellbook to use, then build a bootable ISO image.

And that’s it. The menu is very simple, you can move the selection with the up/down buttons. Left/right will jump pages. A button boots the selected title and SELECT will display some basic system information (A or B will return you back to menu). Currently only gamepad can be used for the menu control, keyboard support will be added later. Color customization and optional background image support will also be added later.
Once you’re done playing press the computer Reset button to boot the Spellbook again (that’s assuming you did modify the INI file in step 4).

Few notes about the game title scanner:
– 01 folder is never included in the list
– if there is no title.txt file the folder will be ignored
– there is no check if the folder actually contains a valid CD image

Since the ISO volume names are not always present or sane for FM Towns games, it’s not really possible to use those to automatically generate titles. It should be possible to build a database of known games – but it can’t be based on entire image hash/checksum, that would take too much time to calculate during scanning. So for that to happen I have to first figure out a minimal amount of sector data that would be unique for all games and programs.