Dienstag, 7. August 2018

Modifications of my Atari 520 STm

Here comes the english tranlation of the article i wrote in german yesterday.

I spent a lot of time in the last few days on upgrading my ST 520, and wanted to share that. But it was too long for a simple forum post, so i decided to write an article about it here.

Step 1: Preparation 

In this picture, you can see the CPU in the middle. I have soldered a socket right on top of it. This is needed in order to add an IDE Adapter later. To the right you can see the IDE-CF-Adapter that i will connect to that. I just glued that on top of the ROM socket, and wired the 5V supply to a nearby spot. This means the ROM port will be blocked, since normal cartridges will no longer fit. But i don't have any cartridge anyways, and as far as i know, they were not used very often. Also, this is completely reversible. Above the CPU, where the Floppy controller used to be, i soldered in a socket. I didn't have the right one, so i just cut a 40-pin socket shorter. In between that socket and the CPU, there is one capacitor i had to change for a smaller type, because the original one was too tall to fit the HD-Module. You can also spot the single wire from the ACSI port, that is the needed IRQ signal for the IDE controller.

Step 2: HD-Floppies

The STm 520 has no internal Floppy drive, that means there is some extra effort required to be able to use HD (aka 1.44 MB) disks. Somehow, the HD-Detect signal must get from the drives to the HD-Module. If you are willing to limit yourself to a single drive, you can use the DS1 wire for that. But i wanted to have two drives. Luckily, there is a way to do that. Atari has used two ground pins on the Floppy connector. In this picture, you can see the floppy port from the inside of the ST. On the right side, one of the two ground pins is visible, and i just cut that and bent it up. Soldered onto that is the wire that gets the HD-signal to the floppy controller. That means that an original Atari Diskstation will no longer work on this port, because the floppy controller would always run in HD-Mode. But that is a compromise i was willing to take.

Here, i already plugged in the HD-Module with the Controller chip on top. This sits very close to the CPU, and i had to file off a bit of the PCB to make it fit. Space is very limited here, and there is no way the metal shield will still fit in here. But that is not required for the ST to work, and it is totally reversible. And my main concern was to keep the ST unmodified on the outside. Aside from a bit of yellowing on some keys, this ST is in perfect condition, including the original packaging and all. Therefore, i want it to look really original as well. But for several reasons, the HD-Mod was important to me. Firstly, the space on a 720 kB disk is very limited. With RAMTOS loader a TOS image, IDE- and ANSI-drivers, the disk is already almost full. Secondly, HD disks are not only twice as big, but also twice as fast, so the boot time is cut in half. And last but not least, those DD-disks are really hard to get these days, while HD disks are still available in many stores.

Step 3: IDE-Adaptor

The IDE adaptor i use here is a handwired one, based on the known c't design. The two empty sockets are for 74HCT245 bus drivers, but i never got those to work. That is not a problem in this case, because i will only use a very short cable. The HD-Module is now completely covered under the IDE adaptor, just the cable for the HD signal is visible on the left. The module i used here is very versatile, so it has more wires than i actually need. Since i put a bit more effort in the modification of the drives themselfes, one single wire would be sufficient here. But more on that later. As you can also see, i mounted a small fan to the top cover. Not permanently, i just used a bit of glue-gum or whatever it is actually called. That can be removed without residue if needed. It is obvious in this picture that not only the floppy controller, but also the CPU are completely covered now, and that makes passive cooling impossible. While testing, i encountered read and write errors on disks, but they completely dissapeared with this additional forced airflow.

A little creativity was required for routing the IDE cable. Directly next to the CF socket, there is one of the screw holes that hold the machine together. If you enlarge the picture, you can see that i also had to modify that a little bit. But since that is hidden inside the case, and has no influence on the function, i convinced myself to do it. This finishes the modifications inside the ST, all thats left to do is modify the actual drives themselfes.

Step 4: Floppydrives

Most people use the very simple method of just running a wire from the HD sensor inside the drive to pin 2 on the ribbon connector. While this works, it has some downsides to it. Because if done that way, the drive always pulls the HD signal low, as long as there is a HD disk in the drive. This means the HD-Module has to know when the drive is actually active, in order to not permanently overclock the floppy controller. It also makes it impossible to use DD and HD disks on the same cable. On top of that, Atari used a diffrent way to detect a disk change. In Ataris, the WP (write protect) line is pulled low not only when a write protected disk is in the drive, but also when the drive is empty.

Lucky for me, someone already thought this through and developed a circuit for that. It just needs a single 74LS03 chip, that is a NAND chip with 4 gates and open collector outputs. Only 3 of the 4 NAND gates are used here. One of them is free, in case one of the signals inside the drive needs to be inverted. I just glued the 74LS03 to a free spot on the PCB, and used strands of ribbon cable to wire it all up. It looks kind of messy here, bit this drive, a SONY MPF920, has a full metal cover on the bottom side. The chip fits under that just perfectly, and the wires will be protected while handling and mounting the drive. That is why i did not fix the cables any more. Many drives are open on the bottom, and in this case, i would have glued the cables onto the PCB as well. This little circuit generates the HD signal and the Atari-style disk change detection, all in one. The schematic for that, and another drive model as an example can be found here: http://atari.8bitchip.info/flomodam.html

