001
10.09.2007, 22:47 Uhr
susowa
|
Zitat: | FanDjango postete Nehmen wir doch mal spaßeshalber an, man hätte an einem Z-80 CP/M Rechner zufällig eine Ethernet Schnittstelle und sogar in Z-80 Assembler einen Stack zur Verfügung. Welche Anwendungen könnte man dann relativ einfach "schreiben", um damit zu Arbeiten? 1. TFTP? 2. einen kleinen Teil von FTP?
3. CIN, CSTS und COUT raus legen auf Telnet Server? Das heisst Telnet von draussen auf die CP/M Console
4. Laufwerke einbinden dürfte wohl weitab jeder Möglichkeit sein
|
Ich habe voriges Jahr damit angefangen, allerdings gibt es 0. (Ethernet+TCP/IP) bereits komplett als Hardware bei http://www.wiznet.co.kr und das habe ich nach jahrelanger Verfolgung der ganzen Entwicklung auch gewählt.
Um absolut unabhängig von der Hardwareanbindung zu sein, wird die Experimentierplatine mit ATmega und NM7010A-Modul (Easy TCP/IP von BASCOM) per PIO im bidirektionaler Betrieb Port A per beidseitigem Interruptbetrieb mit einem Port des AVR verbunden (also 8 + 4 Leitungen).
Der AVR wird nur den Wiznet-Chip bedienen und das RAM-Interface hardwaremässig anbinden, die eigentliche Programmierung des Stacks wird der Z80-Rechner machen, indem der Socket-Treiber, welcher normalerweise im AVR läuft, auf dem Z80 programmiert wird, damit bleibt man softwaremässig genauso flexibel, als ob der Chip direkt am Bus des Z80 hängen würde.
Was geht bis jetzt. Ich habe die Platine aufgebaut und alles mit dem NM7010A-Modul ausprobiert - die BASCOM-Beispiele (UDP,TCP, DHCP, HTTP) haben sofort (teilweise nach der Beseitigung von Mängeln in den BASCOM-Quellen) funktioniert. Ich konnte per UART-Steuerung des AVR mit dem PC kommunizieren, d.h. der Wiznet Internet Chip funktioniert!
Anschliessend habe ich die BASCOM-Software im AVR durch eine selbstgeschriebene Variante ersetzt, um die PIO-Anbindung zu realisieren. Das funktioniert mittlerweile auch, ich kann mit meinem Z80-Rechner über die PIO senden/empfangen, wobei der AVR die Schreib- und Lesebefehle des "Protokolls" (bis jetzt reichlich übertriebene Bezeichnung mit 3 möglichen Befehlen aber im Moment brauche ich nicht mehr) zum/vom Wiznet-Chip umsetzt, also PIO-I/O <-> Adresse (RAM/Register) lesen/schreiben.
Zum KC-Treffen habe ich das demonstriert, indem ich die Netzwerkeinstellungen in die entsprechenden Chip-Register geschrieben habe und Init-Befehl, anschliessend konnte man diese IP mit dem PC anpingen (Echo macht der Chip intern selbst). Soweit ist das jetzt - leider hält mich seitdem die Erstellung meiner KC-Seite etwas vom Fortschritt des Projektes ab.
Was noch geändert wird bzw. schon ist - ich werde nicht mit dem NM7010A-Modul weitermachen, sondern mit der aktuelleren Variante NM7010B+ (W3150A+Chip mit aktuellem TCP/IP-Core), der lässt sich erheblich einfacher und unkomplizierter programmieren als die erste Variante W3100A-LF auf dem NM7010A-Modul. Ich habe das NM7010B+ Modul bereits da und es passt auch elektrisch auf die unveränderte AVR-Platine, man muss nur 2 oder 3 Stecksockel ineinander stapeln, damit es mechanisch passt (etwas höher kommt). Ein Test steht aber noch aus.
Warum schreibe ich das hier so ausführlich - nun mit diesem Chip sollte jedem PIO-fähigem Z80 Rechner eine TCP/IP Anbindung im Heimnetzwerk möglich sein. Man kann 4 Verbindungen parallel öffnen - das sollte ausreichen, es wird wohl niemand auf die Idee kommen Z80-Rechner für Serveranwendungen laufen zu lassen - oder?
Alles was Mike oben an Protokollen genannt hat, ist möglich - meine Primärziele sind neben funktionierenden UDP/TCP-Übertragungen im Wesentlichen:
1. PING 2. DNS 3. DHCP 4. TFTP oder gleich FTP 5. ev. Telnet 6. und dann werde ich SMB zumindest mal antesten.
Man kann ja problemlos auch was eigenes kleines 8-Bit-gerechtes machen - TCP überträgt ja nur.
UND wenn jetzt jemand auf den Geschmack gekommen sein sollte - in der Phase der Umsetzung von Standardprotokollen (1.-6. oder andere) in Z80-Code sind natürlich Mitstreiter gefragt - wenn es alles so funktioniert, wie ich mir das vorstelle. Laut Plan soll es im Oktober damit weitergehen und dann werde ich die eben genannten Infos auf http://www.kc85.susowa.homeftp.net etwas besser aufbereitet zur Verfügung stellen. |