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.
Was steckt dahinter?
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:
| Merkmal | Details |
|---|---|
| Bustyp | ISA 8-Bit (62-Pin / Card Edge) |
| Ethernet-Controller | Realtek RTL8019AS |
| Kompatibilität | NE2000 |
| Konfiguration | DIP-Schalter, RSET8019 (jumperless), PnP |
| Boot ROM Sockel | 32-Pin DIP, bis zu 512 KiB (z. B. SST/Microchip 39SF040) |
| Boot ROM Modi | 16 KiB, 32 KiB, 64 KiB oder Page-Modus |
| Speichererweiterung | 40-Pin-Stecker J2 für bis zu 4 MiB (ROM oder RAM, im Page-Modus) |
| EEPROM | 93C46 (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.

Konfigurationsmodus wählen
Über SW1 (2-polig) legt ihr zunächst fest, wie die Karte konfiguriert wird:
| Konfigurationsmodus | SW1.1 | SW1.2 |
|---|---|---|
| Jumperless / RSET8019 | OFF | OFF |
| DIP-Schalter | ON | OFF |
| Plug and Play | OFF | ON |
Im Schalter-Modus werden IRQ, I/O-Adresse und ROM-Adresse über die weiteren DIP-Blöcke eingestellt.
IRQ einstellen (SW2)
| IRQ | SW2.1 | SW2.2 |
|---|---|---|
| IRQ2 (PC/XT) / IRQ9 (AT) | OFF | OFF |
| IRQ3 | ON | OFF |
| IRQ4 | OFF | ON |
| IRQ5 | ON | ON |
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.

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.

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.

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:
| Befehl | Funktion |
|---|---|
dir | Verzeichnisinhalt mit allen Details anzeigen |
ls | Verzeichnisinhalt (nur Dateinamen) |
cd Verzeichnis | Verzeichnis wechseln |
cdup | Ein Verzeichnis zurück (ins übergeordnete) |
mkdir Name | Verzeichnis erstellen |
rmdir Name | Verzeichnis löschen |
get datei [neuername] | Datei herunterladen, optional unter neuem Namen speichern |
put datei [neuername] | Datei hochladen, optional unter neuem Namen ablegen |
Beispiel: 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.

Weitere mTCP-Werkzeuge (Auswahl):
| Programm | Funktion |
|---|---|
| DHCP | IP-Adresse automatisch beziehen |
| FTPSRV | FTP-Server auf dem XT starten |
| HTGET | Dateien per HTTP herunterladen |
| HTTPSERV | Einfacher HTTP-Server |
| IRC | IRC-Client |
| NETCAT | Netzwerk-Universalwerkzeug |
| NETDRIVE | Netzlaufwerk 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:
- Mit einem alten Laptop eine 3,5-Zoll-Diskette formatieren
- Die Treiber-Dateien per USB-Diskettenlaufwerk darauf kopieren
- Den Schneider PC mit 3,5-Zoll- und 5¼-Zoll-Laufwerk einschalten
- Eine 5¼-Zoll-Diskette (360 KB) formatieren und die Daten übertragen
- Den Testrechner von der 5¼-Zoll-Diskette starten
Ob das in der Praxis klaglos funktioniert, werde ich bei Gelegenheit noch prüfen.
Fazit
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.


Schreibe einen Kommentar