IBM-PC-kompatible

ISA 8-Bit Ethernet Controller

ISA 8-Bit Ethernet Controller
ISA 8-Bit Ethernet Controller – Netzwerk für den IBM PC XT

Es gibt Hardware, deren Design längst existiert und fertig umgesetzt ist, deren Bedarf sich aber erst mit der Zeit zeigt. Der ISA 8-Bit Ethernet Controller ist ein Paradebeispiel dafür. Von einem ersten Aufruf im Forum zur Rettung klassischer Computer bis zur Lieferung eines von vier Testexemplaren an mich vergingen kaum zwei Wochen. Manchmal geht es eben schnell.

What's behind it?

Der ISA 8-Bit Ethernet Controller ist eine Open-Source-Netzwerkkarte, entwickelt von Sergey Kiselev (bekannt durch Projekte wie den Micro 8088). Sie richtet sich ausschließlich an Rechner mit 8-Bit-ISA-Bus – also den klassischen XT-Slot, wie er im IBM PC, IBM PC XT und kompatiblen Maschinen verbaut ist. Das Herzstück ist der Realtek RTL8019AS Ethernet Controller, der die Karte vollständig NE2000-kompatibel macht.

Das Projekt ist OSHWA-zertifiziertes Open Source Hardware (Zertifikat US002001). Hardware-Design und Schaltplan stehen unter der CERN OHL v2 (strongly reciprocal), der Treiber unter GPL 2.0, die Dokumentation unter CC-BY-SA 4.0. Wer möchte, kann die Karte also vollständig selbst nachbauen – Gerber-Dateien und KiCad-Quellen inklusive.

Die Hardware im Überblick

Die Karte nutzt den klassischen 62-Pin-ISA-Kartenstecker des XT-Busses und lässt sich damit in jeden PC/XT-kompatiblen Rechner einsetzen. Konfiguriert wird sie wahlweise per DIP-Schalter, über das Utility RSET8019 (jumperless) oder via Plug and Play – ganz nach Gusto.

Technische Eckdaten:

MerkmalDetails
BustypISA 8-Bit (62-Pin / Card Edge)
Ethernet-ControllerRealtek RTL8019AS
KompatibilitätNE2000
KonfigurationDIP-Schalter, RSET8019 (jumperless), PnP
Boot ROM Sockel32-Pin DIP, bis zu 512 KiB (z. B. SST/Microchip 39SF040)
Boot ROM Modi16 KiB, 32 KiB, 64 KiB oder Page-Modus
Speichererweiterung40-Pin-Stecker J2 für bis zu 4 MiB (ROM oder RAM, im Page-Modus)
EEPROM93C46 (1 Kbit), speichert MAC, IRQ, I/O, Boot-ROM-Konfiguration

Der Quarzkristall taktet mit 20 MHz, die Signalkonditionierung übernehmen SMD-Widerstände und Kondensatoren im 0603-Format. Die Ethernet-Buchse (J1) hat integrierte Magnetics und bringt gleich einen grünen Link-LED-Indikator mit – praktisch für die erste Sichtkontrolle beim Einbau.

ISA 8-bit Ethernet Controller
ISA 8-bit Ethernet Controller
Konfigurationsmodus wählen

Über SW1 (2-polig) legt ihr zunächst fest, wie die Karte konfiguriert wird:

KonfigurationsmodusSW1.1SW1.2
Jumperless / RSET8019OFFOFF
DIP-SchalterONOFF
Plug and PlayOFFON

Im Schalter-Modus werden IRQ, I/O-Adresse und ROM-Adresse über die weiteren DIP-Blöcke eingestellt.

IRQ einstellen (SW2)
IRQSW2.1SW2.2
IRQ2 (PC/XT) / IRQ9 (AT)OFFOFF
IRQ3ONOFF
IRQ4OFFON
IRQ5ONON
I/O-Adresse einstellen (SW3)

Über den 4-poligen SW3 stehen 16 I/O-Adressen zwischen 0x200 und 0x3E0 zur Auswahl – in 0x20-Schritten. Die Standardadresse für NE2000-Karten ist 0x300. Die vollständige Belegungstabelle findet ihr in der GitHub-Dokumentation des Projekts.

ISA 8-bit Ethernet Controller
ISA 8-bit Ethernet Controller
Boot-ROM-Adresse und -Größe (SW4)

Wer ein Boot-ROM bestückt, legt dessen Adresse und Größe über den 5-poligen SW4 fest. Zur Auswahl stehen Größen von 16, 32 und 64 KiB im Adressbereich 0xC0000–0xDC000, sowie ein Page-Modus, der die vollen 512 KiB des ROMs durch ein 16-KiB-Fenster zugänglich macht. Alle Schalterstellungen im Detail: GitHub-Dokumentation.

Ein Hinweis zum NE2000-Treiber

Hier lauert eine Falle, die leicht übersehen wird: Der populäre Crynwr NE2000 Packet Driver unterstützt NE2000-Karten im 8-Bit-Slot schlicht nicht. Wer also den Standardtreiber verwendet, wird über mangelnde Funktion rätseln. Die Lösung liegt im GitHub-Repository des Projekts – dort findet ihr einen gepatchten Treiber, der genau diesen Fall abdeckt. Kurz: vor dem Test unbedingt den richtigen Treiber verwenden.

ISA 8-bit Ethernet Controller - IP-Adresse zugewiesen
ISA 8-bit Ethernet Controller – IP-Adresse zugewiesen
Die Testkarte

