Reconfiguring CosmosEx for the Atari ST

My CosmosEx (a floppy and hard disk replacement for the Atari ST) has recently started to hang on booting up with 3 yellow lights, and never completes it’s boot. It’s random though, if I power if off and try again, it seems it boots successfully about 1 in 5 tries.

I guessed it might be the original SD card that was starting to fail, so downloaded the latest image, flashed a new SD card. Rebooting now, it’s booting reliably every time.

Since this is a new startup from a fresh install, the initial disk device settings after first boot, are back to defaults. Accessing the CosmosEx via the web interface (the IP is displayed on the boot output if you connect an HDMI monitor), here’s the default settings:

I reconfigured the devices per the quick start guide here:

Installing a CosmosEx on an Atari ST (SD card based HD and floppy replacement)

I’ve had my eye on the CosmosEx device for the Atari ST for a while – it provides SD card based harddrive support, floppy emulation using .st image files, and has support for USB based flashdrives, either formatted in ST or DOS format. I decided to finally order one and it arrived this weekend.


The most incredible thing is it’s built around a Raspberry Pi, plus some other additional custom built hardware. Quite an incredible piece of custom designed and built kit.

My first dilemma was whether I should connect it as an external floppy drive (requiring to find a DIN 14 cable which is apparently hard to come by nowdays), or replace my internal floppy drive with the CosmosEx. Given that the CosmosEx connects directly to the internal floppy ribbon cable and power supply, this seems like a much easier option. To mount it permanently in the case you have to cut a notch at the back of the case for the harddrive connector, and widen the existing floppy disk access so you can get to the entire front of the CosmosEx device when inside the case.

I’m not sure I wanted to go that far, so it’s currently mounted loosely inside with the top cover off, and I have ordered an IDE floppy extension cable so I can extend the cable outside the case and have the CosmosEx sit on top of the case.

I’ve learnt a bunch of random things getting this setup this weekend:

  • TOS 1.0 ROMs can only access 256MB hard disk partitions. The HD support is also pretty buggy and terrible (generally known fact), so upgrading to 1.04 may be a future project.
  • The SC1224 Atari color monitor does in fact support both 50Hz (European) and 60Hz (US) games if you adjust the vertical sync just right with a screwdriver in the vsync hole on the back of the monitor. From playing with menu disks burnt to real floppies in the past, I’d come to the conclusion that I couldn’t play any menu disks that were deliberately changing to 50hz (like most European games do) because the  monitor would start rolling. If you adjust the vsync though just enough to stop the rolling, when toggling back and forth from 50 to 60Hz the monitor does actually adjust between the two modes automatically. I hadn’t worked this out before, but some Googling about the SC1224 monitor did say that it supported both modes, and yes, it does (I have the Goldstar model)

So far I have an SD card partitioned with a few 256MB partitions and I’m using the ICD driver. This is apparently not the best available driver but is currently free, so trying this one out for a while.

So far, very happy! The option to download .st images on the fly from an internet connection is also very cool!

Mounting Atari ST floppies on Ubuntu

I’m transferring some apps downloaded for my Atari ST (don’t ask) to floppies that are formatted with 80 tracks and 8 or 9 sectors, on double density disks (formatted on the ST). From what I understand these are MS-DOS readable but not exactly FAT format. Anyway, they don’t seem to mount by default on Ubuntu as it doesn’t know what format they are, but forcing a mount with this seems to work:

sudo udisks --mount /dev/fd0

seems to do the job (tip from here)

Creating Atari ST disks from disk image files on Linux

Steps taken from article here.

Check disk geometry of disk image file – copy this to a .sh file and run it against a .st disk image:

#!/bin/sh od -v -Ad -t u1 -w1 $1 | awk 'NR==20 {sl=$2} NR==21 {sh=$2}
 NR==25 {spt=$2} NR==27 {s=$2; 
print "Sides: " s " Sectors: " spt " Tracks: " (sh * 256 + sl) / spt / s; exit}'

Format a 720k floppy using the sector and cylinder numbers from the prior step:

superformat /dev/fd0 dd ds sect=10 cyl=80

Copy the image to the disk:

cp /dev/fd0