Hardware > Hardware (Classic 16-/32-Bit)
FTOS (Flash TOS) und TOS Switch gewusst wie
Atariosimus:
Ich habe ein paar Verständnisfragen zu FTOS bzw. zum Hin- und Herschalten von mehreren
Betriebssystemen.
1) Ist die Platine von Lynxman auch für den Mega STE nutzbar und
notfalls rückbaubar?
https://forum.atari-home.de/index.php/topic,13680.msg219046.html#msg219046
2) Nach dem Prinzip von PP sind noch 3 Schalter nötig. Einer als Schreibschutz
und die anderen 2 um zwischen den TOS Versionen auf den Flash Speichern herum zu switchen?
Prinzip habe ich unten nochmal rangehängt allerdings ohne GAL sondern diskret ausgeführt.
Wo sind diese Schalter bei Lynxman später zu finden?
3) Wenn man die Flash Speicher in die Romsockel einsetzt, wie schafft man es den Rechner
zum Laufen zu bringen. Die Speicher sind ja erstmal leer. Ist da eine Startdiskette notwendig?
4) czietz hat ja eine sehr elegante Lösung dargestellt. Da wird der gesamte Prozessor in die neue
Platine eingesetzt und diese in den Prozessorsockel es wird per Software mittels
Supervisormodus zwischen den Versionen geswitched.
Auch hier die Frage wie man das Teil überhaupt startet.
Gibt es dazu einen Schaltplan und das Programm oder läuft das unter Patentschutz?
https://forum.atari-home.de/index.php/topic,13421.0.html
5) Ist das Flashprogramm von PP für beide Lösungen uneingeschränkt einsetzbar?
Also die von Lynxman/PP und czietz.
Das Flashprogramm findet man auf dieser Seite:
http://atari.8bitchip.info/flashest.php
6) Es gibt im Netz eine Lösung ohne Flash mit normalen EPROMs auf die 4 Betriebssysteme
dauerhaft gebrannt werden und die mit zwei Schaltern bedient werden.
Das ist extrem simpel aufgebaut.
Hat diese Version schon mal jemand gebaut?
http://atari4ever.free.fr/hardware/tos.html
Gemeint ist 4TOS_SWC.ZIP
SolderGirl:
Es gibt eine erweiterte Version dieser Schaltung, die mit einem GAL gemacht ist.
Das GAL übernimmt dabei die Funktion der Logik-Gatter die in dem Schaltplan eingezeichnet sind. Die Funktion ist folgende:
- DTACK erzeugen beim schreiben in den ROM-Bereich ab E00000, zum Flashen
- Enable-Signal erzeugen für beide ROM-Bereiche (FC0000 + E00000) damit man sowohl TOS 1.04 als auch 2.06 in den gleichen ROMs betreiben kann. Die Funktion ist die gleiche, ob man nun TTL oder GAL dafür nimmt.
In der erweiterten Version übernimmt ein kleiner ATtiny Microcontroller die Funktion der DIP-Schalter, so das die ganze Schaltung mit einem einzelnen Taster bedient werden kann und über eine Duo-LED (oder zwei einzelne) etwas anzeigen kann.
zu 3. :
Die Flash Chips müssen vorher schon mit einem Funktionierenden System beschrieben werden, sonst startet der Rechner garnicht.
zu 6:
Diese einfache Variante verzichtet auf die DTACK-Erzeugung, daher kann man nur ein TOS verwenden, das der Atari auch in dem Adressbereich anspricht. Mit dieser Schaltung wäre es z.b. nicht möglich in einen einfachen ST ein TOS 2.06 einzubauen, weil der ST ja nur im ROM-Bereich für 1.0x die passenden Signale erzeugt.
Atariosimus:
Ah, das bringt endlich mal Licht ins Dunkel. Danke SolderGirl.
Ideal wäre die Umschaltung per Auswahlmenü ähnlich wie bei Mid und Low Resolution.
Sobald man eine bestimmte Tos Version geklickt hat bootet der Rechner mit der gewählten
Version. Ob das allerdings so umsetzbar ist weiß ich nicht. czietz ist da ja nah dran.
zu 3) Ich hab leider nirgends eine Beschreibung gefunden wie die Flash Speicher
vorher beschrieben werden.
Ich hätte es mit einem Juniorprommer oder was ähnlichem versucht.
Zu 6) In einem Mega STE geht das ja zum Glück wenn ich den Urheber der Schaltung
richtig verstanden habe. Die Rombereiche werden durch 2 Schalter eingestellt.
Was ja auch PP so macht ein weiterer dient als Schreibschutz.
SolderGirl:
--- Zitat von: Atariosimus am Fr 31.08.2018, 00:25:13 ---zu 3) Ich hab leider nirgends eine Beschreibung gefunden wie die Flash Speicher
vorher beschrieben werden.
Ich hätte es mit einem Juniorprommer oder was ähnlichem versucht.
--- Ende Zitat ---
Im Prinzip mit jedem Gerät, das die Chips schreiben kann. Man muss nur die Images passend machen, also aufgeteilt in High- und Low-Byte. Und wenn man mehrere auf einmal schreiben will, müssen die halt dementsprechend zusammengesetzt sein. Ich glaub es gibt Programme dafür.
--- Zitat von: Atariosimus am Fr 31.08.2018, 00:25:13 ---Zu 6) In einem Mega STE geht das ja zum Glück wenn ich den Urheber der Schaltung
richtig verstanden habe. Die Rombereiche werden durch 2 Schalter eingestellt.
Was ja auch PP so macht ein weiterer dient als Schreibschutz.
--- Ende Zitat ---
Die Schalter sind nur dazu da, die Flash Chips in jeweils 4 Bänke auftuteilen. Dafür werden die Schalter einfach mit den obersten Adressbits des Flash verbunden. Damit der Rechner den Flash in beiden ROM-Bereichen "sieht", muss man zwei Dinge machen:
Sobald ein Zugriff auf den entsprechenden Bereich passiert, die Chips aktivieren damit sie Daten liefern, und die DTACK-Leitung auf 0/Masse ziehen, damit es keine Bomben gibt.
Und wenn man z.B. TOS 1.04 und TOS 2.06 umschaltbar haben will, dann müssen die Chips in beiden Adressbereichen eingeblendet werden.
Das heißt, DTACK und das aktivieren der Chips (CE-Signal) Muss sowohl bei Zugriffen auf FC0000 ... als auch bei E00000 passieren. Das ist halt am einfachsten mit einem GAL zu machen, aber natürlich auch mit ein paar TTL-Chips möglich.
PS:
So eine Umschaltung in Software zu machen geht vermutlich auf mehrere Arten.
Spontan kommt mir da der Gedanke ein Latch, also im Prinzip ein paar Flip-Flops zu benutzen, und das an einer ganz bestimmten Adresse in den Speicher einzublenden, die vom Atari sonst nicht genutzt wird. Dafür würde sich z.B. F0FFFF anbieten, das liegt innerhalb des Bereichs der vom c't-IDE Adapter zwar belegt, aber nicht genutzt wird. Sobald jetzt ein Schreibzugriff an genau diese Adresse passiert, gibt man das Signal einmal auf DTACK und gleichzeitig auf den Trigger des Latch, so das der ein paar Bit vom Datenbus speichert. Die Ausgänge des Latch verbindet man dann mit den Adresspins der Flash-Chips, an Stelle der Schalter. Man müsste dann natürlich noch den Rechner von Hand resetten, oder den Reset irgendwie automatisch machen. Das müsste aber theoretisch auch in Software gehen.
Der einzige Nachteil daran ist, das man viele TTL-Gatter oder GAL-Pins braucht, um genau eine einzelne Adresse zu bestimmen. Dafür muss man wirklich alle 24 Adressleitungen der CPU abfragen.
Wie Lynxman das auf seiner Platine gemacht hat kann ich aus den Bildern nicht sagen.
Atariosimus:
Die Schwierigkeit finde ich besteht eigentlich darin, zu erkennen wie das Zusammenspiel
der ganzen Anschlüsse funktioniert. Und dann noch die Adressbereiche.
Das die ROMs des Betriebssystems in Lo und Hi unterteilt ist muß man auch erst mal
verstehen.
Also ich schicke was rein und es soll was sinnvolles rauskommen. Mit KV
Tabellen kann man das zum Beispiel im Anschluß gut minimieren. Dazu muß man
aber erstmal wissen was in so einer Logiktabelle stehen soll. Abgesehen
davon ist das Timing auch ein Faktor der beachtet werden muß.
Ich finde es immer wieder faszinierend mit ein paar Datenleitungen so was hinzubekommen.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln