Gezocht, ethernetcontroller 8bit 5V

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?

revado

Honourable Member

Kan de ENC28j60 dat niet?
Maar ook daar zal een en ander bij moeten.

Voordat de ESP's er waren heb ik ATMega + ENC28j60 gebruikt.

https://github.com/ptrks/AVR-ENC28J60-Examples

It's the rule that you live by and die for It's the one thing you can't deny Even though you don't know what the price is. It is justified.
McAwesome

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 manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken

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.

mel

Golden Member

kan je het niet met software voor packetradio verzinnen/ volgens mij deden die ook iets met tcp stack,

u=ir betekent niet :U bent ingenieur..

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.

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Patrick de Zeester

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/

PE9SMS

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 ?

This signature is intentionally left blank.
maartenbakker

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.

www.elba-elektro.nl | "The mind is a funny thing. Sometimes it needs a good whack on the side of the head to jar things loose."
Arco

Special Member

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

@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%)

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken

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%)

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

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.

1-st law of Henri: De wet van behoud van ellende. 2-nd law of Henri: Ellende komt nooit alleen.
bprosman

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

De jongere generatie loopt veel te vaak zijn PIC achterna.

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.

https://github.com/dhansel/WifiModem

Arco

Special Member

Ik zie niet wat een ethernet chip met een 2400 baud inbelmodem te maken heeft?

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

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.

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

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.

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

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.