Some tools I've written for Alan Hourihane's MonSTer cards
Use this to write TOS/MagiC/EmuTOS to the MonSTer's flash-ROM.
The MonSTer has a total of 2Mb Flash, divided into two "partitions". The FLASHSW jumper determines which of these partitions the ST(e) boots from. The other partition is then available for flashing. This means that if you want to flash to partition "0" (jumper not set), you need to boot from the TOS image in partition "1" (jumper set) and vice versa.
Each partition is then divided into two parts. One part which is available at the 0xFC0000 address (classic ST) and one which is available at the 0xE00000 address (STE, Mega STE). The TOSSEL jumper determines which of these the ST will boot.
With a MonSTer installed both of these TOS addresses are available to your computer, regardless of type. So you can flash e.g. TOS 1.04 or EmuTOS (192Kb) in the 0xFC0000 slot and boot from it on an STE, or flash TOS 2.06 or EmuTOS (256Kb) in the 0xE00000 slot and boot it on a plain ST.
Use "Load file" to load a TOS/EmuTOS/MagiC image. Some rudimentary sanity checks will be done to attempt to verify the file as a valid ROM image. You can load 192Kb and 256Kb images, the flash tool will automatically select the correct flash location.
With a ROM image loaded, you can do the following:
1. Patch the ROM image. These patches are available:
- Create CRC. TOS 2.06 only. This will update the TOS CRC checksum. This will be the last patch you apply to a 2.06 image, unless you also apply the next patch in which case CRC is irrelevant.
- CRC-check off. Disable the TOS 2.06 CRC-check, this will reduce bootup-time by a fraction of a second. Better to just update the CRC and keep the CRC-check.
- RAM-test off. Disable the TOS 2.06 RAM-check. This will speed up booting, but if you have a spinning disk that needs some seconds to initialise you will probably want to keep the RAM-test.
- Bootlogo. Replace the TOS 2.06 bootlogo. When you select this, you will be asked to load a Degas PI3 picture. The upper left 96*86 pixels will be used as the new TOS bootlogo.
- Y2K-fix. Fixes the date-routines for machines without stock RTC, i.e. everything except Mega ST, Mega STE and Stacy. For TOS 1.04, 1.62 and 2.06.
2. Save the patched ROM image to file.
3. Flash the loaded (and possibly patched) ROM image.
The address and offset the image will be flashed to is shown in the dialog. You will normally not need to change these, and if you do then you must know what you're doing. The flash tool will automatically pick a free flash address, if none are available you must reboot without alt-RAM enabled to free up the address space. It's recommended to always do this if you have a graphics card installed. The flash tool will try to autodetect the presence of these, but this is not tested with all cards (like the Viking card for the Mega ST). In this case it's safest to boot without alt-RAM and let the flash-tool pick the lowest available address.
Offset should not be touched unless you know exactly what you're doing.
During flashing a progress bar will be shown. First the flash region will be cleared, then the ROM image is written and verified.
It is not possible to flash when using EmuTOS on a Mega STE or an ST/Mega ST with a graphics card. On such a machine you must run either TOS or EmuTOS 192Kb when flashing.
- A collection of TOS images.
- MagiC sources and binaries. The binary archive contains binaries for Atari, Hades, Milan and MagiCMac. Before you can flash MagiC you need to convert the file MAGIC.RAM to a ROM-file using MAGICROM.
This tool will enable alt-RAM. It is only necessary with TOS 2.06 and MagiC. Previous versions of TOS does not know about alt-RAM at all and can not use it, and EmuTOS will detect and enable it automatically.
Put m_altram.prg in the auto-folder. Do not reboot yet, but start it from the desktop to configure the amount of alt-RAM to use. Normally you will use the full 8Mb, but if you have some other hardware that use some of the address space between 4Mb and 12Mb, you must reduce the amount of alt-RAM accordingly. On the Mega STE you can only use up to 6Mb, as the VME-bus occupies the address space between 10Mb and 14Mb.
Also, on the Mega STE you can optionally switch the CPU to 16MHz and enable CPU cache to speed up further booting.
m_altram.prg should run as early as possible in the auto-folder, but after magxboot.prg if you're using MagiC.
When loading a program, TOS will decide whether to load it to ST-RAM or TT/alt-RAM by looking at some flags in the program header. If you want/need to force a program to load to ST-RAM, you can change it's program header flags with some desktops or separate utilities like this. Most programs will run fine from alt-RAM, but some will have to run from ST-RAM. If a program crashes when you have alt-RAM enabled, change it's TT/alt-RAM flags and try again.
If your ST does not have a real time clock you can connect a 3.3V Dallas DS1338 RTC or compatible to the MonSTer's SCL- and SDA-lines. Buying a breakout-board with battery holder is the easiest solution.
Put m_rtc.prg in the autofolder. When it runs from the autofolder it will read the time and date from the Dallas RTC, and set the ST's clock. If you run it from the desktop you will be able to set the RTC time and date. You will have to use this tool for setting time/date, doing this with the Control Panel or any other program will not update the RTC.
Jo Even Skarstein, 2015 ->
joska at atari-forum.com