Thats basically it, all thats still needed is a cable and case for the external disk drives. One could modify  the original Atari Diskstation for that, by cutting the second ground pin there as well, and connecting it to pin 2 on the disk drive. With this modification, the drive will only output a HD signal when it is beeing accessed by the computer, so that the floppy controller is only overclocked when neccessary.

Montag, 6. August 2018

Atari 520STm Modifikationen

In den letzten Tagen hab ich ziemlich viel an meinem Atari 520 herumgebastelt, und möchte das ganze auch gerne teilen. Aber es ist ein bisschen zu umfangreich für einen Forumspost, deshalb schreibe ich hier einen Artikel darüber.

Schritt 1: Vorbereitung

Auf diesem Bild sieht man in der
Mitte die CPU, die ich mit einem passenden Sockel "gekrönt" habe. Das ist nötig, um einen IDE-Adapter einbauen zu können. Am linken Rand ist der dazugehörige IDE->CF Adapter. Diesen habe ich einfach mit Uhu auf den ROM-Cartridge Steckplatz geklebt. Das bedeutet zwar das eine normale Cratridge jetzt nichtmehr hinein passt, aber die werden eher selten benutzt, ich selbst habe nicht eine einzige, und es ist komplett rückbaubar. Obderhalb der CPU, wo eigentlich der Floppycontroller sitzt, habe ich einen Sockel eingelötet. Zwischen diesem und der CPU musste ich noch den Elko durch einen kleineren ersetzen, sonst würde das HD-Floppy-Modul nicht passen. Neben dem Floppy-Sockel hab ich die 5V für die CF-Karte abgezapft. Außerdem sieht man noch die einzelne Leitung die ich vom ACSI-Port für den IDE-Adapter verlegt habe.

Schritt 2: HD-Floppies


Der ST 520 hat kein internes Diskettenlaufwerk, daher ist ein bisschen zusätzlicher Aufwand nötig um HD-Disketten benutzen zu können. Dafür muß irgendwie das HD-Detect Signal von den Laufwerken zum HD-Modul geführt werden. Wenn man bereit ist, sich auf ein einzelnes Laufwerk zu beschränken, dann kann man dafür die DS1-Leitung nehmen. Ich wollte aber auf jeden Fall zwei Laufwerke haben. Zum Glück gibt es einen Ausweg, denn Atari hat auf diesem Anschluß zwei Masseleitungen verbaut. Hier sieht man die Floppy-Buchse des ST von der Rückseite. Auf der rechten Seite davon ist einer der beiden Massepins sichtbar, und diesen habe ich am unteren Ende abgezwickt und hoch gebogen. Daran angelötet ist die Leitung die das HD-Signal zum Floppycontroller führt. Das bedeutet, das eine original Atari Diskstation nichtmehr an dieser Buchse funktioniert, weil der Controller damit permanent im HD-Modus arbeiten würde. Das ist aber ein Kompromiss, den ich bereit bin einzugehen.

Hier ist schon das HD-Modul mit dem Controller gesteckt. Dieses sitzt extrem dicht neben der CPU, und ich musste die Platine tatsächlich ein bisschen zurecht feilen, damit es so passt. Die Platzverhältnisse sind hier sehr beengt, und mit allen Modifikationen passt auf jeden Fall das original Abschirmblech nichtmehr. Aber auch das ist voll umkehrbar. Und das war mir wichtig, auch das der ST von außen unverbastelt bleibt. Bis auf ein bisschen Gilb ist dieser ST in einem fast perfekten Zustand, ich hab auch noch die Originalverpackung und alles. Da soll er auch möglichst original aussehen. Die HD-Floppy Modifikation war mir aber sehr wichtig, aus mehreren Gründen. Zum einen ist natürlich der Platz auf einer DD-Diskette sehr begrenzt. Mit RAMTOS Loader, einem TOS-Image, Festplatten- und ANSI-Treiber sind die 720 kB schon fast ausgeschöpft. Aber HD-Disketten sind nicht nur doppelt so groß, sondern auch doppelt so schnell. Das beschleunigt den Bootvorgang ganz erheblich. Dazu kommt noch, das DD-Disketten inzwischen sehr selten geworden sind, HD-Disketten sind aber noch neu im Laden zu bekommen.

Schritt 3: IDE-Adapter

