Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » Boot-ROM für A5120 und K8924 » Themenansicht

Autor Thread - Seiten: -1-
000
23.12.2012, 07:39 Uhr
AE
Default Group and Edit


In den Bürocomputern A5120, K8924 und abgeleiteten Typen kommt als zentrale Verarbeitungseinheit (ZVE) die Leiterkarte K2526 aus dem K1520-Sortiment des Kombinats robotron mit 2 Mikroprozessorschaltkreisen U880 zum Einsatz. Wobei mittels des zweiten Schaltkreises U880 ein spezieller Direkter-Speicherzugriff (DMA) realisiert werden kann, s.a.[Kombinat robotron: Zentrale Recheneinheit K2526/K2527, Betriebsdokumentation;3. Auflage Karl-Marx-Stadt 1983; 40 Seiten A4]. Die Leiterkarte enthält als Boot-ROM entweder einen 1 Kbyte großen EPROM U555 oder seltener einen ROM U505.
Nach Netz-EIN bzw. RESET ist der ROM schaltungstechnisch aktiv. Trotz des arg begrenzten Platzes darin realisiert das Urlade-Programm dann nacheinander folgende Funktionen:

* Suche der RAM-Größe ab Adresse 0800H in 1 Kbyte Schritten (von 0 bis 07FFH wird RAM teilweise parallel zum Boot-ROM vorausgesetzt),

* Suche ob anschließend ROM und ab welcher Adresse vorhanden ist. Wenn ja wird dieser auf der Anfangsadresse +09DH ohne Prüfung angesprungen (u.a. wird defekter RAM als ROM interpretiert!),

* Umladen des ROM-Inhaltes ins parallele RAM, Wegschalten des ROMs und ohne Prüfung, ob das Umladen erfolgreich war, Programmfortsetzung im RAM,

* Suche eines Systemlade-Programms auf einer Diskette in einem der bis zu vier anschließbaren Floppydisk-Laufwerke mit nachfolgenden einzelnen Aktivitäten:
- Aktivierung des Laufwerks beginnend mit Nummer 0,
- Suche Spur 0 durch nach außen gerichtete Schrittimpulse (+ Laufwerk existiert),
- Warten auf 4 Index-Impulse (+ Diskette vorhanden),
- Laden des Sektors 1 von Spur 0, Seite 0 nach Adressen ab 0400H (In den mir vorliegenden originalen ROM-Versionen muß die Sektorlänge 128 sein.),
- Prüfen ob dieser Sektor mit "SYL" beginnt und wenn ja Programmfortsetzung auf Adresse 0437H (Eine CRC-Prüfung des Boot-Sektors erfolg nicht!);
- Im Fehlerfall bei den Einzelaktionen wird für das nächste Laufwerk von vorn begonnen bzw. sind für alle vier Laufwerke die Aktivitäten nicht erfolgreich wird fortgesetzt mit

* Suche eines Systemlade-Programms auf einem Magnetkassetten-Laufwerk. (Die Einzelaktivitäten hierbei lasse ich weg, da sowieso kaum genutzt.)
Wird solches nicht gefunden, so beginnt das Programm auf Adresse 0000H zyklisch wieder von vorn.

Bei allen vorgenannten Aktionen wird stets das Vorhandensein und die volle Funktionsfähigkeit aller gerätetechnischen und Programmkomponenten ohne jegliche Prüfung vorausgesetzt. Eine Bedienung von Tastatur oder Bildschirm erfolgt dabei nicht. (Letzterer zeigt währenddessen nach Netz-EIN ein zufälliges Muster.) Die Programmaktivität ist nur am zyklischen Aufleuchten der Laufwerks-LEDs sowie möglichen Laufwerksgeräuschen erkennbar. Ein manueller Eingriff bei nicht Erfolg ist nur über RESET oder Netz-Aus möglich.

Heute, mehr als zwei Jahrzehnte später ist dieses bei vor allem "musealer" Nutzung oder Instantsetzungen mit Wiederinbetriebnahmne natürlich ein unbefriedigender Zustand. Ich hatte aber schon 1992 für Abhilfe gesorgt: Unter Verzicht auf die Kassetten-Boot-Fähigkeit modifizierte ich das Urlade-Programm und ergänzte es um folgende Funktionen:

* Bildschirmauschrift der Aktivitäten,
* CRC-Kontrolle des ROMs (ohne RAM-Nutzung),
* Prüfung des RAMs vor Nutzung,
* CRC-Kontrolle des Boot-Sektors (so einer gefunden wird).
* Im Erfolgsfall wird der Bootvorgang automatisch durchgeführt. Bei Fehlern wird in einen Hexmonitor gesprungen und zur Ursachensuche 256 Hexbytes aus dem gerade aktiven Speicher angezeigt. Die Anfangsadresse ist vom Fehler abhängig und kann mit den Tasten [+] und [-] um 256 vergrößert bzw. verkleinert werden.

