Moin,
direkt nach der Reparatur des EC1834 berichte ich dann Mal über die Modifikation des 1834.
Der Rechner ist nicht 100% XT Kompatibel.
Hintergrund ist der 16 Bit IO Zugriff, der nicht vollständig umgesetzt wurde. Abgesehen vom RAM waren alle IO Karten nur als 8 Bit Version ausgelegt.
Für den RAM gibt es eine Byte-Swap Logik, wo z.B. Byte Zugriffe auf ungerade Adressen von den unteren 8 Bit (CPU) auf die oberen 8 Bit des Datenbusses geschoben werden müssen und umgekehrt.
Falls ich hier Blödsinn erzähle, korrigiert mich bitte.
Für Speicherzugriffe funktioniert das wunderbar.
Findet nun ein 16 Bit IO Zugriff statt, muss das in 2 Transfers aufgeteilt werden, weil der EC1834 kein ~IOCS16 Signal kennt, d.h. IO ist nur in 8 Bit möglich.
Hier müssen zuerst die unteren 8 Bit auf den Datenbus geschoben werden und danach mit der ungeraden Adresse die oberen 8 Bit von der CPU auf die unteren 8 Bit des Datenbusses transferiert werden.
Diese Logik ist nicht vorhanden. Daher funktioniert bei der XT-IDE der Hi-Speed Modus (aka Chuck Mode), sowie viele VGA Karten im 8 Bit Modus (das BIOS adressiert anscheinend nur 16 Bit Zugriffe) ebenfalls nicht.
ET3000/4000 Karten haben anscheinend diese Zugriffsart im BIOS bedacht, daher funktioniere diese dann meist.
Im Jahr 2018 gab es in diesem russischen Forum einen Thread, wo sich einige Leute damit beschäftigt hatten und eine (relativ) simple Lösung gefunden haben:
Robotron EC 1834 :: IBM PC-совместимое. До 2000 года включительно
Dieser Schaltplan ist aber noch nicht vollständig...
Es fehlt da noch eine weitere Anpassung für den Lesezugriff.
Ich habe gestern Abend, nach der Reparatur des Floppy Laufwerks direkt mit dieser Modifikation begonnen.
Dazu musste D10 und D59 auf Sockel gebracht werden.
D10 war erste defekte IC nach dem 8086, den ich getauscht hatte. Idiotischerweise habe ich da keinen Sockel eingebaut, deswegen musste er nochmal ausgelötet werden.
Mittlerweile habe ich genügend Erfahrung, das ging leicht raus.
D59 hingegen weigerte sich Standhaft. Die Innenseite der IC Pins hafteten weiterhin fest an der DuKo. Daher musste er letztendlich dran glauben, damit ich das Board nicht beschädige.
Mit meinem neuen kleine Knipex wurden die Beine oben abgeknipst und konnten dann spielend entfernt werden.
Nachdem alles gereinigt war, kamen die Sockel rein und ein erster Test des Board ohne Modifikation - es lief noch.... 😅
Anschließend wurden die Beinchen auf den 2 ICs aus dem Sockel genommen - damit ist die Modifikation jederzeit reversibel - es werden keine Leiterzüge durchtrennt.
Es gibt 4 reserve Positionen im DIP16 und DIP20 Format.
Ein DIP16 Sockel wird nun das Zuhause für den zusätzlichen 74LS32 dieser Modifikation.
Ich habe nach obigen Schaltplan alles verdrahtet und einen Test durchgeführt.
Das Board arbeitet weiterhin, aber die VGA Karten zeigten bis jetzt NUR einen Start der Initialisierung (Monitor erkannte ein Signal).
Heute früh habe ich den russischen Thread nochmal geprüft und im Text fiel mir dann eine zusätzliche nötige Modifikation (ich schätze für die Leserichtung) auf. Ich hatte das schon gelesen, aber gestern vergessen.
Die muss nun noch umgesetzt werden.
Auf D11.10 liegt das Signal MEMR an. Das muss ein (MEMR|IOR) werden. IOR gibt es so noch nicht, sondern nur ~IOR. D.h. ich muss das Signal noch negieren.
Es gibt auf dem Board noch ungenutzte Inverter auf 2 ICs (D34 und 4x auf D82). Ich werde dafür nun noch D14 (ist einfach näher) und D11 auf Sockel bringen und die zusätzlichen Modifikationen unterbringen. Auf dem 74LS32 sind ja noch ein paar OR Gatter verfügbar.
Gruß Mario