Jump to content

Photo

Arduino Based Ethernet Adaptor for the Oric Atmos


4 replies to this topic

#1 8bit-Dude OFFLINE  

8bit-Dude

    Chopper Commander

  • 129 posts
  • Location:Kyoto, Japan

Posted Thu Dec 13, 2018 12:59 AM

This discussion was started in the wrong section, so I am creating a new thread here.

 

@Oli:  So I would like to use an Arduino with Ethernet Module to interface with IP65 on the Oric Atmos.

 

On the Atmos side, I found that I/O register #0301 corresponds to a byte on the printer interface (see p229 of this manual: http://www.defence-f...nual_atmos.pdf)

 Question 1: Is 1 registers enough???  (i.e: by adding a small layer that sends/fetches data from the printer port and maps it ready for IP65)
 Question 2: Can you give me a list of registers needed by IP65, and their function?

 

On the Arduino side, I found this library which implements the basics of an ethernet layer:  https://www.arduino....erence/Ethernet

 Question 3: Can you take a quick look and tell me if all the functions needed by IP65 are implemented in this arduino lib?

 

Many thanks in advance!!!


Edited by 8bit-Dude, Thu Dec 13, 2018 1:46 AM.


#2 ol.sc OFFLINE  

ol.sc

    Chopper Commander

  • 100 posts

Posted Thu Dec 13, 2018 11:23 AM

Hi,

 

Your three questions show me that there's a major misconception :-(

 

IP65 is a TCP/IP library talking to several Ethernet chips (incl. the W5100). That "Arduino Ethernet library" is a TCP/IP library talking to the Ethernet chip W5100. So there's of course no point in stacking both as they roughly do the same. If you want to use that "Arduino Ethernet library" then you'll do so from your game and drop IP65. This is by the way the very same thing you do when you want to use the ESP8266/ESP32. In both scenarios IP65 doesn't play any role aka I'm not involved in any way.

 

So just in case you want to use IP65:

 

As I wrote before, IP65 needs the registers of a CS8900A or W5100 or LAN91C96 mapped STRAIGHT into the 6502 address space. As soon as you modify that setup in any way you need to write your own Ethernet driver for IP65.

 

Apart from that general aspect you need to know that all three Ethernet chips mentioned above support so-called auto-increment registers. That means when it comes to actually transfer data from/to the Ethernet chip RAM to/from the 6502 RAM one simply does successive reads/writes (e.g. LDA <register addr>/STA <register addr>). So even a read from the Ethernet chip register in question has a side effect! Therefore the hardware design needs to make ABSOLUTELY sure that there are no so-called phantom reads at any point in time.

 

Regards,

Oliver


Edited by ol.sc, Thu Dec 13, 2018 11:23 AM.


#3 8bit-Dude OFFLINE  

8bit-Dude

    Chopper Commander

  • Topic Starter
  • 129 posts
  • Location:Kyoto, Japan

Posted Thu Dec 13, 2018 5:11 PM

Ok, it makes perfect sense now!

 

From the above, I understand that the best is to use the Arduino TCP/IP layer.

I will only need to send/fetch the contents of packets, and Arduino will handle the rest...



#4 8bit-Dude OFFLINE  

8bit-Dude

    Chopper Commander

  • Topic Starter
  • 129 posts
  • Location:Kyoto, Japan

Posted Wed Dec 19, 2018 10:30 AM

@Oli: I have been busy the last 2 nights, check it out: http://forum.defence...&p=18569#p18551



#5 ol.sc OFFLINE  

ol.sc

    Chopper Commander

  • 100 posts

Posted Wed Dec 19, 2018 11:43 AM

Thanks for the link :-)






0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users