Add new attachment

Only authorized users are allowed to upload new attachments.

This page (revision-8) was last changed on 27-Dec-2010 16:19 by Carsten Strotmann  

This page was created on 27-Dec-2010 15:50 by Carsten Strotmann

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Difference between version and

At line 99 added 59 lines
!!Das SPEEDY-System, Teil 2
von E. Reuß
Es fing alles mit einer ATARI 810 Floppy an. Dieses damals sehr teure und ebenso langsame Laufwerk verlangte einfach nach einem Speeder. Es dauerte eine ganze Zeit, bis die ersten Entwicklungen auf dem Markt auftauchten. Es ist heute leider nicht mehr genau nachvollziehbar, welches Produkt als erstes auf den Markt kam, fest steht jedoch, daß Ähnlichkeiten untereinander nicht auszuschließen waren. So fand man einige Routinen in der Software der 'Backup Machine', dem Vorgänger der Turbo 1050, auch in der 'Replica'.
Beide Speeder nutzten lediglich ein verändertes Diskettenformat, genauer gesagt eine andere Anordnung der Sektoren um eine Geschwindigkeitssteigerung zu erreichen. Die Erhöhung der Geschwindigkeit betrug nur etwa 10%. Wichtiger jedoch war die Tatsache, daß es nun auch möglich war, Kopien von kopiergeschützter Software anzufertigen.
Bald kam die Sensation aus Amerika: Die Happy 810. Mit diesem Speeder wurde erstmals eine echte Geschwindigkeitssteigerung erreicht. Happy Computers Inc. baute 4 kByte RAM auf die etwa 800.-- DM teure Erweiterung. Hierdurch konnten die Daten eines kompletten Tracks zwischengespeichert werden. Dieser Trackbuffer erwies sich jedoch als sehr problematisch, da die Elektronik keinen Diskettenwechsel feststellen konnte. Es passierte deshalb sehr oft, daß man das Directory auf einer anderen Diskette wiederfand.
Der hohe Preis und die schlechte Beschaffbarkeit einer originalen 'HAPPY 810' förderte die Erstellung von Raubkopien. Die HAPPY 810 bestand aus Standard-Bauteilen was den Nachbau natürlich vereinfacht hat. Es gab wohl kaum einen Besitzer einer 810, der nicht einen solchen HAPPY-Nachbau in seiner Floppy hatte. Auch ich besaß damals eine solche Erweiterung, woher auch immer. Schon bald versuchte ich die Fehler in der Software der HAPPY 810 zu beseitigen, doch zur damaligen Zeit hatte ich noch keine so große Erfahrung in der Maschinensprach-Programmierung und ich konnte das Problem mit dem Diskettenwechsel nur durch Einbau einer kleinen Zusatzschaltung beseitigen.
Die HAPPY 810 wurde zur Super-Kopierstation. Hier wurde nun endlich auch die serielle Übertragungsrate vom und zum Computer heraufgesetzt. Mit der 'WARP-SPEED' konnten Disketten für damalige Verhältnisse rasend schnell kopiert werden. Das 'WARP-SPEED-DOS', ein modifiziertes DOS 2.0, erlaubte die hohe Geschwindigkeit auch vom Basic aus zu nutzen.
Das HAPPY-Backup war das Beste überhaupt. Mit Hilfe einer kleinen Zusatzschaltung konnte die Geschwindigkeit des Antriebsmotors vom Backup gesteuert werden. Hierdurch war es möglich, Disketten zu kopieren, bei denen alle anderen Kopiersysteme versagten.
Bald kamen die ersten 1050 Laufwerke auf den Markt. ATARI hatte leider wieder an der Hardware gespart und auch in dieses Laufwerk keinen Speeder fest eingebaut. Noch viel schlimmer, statt nun endlich das echte DOUBLE-Density Format zu nutzen, wurde ein Zwischenformat eingeführt, DUAL-Density, 26 Sektoren pro Track mit 128 Bytes pro Sektor. Der Einbau eines größeren RAM hätte genügt, um das Laufwerk auch DOUBLE-Density fähig zu machen.
Auch hier waren die Entwickler gefordert, einen Speeder für dieses Laufwerk zu entwickeln. Alles wartete also auf die Entwicklung der HAPPY 1050. Die Enttäuschung war groß, als die ersten Originale in Deutschland eintrafen und sich auf der Platine ein Spezialchip befand. Dieses war ein maskenprogrammiertes 8k ROM, das in zwei 4k Bänke unterteilt war. Ein paar schlaue Entwickler hatten schon bald die Lösung für das Problem mit dem Nachbau. 5 TTL Chips besorgten die notwendige Umschaltung und die Verwendung eines 8k EPROMs.
Schon bald erschienen die Raubkopien der HAPPY 1050 in rauhen Mengen, wußte doch keiner, wie er an ein Original aus Amerika kommen sollte. Auch ich arbeitete damals mit solch einer Raubkopie. Datensicherheit wurde bei Happy anscheinend immer sehr klein geschrieben. Auch bei der HAPPY 1050 war die Gefahr sehr groß, bei einem Diskettenwechsel Daten zu verlieren, obwohl das Laufwerk einen Wechsel sofort meldet.
Mit der HAPPY 1050 wurde es endlich möglich, echte DOUBLE-Density (180k) auf eine Diskettenseite zu bringen. Die maximale Übertragungsrate war leider bei der Original Happy 1050 genau so hoch wie das 'WARP-SPEED' der Happy 810. Auf der Happy 1050 Systemdiskette befand sich eine Datei, mit der es möglich war, die Übertragungsrate noch einmal zu erhöhen. Ultra-Speed war der neue Standard, eingeführt von ICD mit dem US Doubler.
Ein besonders pfiffiger Programmierer brachte es fertig, die Ultra-Speed Routinen fest in das Happy-EPROM einzubrennen. Nun mußte nicht jedesmal die Systemdiskette eingeladen werden, um die hohe Datenübertragung der Ultra Speed nutzen zu können. Doch das war nicht alles. Eine Trackanzeige war von HAPPY Computer Inc. ebenfalls nicht vorgesehen gewesen. Auch die hierzu notwendigen Routinen wurden nachträglich in die Original-Software integriert. Beide Erweiterungen, Ultra-Speed und Trackanzeige, stammten nicht von HCI.
Kopieren konnte jeder die Hard- und Software der Happy 1050, kaum einer brachte es jedoch fertig, die Fehler in der Software zu beseitigen. HCI hatte die Software im EPROM der Happy leider so kompliziert geschrieben, daß kaum einer durch die zum Teil sehr umständlichen Routinen durchgeblickt hat. Unnützerweise hatte HCI das 8k EPROM noch durch Bankswitching in zwei 4k Bereiche aufgeteilt, obwohl der 6502 Prozessor auf der Platine 64 kByte adressieren kann.
Hier war der Punkt gekommen, an dem wir uns ernsthaft Gedanken zu einem eigenen Floppyspeeder machten. Um die Software zu diesem Projekt zu entwickeln, mußte erst einmal die Hardware stehen, um die Hardware zu entwickeln, mußten erst einmal die Teile der Software existieren. Unser erster Probeaufbau befand sich bald auf einer umgebauten Happy-Platine. Einige Änderungen waren notwendig um unser Konzept zu realisieren. Der 6502 Prozessor der Happy 1050 wurde durch den um mehrere Befehle erweiterten C-MOS Prozessor 65C02 ersetzt. Das aufwendige Bankswitching wurde vollständig eingespart. Für die Grundversion der SPEEDY 1050 wurden also nur noch 5 IC's benötigt. Die einzige Ähnlichkeit zur Happy 1050 bestand zum Schluß nur noch in der Adressierung der Bausteine, hier konnte keine Änderung vorgenommen werden, ein 6502-System verlangt nun mal nach einem ROM im oberen Adressbereich.
Die Grundversion der SPEEDY 1050 besteht somit aus dem Prozessor 65C02, dem EPROM 2764, dem RAM 4264, einem Gatterbaustein 74LS00 zur Erzeugung des RAM-Read/Write Signals und dem 74LS139 zur Adressdekodierung. Die Speedy-Platinen waren ursprünglich nur für 8 kByte EPROM vorgesehen. Da in der Hardware aber ein 16k-Bereich für ROM vorgesehen ist, konnte die normale SPEEDY durch das Legen einer Drahtbrücke schnell für das SPEEDY-S oder -D System vorbereitet werden.
In der Hardware der SPEEDY 1050 wurde direkt die Trackanzeige integriert. Der Adressdekoder 74LS139 stellt die hierzu benötigten Selektsignale zur Verfügung. Der Summer, oder besser gesagt Pieper wurde zum Schluß eingebaut. Die Idee hierzu kam uns, nachdem wir mehrfach die Diskette zu früh aus dem Laufwerk genommen hatten. Ein akustisches Signal sollte dem Anwender anzeigen, daß er die Diskette schnell wieder in das Laufwerk stecken soll.
Alle Bauteile, die für den Betrieb der Trackanzeige und des Miniaturlautsprechers notwendig sind, kamen mit auf die SPEEDY Grundplatine. Das Display wurde mit einem Flachbandkabel und einem Steckverbinder mit der Grundplatine verbunden.
Die Mini-Speedy ist im Prinzip eine normale Speedy 1050 ohne die Bauteile, die für die Trackanzeige und dem Miniaturlautsprecher notwendig sind. Ein paar Änderungen wurden jedoch zur normalen Speedy vorgenommen. 16k-Eproms können direkt eingesetzt werden. Zwei weiter IC's sind für die Anfang '89 vorgesehene 32k-Version vorgesehen.
Dieses war nun unsere Einführung in die Hardware der Speedy. Für Sie als zukünftige Programmierer der Speedy ist nun noch die Aufteilung der Speicherbereiche wichtig. Die Programmierung der einzelnen Bausteine wird in den folgenden Teilen unserer Serie über die SPEEDY 1050 erklärt.
{{{
Adresse: belegt mit:
0000 - 0080 RAM
0100 - 0180 RAM (0000-0080 gespiegelt)
0280 - 029F PIO 6532
0400 - 0403 Controller WD2793
4000 Trackdisplay 1er
4001 Trackdisplay 10er
4002 Trackdisplay Density
4003 Miniaturlautsprecher
8000 - 9FFF RAM 8 kByte
C000 - FFFF EPROM 16 kByte
oder
E000 - FFFF EPROM 8 kByte
Zusätzliche Bereiche bei der MINI-Speedy 32k-Version:
1000
+ 2000 Umschaltung der 16k-Bänke
C000 - FFFF 2 mal 16 kByte ROM
}}}
Version Date Modified Size Author Changes ... Change note
8 27-Dec-2010 16:19 68.731 kB Carsten Strotmann to previous
7 27-Dec-2010 16:18 59.163 kB Carsten Strotmann to previous | to last
6 27-Dec-2010 16:08 49.899 kB Carsten Strotmann to previous | to last
5 27-Dec-2010 16:06 49.898 kB Carsten Strotmann to previous | to last
4 27-Dec-2010 16:04 41.963 kB Carsten Strotmann to previous | to last
3 27-Dec-2010 15:59 31.017 kB Carsten Strotmann to previous | to last
2 27-Dec-2010 15:54 20.882 kB Carsten Strotmann to previous | to last
1 27-Dec-2010 15:50 12.223 kB Carsten Strotmann to last
« This page (revision-8) was last changed on 27-Dec-2010 16:19 by Carsten Strotmann