Leider gibt es da noch eine weitere Einschränkung: Da nicht für alle denkbaren Bildschirmansteuerungen bzw. Tastaturen entsprechende Programmstücke implementiert werden konnten (1 Kbyte summarischer Programmspeicher!) wird für die korrekte Funktion eine 80x24-Bildschirmansteuerung und eine "paralell" an die K2526-ZVE angeschlossene Tastatur benötigt.
Prinzipiell ist dieser Boot-ROM für alle K1520-Rechner mit entsprechender gerätetechnischen Ausführung nutzbar. Eine mögliche Modifikation für serielle Tastaturen müßte gegebenenfalls geprüft werden; eine Anpassung an 64*16-Bildschirmdarstellung ist problemlos machbar. Da es kaum etwas gibt, was man nicht verbessern könnte, sind mir bei der Vorbereitung dieses Beitrags einige Programmstellen aufgefallen, welche wünschenswert und möglich noch zu verändern sind. Maxime bei den Modifikationen sollte aber auf jeden Fall sein, daß außerhalb des ursprünglich für den Kassetten-Boot vorgesehenen Programmteils zur weitgehenden Aufrechterhaltung der Kompatibilität bei der Diskettenarbeit nur für die beabsichtigte Funktion notwendige Änderungen vorgenommen werden.

Bei mir vorhanden sind Boot-ROMs für K2526-ZVEs in folgenden Varianten (Sie werden nach den Bytes auf den Adressen 03FEH und 03FFH des ROMs unterschieden, da der CRC nach robotron stets 0 sein soll.):
* 07F1 - Lade-ROM V:6.0
* F76B - Lade-ROM V:9.0 bzw. U505 BM087
* 3FAE - ?
* 6211 - das von mir programmierte in der Version 01'93

Bisher nicht untersucht wurde das eventuell mögliche Booten von 8" FM Disketten (-Laufwerken), was einer "uralt" Ausstattung der in Frage kommenden Bürocomputertypen entsprechen würde.

Dieser Beitrag wurde am 30.12.2012 um 13:27 Uhr von AE editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
23.12.2012, 11:49 Uhr
DL




Zitat:
AE schrieb
* Suche ob anschließend ROM und ab welcher Adresse vorhanden ist. Wenn ja wird dieser auf der Anfangsadresse +09DH ohne Prüfung angesprungen (u.a. wird defekter RAM als ROM interpretiert!),

wenn man eine Karte steckt, mit einem Testprogramm beginnend auf 89DH würde dies auch ohne RAM angesprungen werden?

Dieser Beitrag wurde am 23.12.2012 um 11:53 Uhr von DL editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
28.12.2012, 17:34 Uhr
AE
Default Group and Edit


Das Programm in den originalen robotron BOOT-ROMs der K2526-ZVE erfordert zwingend das Vorhandensein am K1520-Bus von funktionierendem RAM mindestens auf den Adressen 0-07FFH für Merker, stack und später für den zu ladenden Boot-Sektor.
Als erste Aktion nach Netz-EIN bzw. RESET ermittelt es die RAM/ROM-Konfiguration des Rechners. Dazu wird auf das erste Byte eines jeden 1-Kbyte-Blockes (beginnend mit Adresse 0800H) 0FFH geschrieben. Ein von einer Speicherleiterkarte auf dem K1520-Bus erzeugtes RDY-Signal generiert zusammen mit dem WR-Signal der ZVE einen Interupt. In dem zugehörigen Interuptprogramm wird geprüft, ob von dieser Speicheradresse das 0FFH zurückgelesen werden kann. Dabei wird unterschieden:
- kein Speicher (kein RDY-Signal) -> kein Interupt,
- RDY-Signal und kein 0FFH -> ROM (Könnte aber auch defekter RAM sein!),
- RDY-Signal und 0FFH -> RAM (Könnte aber auch ROM mit 0FFH auf 1. Byte sein!).
Das Ergebnis wird auf den Adressen 044CH..046FH im RAM abgelegt. Nachdem alle 62 1-Kbyte-Blöcke abgearbeitet sind, wird im RAM nachgeprüft, ob ROM gefunden wurde und wo. Wurde ROM nach obigen Kriterien registriert, so erfolgt die Programmfortsetzung auf der im RAM gemerkten ersten Anfangsadresse + 09DH.

Beschriebener Programmablauf findet z.B. beim Booten eines Bürocomputers A5110 mit ROM-Kassette statt.

Dieser Beitrag wurde am 30.12.2012 um 13:27 Uhr von AE editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
28.12.2012, 17:48 Uhr
Rüdiger
Administrator



Zitat:
AE schrieb
Beschriebener Programmablauf findet z.B. beim Booten des Bürocomputers A5110 mit ROM-Kassette statt.

Trotzdem hat der einen anderen Urlader. Und auch eine andere ZVE-Karte.
--
Kernel panic: Out of swap space.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek