|
Zu diesem Controller wurde bereits in der Rubrik "Hardware" detaillierter ausgeführt - hier geht es ausschließlich um die DSR.
Es versteht sich von selbst, daß man diese DSR mit relativ wenigen Anpassungen auch für andere FDC verwenden kann, die ein System-RAM mit 4 Bit
und die FDC-Controllerregister am Ende des DSR-Bereichs aufweisen. Aber auch das lässt sich anpassen - insofern ist das also keine reine Atronic-Veranstaltung.
|
| Stand der Dinge - V1.1 | |
|
So habe ich ihn seinerzeit gekauft - DSR Version 1.1 mit 6 ms Step-Timing.
Im Rahmen der (damals obligatorischen) allgemeinen Analyse des TI-99/4A Systems wurde dann das EPROM ausgelesen und disassembliert - Teile davon finden sich bekannterweise in meiner "Diskinfo".
Leider ist mir der originale Dump von damals abhanden gekommen, so daß ich einen neuen - quasi aus dem "status quo" nach Wiedererhalt der PEB - erstellen musste.
Dabei stellte ich mir die Frage - ähnlich wie bei der TripleTech - ob das denn wirklich der Originalzustand ist, bzw. warum sich nach dem Disassemblieren Abweichungen zur Diskinfo zeigten, bzw. warum die Diskinfo an etwa 6 Stellen vom Hexdump abwich.
Und wie kam das 20 ms Step-Timing da rein, wo doch der Aufkleber 6 ms vorgibt?
Egal - hier stelle ich das Ergebnis meiner Arbeit zur Verfügung - die Binärfiles sowie die assemblierbaren (!) Quellcodes, erstellt aus Hexdump und Diskinfo, die ein bitgenaues Abbild des EPROMs erzeugen.
Folgendes ist dabei zu beachten:
- Die ersten 8K bezeichne ich als Bank 0, die zweiten als Bank 1 - leider ist teilweise noch die alte Numerierung mit dabei, die 1 und 2 nutzt.
- Der Code ist eine Mischung aus Diskinfo und neuer Disassembly, sieht stellenweise also "wild" aus, funktioniert aber. Um stilistische Aspekte kümmere ich mich dann, wenn ich Zeit dafür habe...
- Um ein 27128 EPROM zu brennen muss das Binärfile der Bank 0 mit Offset >0000 0000 und das der Bank 1 mit Offset >0000 2000 in den Programmer geladen werden.
- Es ist die Version mit 6 ms Step-Timing - wer langsame Laufwerke hat, muss das entsprechend ändern.
- Es sind KEINE BUGFIXES drin - das kommt mit der V1.2
- Aktuell hat der Controller Probleme damit, Disketten zu formatieren, und die Bank 1 muss nochmal analysiert werden, warum es so viele ungenutzte Labels
bei den Formatierungsdaten gibt - hat da doch einer dran gespielt, und ich weiß es nicht (mehr)?
Lesen und Schreiben auf Sektorbasis funktioniert einwandfrei - seltsam... vielleicht die Hardware?
|
|
| Die V1.2 - was ändert sich? | |
|
Die Versionsreihe 1.x wird die letzte sein, die auf ein 4 Bit System-RAM ausgelegt ist - alle folgenden Versionen,
deren Versionsnummern bei 2.0 beginnen, werden das 8 Bit RAM voraussetzen!
Das sind die für V1.2 geplanten Bugfixes:
- Die Versionsnummer wird die >02 sein (an Adresse >4001), das wird für alle folgenden der Reihe 1.x so bleiben
- Fehler der Formatierfunktion (Bank 0) beseitigen ** ERLEDIGT: kFg (kein Fehler gefunden... vielleicht doch was mit der Hardware?)
- Entfall unnötiger Leerbereiche sowie unsinniger Codesequenzen (SBO 3, redundante VDP-Ansprache, etc.)
- Start der Suche nach dem Diskmanager mit DSK9 (absteigend) statt DSK1 (aufsteigend), damit man den Manager z.B. ins TIPI packen kann.
- Analyse der unbenutzten Labels (Bank 1)
- Die Meldung im Titelbild wird "ATRONIC DISK SYSTEM: READY" sein.
- ... und etwas 'Beautifying' darf auch sein - aber nicht zuviel.
Wenn die V1.2 fertig ist, wird man sie hier finden.
|
 |
|
| Backlog für die V1.3 | |
|
- Prüfsumme des System-RAMs beim Power-Up um nicht jedesmal das gesamte RAM zu löschen und die Konfiguration (aktuell Spur und Dichte) zu verlieren.
|
|
| V2.x - die DSR, die nach mir kommt? | |
|
Für die V2.x habe ich mir mal ein Brainstorming erlaubt:
- Die Versionsnummer geht von >02 auf >03 - für die Versionsdetails wollte ich mich an dem Versionsschema der snug-Boards orientieren, was leider an der dafür erforderlichen Zusatzhardware scheitert.
- Alle Ergänzungen und Bugfixes der letzten V1.x werden übernommen.
- Umstellung auf 8 Bit System-RAM, dadurch u.a. schnellerer Ablauf des PAD-Save und anderer Dinge.
- Vorhalten der 27256 Version, d.h. 4 Bänke mit Platz für neue Funktionen (Diagnose, Konfigurator, ...).
- Direkter Anschluss an eine TripleTech, um die Uhrzeit zu nutzen - ggf. wird die CCTT einen Service-Call erhalten müssen.
- Verlagern von Teilen der Konfiguration (Step, Interleave, Sector Skew, HxC Awareness, ...) ins System-RAM.
- Power-Up Meldung mit Diagnose- bzw. Versionsinfo.
- Evaluierung des Einsatzes eines 32K EEPROMs das per Software aktualisiert werden kann.
- Ersatz von CALL MGR durch CALL ATMGR (MANAGER entfällt) und Vorhalten von Sachen wie etwa CALL ATCFG oder so.
- DSRLNK Tabelle um DSKA-D (Alias für DSK1-4) erweitern, damit die dann immer (auch ohne 4DOS/Force Command) auf dem FDC landen.
- Ob ich die 16 Sektoren/Spur für das Hexbus-Format vorsehe, weiß ich noch nicht - riecht mir zu sehr nach Myarc.
- Implementierung einer Hardcopy-Funktion (Bild auf Diskette speichern) per LOAD-Interrupt, die aus BASIC aktiviert werden kann - ohne daß man ein assemblerfähiges Modul eingesteckt haben muss. Der Code liegt im FDC-EPROM.
All das ist mehr eine Art Backlog - wann welches Feature kommt, ist aktuell noch nicht entschieden...
|
|