Vor dem eigentlichen Produktionslauf wurden vier Prototypen gebaut und zum Testen verteilt – ich hatte das Glück, einen davon zu erhalten. Die Karte kam fertig aufgebaut und einbaubereit, dazu gab es ein Softwarepaket mit Treibern und Dokumentation zum Download. Erst nach erfolgreichem Test wurde die Kleinserie von 100 Stück inkl. passender Slotblende in Auftrag gegeben.

Theoretisch lässt sich die Karte auch selbst zusammenbauen: Die Gerber-Dateien und die vollständige Stückliste (BOM) sind im Repository verfügbar. Die Platine kann man u. a. über OSH Park bestellen, die Bauteile (bis auf den RTL8019AS-IC, den es bei eBay oder autorisierten Realtek-Distributoren gibt) über Mouser. Wer lieber auf Fertigplatinen zurückgreift, wird im Tindie-Shop des Entwicklers fündig, allerdings zu 60 US-Dollar ohne Versand und Steuern.

Der Test: Schneider PC 1512D mit 8086

Mein Testrechner ist ein Schneider PC 1512D mit 8086-Prozessor – ein echter Vertreter der XT-Klasse. Ursprünglich hatte ich Bedenken, weil der Rechner nur ein 5¼-Zoll-Diskettenlaufwerk mitbringt. Dann fiel mir ein: ein XT-IDE ist verbaut. Also kurz die benötigten Dateien auf die CF-Karte kopiert, Rechner gebootet, die Batch-Datei für die Netzwerkkonfiguration umbenannt (NET.BAT) und gestartet.

Das Ergebnis ließ keine Wünsche offen: sofort eine IP-Adresse per DHCP von der Fritzbox. Da DOS 3.3 keine nativen Netzwerkbefehle kennt, übernahm das Softwarepaket mTCP die Arbeit.

mTCP – das Schweizer Taschenmesser für DOS-Netzwerke

mTCP stellt eine ganze Reihe von Netzwerkprogrammen für DOS bereit. Ich habe vor allem zwei Dinge getestet:

Ping – eine lokale und eine externe IP-Adresse anpingen. Kein Problem, funktioniert einwandfrei.

ISA 8-bit Ethernet Controller - PING
ISA 8-bit Ethernet Controller – PING

FTP – Zugriff auf meine interne NAS. Der Aufruf lautet:

ftp IP-Adresse

Nach der Verbindung werden Benutzername und Passwort abgefragt. Danach stehen folgende Befehle zur Verfügung:

CommandFunction
dirVerzeichnisinhalt mit allen Details anzeigen
lsVerzeichnisinhalt (nur Dateinamen)
cd VerzeichnisVerzeichnis wechseln
cdupEin Verzeichnis zurück (ins übergeordnete)
mkdir NameVerzeichnis erstellen
rmdir NameVerzeichnis löschen
get datei [neuername]Datei herunterladen, optional unter neuem Namen speichern
put datei [neuername]Datei hochladen, optional unter neuem Namen ablegen

Example: get boulder lädt die Datei BOULDER herunter und speichert sie unter gleichem Namen im aktuellen Verzeichnis. get boulder spiel1 macht dasselbe, benennt die lokale Kopie aber SPIEL1.

ISA 8-bit Ethernet Controller - FTP
ISA 8-bit Ethernet Controller – FTP

Weitere mTCP-Werkzeuge (Auswahl):

ProgrammFunction
DHCPIP-Adresse automatisch beziehen
FTPSRVFTP-Server auf dem XT starten
HTGETDateien per HTTP herunterladen
HTTPSERVEinfacher HTTP-Server
IRCIRC-Client
NETCATNetzwerk-Universalwerkzeug
NETDRIVENetzlaufwerk einbinden

Das kratzt nur an der Oberfläche – mTCP bietet noch deutlich mehr. Das würde allerdings einen eigenen Artikel rechtfertigen.

Alternativer Weg ohne CF-Karte

Wie hätte der Test ohne XT-IDE und CF-Karte funktioniert? Meine Theorie:

  1. Mit einem alten Laptop eine 3,5-Zoll-Diskette formatieren
  2. Die Treiber-Dateien per USB-Diskettenlaufwerk darauf kopieren
  3. Den Schneider PC mit 3,5-Zoll- und 5¼-Zoll-Laufwerk einschalten
  4. Eine 5¼-Zoll-Diskette (360 KB) formatieren und die Daten übertragen
  5. Den Testrechner von der 5¼-Zoll-Diskette starten

Ob das in der Praxis klaglos funktioniert, werde ich bei Gelegenheit noch prüfen.

Conclusion

Der ISA 8-Bit Ethernet Controller löst ein Problem, das viele XT-Besitzer kennen: Datentransfer ohne den ewigen Diskettentanz. Eine sauber entwickelte, quelloffene Karte, die genau das tut, was sie soll – und das beim ersten Versuch. Für mich ist das ein echter Gewinn für den Alltag mit dem Schneider PC 1512D. Den beteiligten Entwicklerinnen und Entwicklern gebührt dafür ein herzliches Dankeschön.

Wer selbst bauen oder bestellen möchte: Das vollständige Projekt – Schaltplan, Gerber-Dateien, BOM, Treiber und Dokumentation – findet ihr auf GitHub.

Unterstütze diese Seite

Dir gefällt, was ich auf dieser Site mache? Dann würde ich mich über Unterstützung freuen, die es mir ermöglicht, die Website weiter zu betreiben.

Leave a Reply

Your email address will not be published. Required fields are marked *