Der IDE-Adapter den ich hier einbaue ist eine Handarbeit nach der bekannten Schaltung aus der c't. Die beiden leeren Sockel sind für 74HCT245 Bustreiber vorgesehen. Aber die habe ich nicht zum funktionieren gebracht. Da hier aber nur ein relativ kurzes Kabel zum Einsatz kommt, ist das kein Problem. Das HD-Floppy-Modul ist jetzt komplett unter dem IDE-Adapter unsichtbar. Man sieht nur links das Kabel herauskommen das das HD-Signal führt. Das HD-Modul ist sehr vielseitig, daher hat es mehr Leitungen als hier nötig sind. Ich habe beim Umbau der Floppylaufwerke etwas mehr Aufwand betrieben, daher würde eine einzige Leitung für das HD-Signal eigentlich ausreichen. Doch dazu später mehr. Was man hier auch sehen kann, ich hab im Gehäusedeckel einen kleinen Lüfter montiert. Nicht fest, sondern nur mit Klebegummi, das sich rückstandsfrei wieder entfernen lässt. Auf diesem Bild sieht man sehr deutlich, das sowohl die CPU als auch der Floppycontroller komplett verdeckt sind, und das macht eine passive Kühlung praktisch unmöglich. Bei Tests habe ich immer wieder Lese- oder Schreibfehler auf Disketten gehabt, die erst mit der zusätzlichen "Zwangsbeatmung" verschwunden sind.

Ein bisschen Kreativität ist dann noch nötig beim Verlegen des IDE-Kabels. Direkt neben dem CF-Adapter befindet sich nämlich einer der Befestigungspunkte mit denen der Rechner zusammen geschraubt wird. Wenn man das Bild vergrößert, kann man erkennen das ich auch diesen ein bisschen modifizieren musste. Da das aber im Gehäuseinneren ist, und auf die normale Funktion keinen Einfluss hat, konnte ich mich dazu durchringen.

Damit ist im Atari ST eigentlich alles erledigt, bleibt nurnoch die Modifikation der Floppylaufwerke selbst.

Schritt 4: Laufwerke

Die meisten greifen hier auf eine sehr einfache Möglichkeit zurück, einfach den HD-Sensor im Laufwerk mit Pin2 am Kabelanschluß zu verbinden. Das funktioniert zwar, hat aber einige Einschränkungen. Denn das Laufwerk zieht den HD-Pin dann immer auf Low, sobald eine HD-Disk im Laufwerk liegt. Daher muss dann die HD-Platine wissen, wann ein Laufwerk angesprochen wird, um den Controller-IC nicht permanent mit der doppelten Taktrate zu betreiben. Außerdem unterstützen normale PC-Floppies nicht die Methode, die Atari gewählt hat, um einen Diskettenwechsel zu erkennen. Bei Atari wird dazu die Write-Protect Leitung nicht nur dann auf Masse gezogen, wenn eine schreibgeschützte Diskette im Laufwerk liegt, sondern auch dann, wenn das Laufwerk leer ist.

Zum Glück hat sich dazu schonmal jemand gründlich Gedanken gemacht und eine entsprechende Schaltung entwickelt. Benötigt wird dazu nur ein einziger 74LS03 Chip, ein Open Collector NAND Baustein mit vier Gattern. Von denen werden nur drei gebraucht, eins ist frei als Inverter, für den Fall das der HD-Sensor im Laufwerk nicht Low- sondern High-Aktiv ist.
Ich hab den 74LS03 auf einer freien Stelle der Platine mit ein bisschen Uhu festgeklebt, und die nötigen Verbindungen mit einzelnen Drähten eines Flachbandkabels gemacht. Das sieht hier ziemlich Chaotisch aus, aber bei diesem Laufwerk, einem Sony MPF920, ist die Unterseite komplett mit einer Metallabdeckung verschlossen. Da passt der Chip gerade so drunter, und die Leitungen laufen nicht Gefahr beim Montieren des Laufwerks irgendwo hängen zu bleiben. Daher hab ich hier auf zusätzliche Sicherung verzichtet. Viele Laufwerke sind auf der Unterseite offen, da würde ich dringend dazu raten die Leitungen mit etwas Kleber auf der Platine zu sichern. Diese kleine Schaltung erledigt sowohl die HD-Erkennung, als auch das Diskwechsel-Signal auf Atari-Art. Das Schaltbild dazu, und ein Beispiel mit einem anderen Laufwerk (Chinon FG-357) findet sich hier: http://atari.8bitchip.info/flomodam.html

Das wars eigentlich schon, fehlt nurnoch das externe Kabel vom Atari zum Laufwerk, sowie ein Laufwerksgehäuse. Man kann dafür eine original Atari Diskstation umbauen, natürlich muss dann auch dort der doppelte Massepin abgetrennt und mit dem HD-Signal belegt werden. Das Laufwerk gibt nach diesem Umbau wirklich nur dann ein HD-Signal aus, wenn es vom Rechner aus angesprochen wird, dadurch wird der Floppycontroller nur dann übertaktet, wenn es auch wirklich nötig ist.