Bestaat er een (oude) chip om met ethernet te communiceren, die aan een 6502 of Z80 kan hangen via de 8-bit databus en op 5V werkt. Liefst ook in DIP-behuizing.
Bestaat er een (oude) chip om met ethernet te communiceren, die aan een 6502 of Z80 kan hangen via de 8-bit databus en op 5V werkt. Liefst ook in DIP-behuizing.
Bijvoorbeeld de RTL8019AS, bestaat alleen niet in DIP versie.
Let wel dat de gehele netwerk stack in software moet worden gedaan. Aan jou of een 6502/Z80 dit aankan.
Die hebben bestaan maar daar zou ik nu niets meer mee willen bouwen. Compatibiliteit met het moderne ethernet is er niet. En er zijn sinds de acht bitters die er toen al heel veel moeite mee hadden veel dingen toch wel verandert. De oude 8 bitters als de Z80/6800/8051 konden het toen amper aan en hadden om die reden een erg kleine stack. Een stack die je helemaal zelf zult moeten gaan maken/bedenken.
Wat is er niet goed aan een moderne oplossing met een atmel of soortgelijke oplossing in het bijvoorbeeld het arduino platform?
Voordat de ESP's er waren heb ik ATMega + ENC28j60 gebruikt.
Golden Member
De W5500 van WIZnet heeft een volledige TCP/IP-stack aan boord en is vrij eenvoudig aan te sturen.
Het IC is helaas geen DIP, werkt op 3,3V maar heeft 5V tolerantie op de signaallijnen. Er zijn kant en klare modules met dit IC te koop, o.a. van Mikroelektronika (Mikroe).
Alleen zal je met je Z80 of 6502 ergens een SPI-bus moeten kunnen fabrieken. Dat kan met bijvoorbeeld een Z80 PIO chip (en bitbangen). Geen idee welke snelheden je daarmee kunt halen maar SPI heeft niet echt een minimumsnelheid voor zover ik weet.
Ik heb het ruim 20 jaar geleden zelf gemaakt op een ATMEGA168 met een RTL8019, op een ISA kaart. Dat is handig, want op dit manier heb je de chip met alle randcomponenten, ethernet transformatortjes, RJ45 socket, etc.
Het ding kon ARP en TCP/IP, op 100Mbit ethernet, maar het mocht natuurlijk niet te druk zijn want dan kan die microcontroller onmogelijk alle pakketjes verwerken.
Een complete TCP/IP stack op een oude 8 bitter draaien is een uitdaging. Alleen het bufferen van de ethernet pakketjes is al een uitdaging dus dat zware werk kun je beter uitbesteden:
Er bestaan kant en klare boardjes/shields voor de Arduino met zo'n WizNet chip er op, die kun je mogelijk ook wel koppelen aan een Z80/6502. Andere oplossing is een ethernet naar serial converter moduultje. Die kun je via een UART aansturen.
Nog een oplossing is om een ESP8266 'WiFi modem' te gebruiken. Die kun je ook via een UART aansturen en de ESP8266 draait dan een stukje software wat een 'Hayes' modem emuleert. Daarmee kun je dan draadloos verbinding maken met je netwerk en met simpele AT.. commando's data versturen.
Golden Member
kan je het niet met software voor packetradio verzinnen/ volgens mij deden die ook iets met tcp stack,
Voor een echte TCP/IP stack moet je iets rekenen van "een meetbaar deel van een megabyte". Raspberry pi pico-W is iets van 0.4Mb wat je meetrekt als je IP aanzet. Voor ESP32 volgens mij ook zoiets.
Dat zijn dingen waar je met een 8bit machine met 16 bit adresbus eigenlijk niet aan kunt komen.
Nu kan je een hoop "weglaten". Ik zou het prima vinden voor de meeste dingen die ik wil doen als ik UDP pakketjes kan verzenden en ontvangen. Dan moet er maar een Raspberry pi of zoiets in de buurt zijn die de web-pagina doet en dan zonodig UDP pakketjes voor verstuurt.
Golden Member
TCP/IP met een 8-bitter kan wel, bijv. https://www.c64-wiki.com/wiki/Contiki. Ik meen mij te herinneren dat de truuk die hier gebruikt wordt is o.a. het TCP/IP window op 1 te zetten (beroerd voor de throughput maar bespaart geheugen, en je hoeft dan geen rekening te houden met reordering van de packets). Echt praktisch is het niet, maar leuk dat het kan.
Een spin-off van dit project is https://savannah.nongnu.org/projects/lwip/
Golden Member
Hmm, ik was even benieuwd of een PC XT (8086/8088) tcp/ip networking zou kunnen. Ja dat kan!
https://dosdays.co.uk/topics/networking_in_dos.php
http://www.brutman.com/mTCP/
Requirements
mTCP applications should work on any IBM PC compatible personal computer running DOS. To be more specific:
- An IBM PC compatible with an 8088 or better CPU
- 96KB to 384KB of system memory depending on the application
- DOS 2.1 or newer
- A network card (Ethernet adapter, serial port, etc. or a device emulating Ethernet) that has a "packet driver" (see below).
Dan zou ik denken dat een 6502 of Z80 dat ook moet kunnen mits voldoende RAM en ROM ?
Golden Member
Maar vanwege de prestaties wellicht liever met een coprocessor. Het was niet voor niets dat bijvoorbeeld commodore evenveel rekenkracht in de floppydrive had als in de computer.
Special Member
De UsrIoT modules zijn ook handig... https://shop.usriot.com/ttl-to-ethernet-module.html
@KGE: klopt, we hadden niet genoeg RAM voor de maximale pakketgrootte (ongeveer 1500 byte), en we moesten na elk pakketje wachten op een acknowledge, want we hadden ook niet genoeg om meerdere pakketjes te bewaren voor het geval een retransmit nodig was.
@rew: je kunt heel veel weglaten; zoals gezegd deden wij alleen ARP (die heb je echt nodig) en een enkele verbinding TCP/IP als client. Dus geen DNS, DHCP, geen server mode, etc. Daar tegenover is 400kB code ook wel weer belachelijk veel. Ik snap niet hoe mensen dat voor elkaar krijgen; daar moet m.i. voor een groot deel data in zitten (look-up tables of zo), of enorme libraries die vaak helemaal niet nodig zijn. Mijn eigen code is vaak maar een tiental kB groot, ook bij grote en complexe projecten, zolang daar geen data bij in zit.
De vraag is wat de TS wil; de eenvoudigste manier om een dergelijke oude chip over Ethernet te laten communiceren, of gaat het om het zelf doen, en de meest "authentieke" manier? Ik vind het raar om een moderne 32-bit controller met een paar MB aan flash en RAM in te zetten om zo'n 8-bitter op Ethernet te krijgen; die controller is dat ordes van grootte sneller en krachtiger dan de CPU waar het blijkbaar om gaat.
[Bericht gewijzigd door SparkyGSX op vrijdag 5 juli 2024 11:49:17 (21%)
Op vrijdag 5 juli 2024 09:42:57 schreef Patrick de Zeester:
TCP/IP met een 8-bitter kan wel, bijv. https://www.c64-wiki.com/wiki/Contiki. Ik meen mij te herinneren dat de truuk die hier gebruikt wordt is o.a. het TCP/IP window op 1 te zetten ..
Ehhh. Tja. inderdaad zijn er zo "proof of concept" dingen, waarbij net hinkend en struikelend door de demo komt, maar niet echt bruikbaar.
De vraag is een beetje wat TS er mee wil. Is het "ik heb een weddenschap dat ik TCPIP kan laten werken op de C64, als het lukt win ik een huis" (zie: Roald Dahl: "taste" (*)), dan is het de moeite waard om de demo even werkend te krijgen.
Ook op de PC (8086/8088) was het behelpen. Alsin zal redelijk met toenmalige TCP hebben kunnen werken, maar geen features die voor modern internet toch wel "erg handig zijn". Maar dat noemen we al een 16 bit machine. De adresseringsruimte van 1Mbyte is al veel beter dan de 6502 met z'n 64k waar dan weer vanalles vanaf moet.
(*) Een PDF blijkt online te staan. Zelf zoeken. Moeite waard om gewoon te lezen als je hem niet kent.
[Bericht gewijzigd door rew op vrijdag 5 juli 2024 16:44:25 (17%)
Op een XT PC draaide een TCP/IP stack prima trouwens (was rond de 48-60 kByte).
Je had ook nog van die "Rabbit modules" net als zo'n ENC en Wiznet complete unit met (beperkte) TCP/IP stack.
Golden Member
Vanwege de beperkingen die iedereen al noemt, zou ik een ESP8266 module oid nemen en daar de TCP/IP stack op draaien, en verbinden via seriele of parallel poort.
ESP8266 WiFi / internet access on 8bit machines
https://www.stardot.org.uk/forums/viewtopic.php?p=108658
Bedankt voor alle info. Ik ga maar niet afdwalen, en blijf bij simuleren inbellen met 2400 baud. Dan kan de clientsoftware ook origineel blijven.
[Bericht gewijzigd door blanka op zaterdag 6 juli 2024 07:27:53 (20%)
Op zaterdag 6 juli 2024 07:26:57 schreef blanka:
Bedankt voor alle info. Ik ga maar niet afdwalen, en blijf bij simuleren inbellen met 2400 baud. Dan kan de clientsoftware ook origineel blijven.
Dat kan dan prima met zo'n 8266 WiFi 'modem'. Die begrijpt de Hayes modem commando's.
Special Member
Ik zie niet wat een ethernet chip met een 2400 baud inbelmodem te maken heeft?
Ik denk dat ik het nu begin te begrijpen. De 8-bitter kon vroeger verbindingen leggen met een 2400 baud modem en TS wil dat nu met een ethernet verbinding emuleren. Waarschijnlijk ook als "demo in een museum".
Als dat de probleemstelling is: Ik zou dan een kastje maken met bijvoorbeeld een "pico W" waarbij die enerzijds op 2400 baud met je 8-bitter kan babbelen en de AT commandos interpreteert. Evt een audio uit maken waar je de "verbinding maak" geluidjes afspeelt.
En aan de andere kant via WIFI maakt ie verbinding met een ge-emuleerd BBS ergens op het internet.
Op zaterdag 6 juli 2024 10:54:06 schreef rew:
Ik denk dat ik het nu begin te begrijpen. De 8-bitter kon vroeger verbindingen leggen met een 2400 baud modem en TS wil dat nu met een ethernet verbinding emuleren. Waarschijnlijk ook als "demo in een museum".Als dat de probleemstelling is: Ik zou dan een kastje maken met bijvoorbeeld een "pico W" waarbij die enerzijds op 2400 baud met je 8-bitter kan babbelen en de AT commandos interpreteert. Evt een audio uit maken waar je de "verbinding maak" geluidjes afspeelt.
En aan de andere kant via WIFI maakt ie verbinding met een ge-emuleerd BBS ergens op het internet.
Dat is precies wat zo'n ESP8266 wifi modem doet...
Nahhh... Hij slikt wel "at commandos" maar de C64 zal gewoon
ATDT0152333444
sturen (en dan wachten op "CONNECT") en daar doet de ESP8266 dan natuurlijk weer weinig mee.
Op zaterdag 6 juli 2024 10:54:06 schreef rew:
Ik denk dat ik het nu begin te begrijpen. De 8-bitter kon vroeger verbindingen leggen met een 2400 baud modem en TS wil dat nu met een ethernet verbinding emuleren. Waarschijnlijk ook als "demo in een museum".Als dat de probleemstelling is: Ik zou dan een kastje maken met bijvoorbeeld een "pico W" waarbij die enerzijds op 2400 baud met je 8-bitter kan babbelen en de AT commandos interpreteert. Evt een audio uit maken waar je de "verbinding maak" geluidjes afspeelt.
En aan de andere kant via WIFI maakt ie verbinding met een ge-emuleerd BBS ergens op het internet.
Heel warm, alleen hws niet via PicoW/ESP8266, maar met een telefoon/IP bridge. Dan is de originele modem ook bruikbaar.