80-Bus Journal |
Jan/Feb/März 1984 · Ausgabe 1 |
Der Schaltplan zu unserer Floppy- Karte wird durch nachträgliche Änderungen und Einfügungen immer unübersichtlicher, sodaß Andreas Zippel darangehen möchte, eine verbesserte Version erneut zu zeichnen. Bis dahin müssen wir aber noch einige manuellen Änderungen anbringen.
So haben einige Leser festgestellt, daß die BAO- Leitung an Pin 25a liegen sollte, und ebenso BAI an 23a (und nicht an c ) um der ECB-„Norm“ zu entsprechen. Dies ist kein Versehen, sondern ein Ergebnis der Existenz verschiedener Normen.
Ein Versehen ist allerdings die Vertauschung der A0 und A1 Anschlüsse an der PIO. Sie ist auf der Platine so angeschlossen wie auf der mc-Karte, und nicht wie im Schaltplan angegeben. Deshalb stimmt auch die Programmierung der PIO in den Floppy-Programmen und ist nicht schuld am „Verschiebefehler“ unseres Preisausschreibens, wie der Einsender einer Lösung meinte. Ein zweiter schlug vor, den 245 zu überbrücken, um den Fehler zu beheben. Dies konnte noch nicht ausprobiert werden, würde aber auf einen Steuerfehler der PROMs hinweisen, die gerade von Andreas überprüft werden. Die Auflösung muß also noch hinausgeschoben werden.
Ein weiterer Hinweis war, die Pins 21 und 22 zu verbinden, wie in mc 4/84 vorgeschlagen. Bis auf die beschriebene Einschränkung funktioniert die Karte allerdings auch ohne Änderungen wunderbar, wenn auch ohne DMA. Das werden wir aber auch noch in den Griff bekommen.
Nach dem Aufruf in der letzten „Mini-Ausgabe“ haben sich nun doch ca. 10 Leser gemeldet, bei denen die Floppy-Karte nun einwandfrei mit EMDOS läuft. Andere sind noch mit dem Bau der Karte beschäftigt. Über die Anpassung verschiedener Laufwerke können Sie in den Berichten an anderer Stelle in diesem Heft nachlesen.
Nun aber zunächst noch einige „Bugs“, die sich bei einer so komplizierten Materie notgedrungen einschleichen.
Seite 14: Im drittletzten Abschnitt muß es heißen „In Zeile 2330....“ (nicht 2030)
Seite 19: Zeile 1440 LD A,21 ;Vers. Double Dense (Sonst wird der Warmboot mit Double Density nicht fertig. Dieser Fehler ist leider auch noch auf den alten Versionen der Systemdiskette im Assemblerlisting vorhanden. Auf den Systemspuren ist es in Ordnung).
Weiterhin müßten ins Assemblerlisting des NASGEN (auch auf der Diskette) noch vier Zeilen eingefügt werden, um die Funktion zu optimieren.
581 LD A,#B7 582 LD (#A18A),A
Ohne diese Zeilen wird EMDOS im Warmstartmodus auf die Systemspuren geschrieben. Nach dem Booten läuft EMDOS zwar einwandfrei, weil es die Interruptroutine des Warmbooters bei 8D1E verwenden kann. Wenn man aber diesen Bereich mit einem File überschreibt, bricht das Programm zusammen. Die zusätzlichen Zeilen veranlassen EMDOS, im Kaltstart die PIO für die vorgesehene Interruptroutine zu initiieren.
351 LD A,1 352 CALL PHEAS
Dadurch wird vor der Ausführung von NASGEN ein HOME durchgeführt. Erst dann ist das Laufwerk bereit. Ohne diese Zeilen kann NASGEN nur bei stehendem Laufwerk gestartet werden, denn dadurch wird automatisch ein HOME gemacht.
Dieses seltsame (zumindest mir unerklärliche) Verhalten des Controllers hat mich auch zu einer erneuten Änderung im PHEAS veranlasst.
In der ursprünglichen Version brauchte PHEAS ziemlich lange, bis es ans Lesen eines Files ging (siehe „Skew-Factor“ Heft 12/83). Diese Verzögerung vor dem ersten Lesen rührte daher, daß nach TSTHOM, obwohl das Bit7 Bereitschaft des Laufwerks signalisierte, ein Lesen nicht möglich war und zunächst 5 Retries gemacht wurden, die etwa 8 Sekunden benötigten. Nach den 5 erfolglosen Versuchen machte PHEAS dann den CALL HOME, und nun funktionierte die Sache.
Deshalb wurde der Anfang der TSTHOM- Routine geändert, Die Ausgabe des HOME- Befehls mit der anschließenden Warteschleife wurde herausgeworfen und an ihrer Stelle ein CALL HOME eingesetzt. Sollte kein Laufwerk angeschlossen sein, bleibt die Routine dennoch
Seite 45 von 52 |
---|