ultraTos is a CPLD based Tos switcher for Atari 1040STE.
This is how it looks like:
With ultraTos you are able boot up into 6 different Tos versions.
How does it work?
ultraTos has 3 SPI EEProms with 512kb each. After a switch on the CPLD reads the Tos from the SPI EEprom into ram. Loading into ram needs less than a second.
After loading the Tos the 68k can read the Tos from the ram.
How can I flash the Tos?
The Tos rom are flashable over the Atari by starting the flash tool on the Atari desktop. It's just a small tool with a file selector and keyboard input.
What about bad flashing?
ultraTos comes with a preinstalled Tos version at slot 1. This slot is not possible to flash to avoid a bad flashing.
How to switch the Tos?
ultraTos uses jumpers to set which Tos to boot from at startup.
This is not very handy if you just want to switch a Tos to test something.
It is possible to change the Tos during runtime without a switch off! For this you can start the Tos boot selector Prg on your Atari. After selecting the Tos to boot the Atari resets and boots into the selected Tos.
You can select the first 4 Tos Roms by jumper the other 2 are only available over Tos boot selector.
ultraDev implementation
ultraTos is recognised by ultraDev and enables some additional features in the cartridge screen. You can list the flashed Tos versions and directly select a Tos to boot from in the cartridge screen.
It is also possible to boot the Atari into a new Tos with the ultraDev command line tool.
This setting is not presistent after a switch off the Atari will boot again the Tos you selected with your jumper setting.
See ultraTos in action
The video shows how flashing, booting into a new tos and ultraDev implementation works. Booting from 2.16 I cut out a bit loading time do not wonder...
Is it hard to install ultraTos?
No. It's more or less plug and play means ultraTos does not need extra cables from the motherboard all is done over the two standard EProm sockets.
ultraTos supports by default two different EProm settings from the Atari PCB (original Atari roms and the 27c010 EProms) which one to use can be set by a Jumper.
Will Tos 1.x versions work?
Yes. The flash tool recognises Tos 1.x and will relocate the Tos to run at the correct address.
ultraTos uses RamTos to relocate 1.x Tos versions. Means not all Tos languages are supported only these which are working with RamTos.
RamTos was developed by P. Putnik thanks for allowing me to use it ;) check the RamTos here: http://atari.8bitchip.info/astopensw.php#seltos
Supported plattforms
ultraTos is designed for the 1040STE. It should work on 520STE too but I can't check if the two eproms for the Tos has the same distance and if the PCB collides with other components since I do not have one.
Will it work on a plain ST?
No or better not plug and play. ST uses a different Rom area and it's not possible to use 256kb Tos versions without an additional hardware hack. Means I'm not planning to do a solution for a plain ST.
The other problem with the ST is that there are quite a few PCB revisions I checked some time ago a few and after 3 different layouts for the Roms I stopped and it was clear I'll not support ST.
If you are a soldering king and able to map the rom accesses to $e00000 and solder all address- and data lines by hand it works I think... maybe ;) Or maybe someone can create a converter PCB?
Will it work on a Mega STE?
No the Roms have a different placement and the placement is not very optimal (very limited space). I'm not planning to do a special version for Mega STE.
Will it work on a STE 32mhz booster?
I don't think so. The CPLD is clocked with 50mhz that is I guess too less for 32mhz. Getting this to run on 32mhz is quite a bit of work. Currently no plans to support this.
Is the project open source?
Nope.
Preordering and current preorders
The project is currently on hold for quite a few reasons. One reason is the global chip shortage.