Networking Orics.

In this forum you can write about anything that does not fit in other forums.
This includes generic Oric talkings and things that are totaly unrelated but want to share with people here :)
User avatar
Dbug
Site Admin
Posts: 2770
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Networking Orics.

Post by Dbug » Thu Dec 20, 2018 9:53 am

I've a bunch of questions :)
- Do you have any idea of what the bandwidth you can achieve in term of raw transfer speed?
- Is it some buffering, so for example you can have the system play nicely with interrupts and long operations? (like for example read a burst of bytes in one large bloc and then resume normal work)
- Can your device only be used between each others, or do you have a real TCP/IP stack that would allow for example to control the Oric from a PC, load and save data from the network, etc...?

User avatar
ibisum
Wing Commander
Posts: 1039
Joined: Fri Apr 03, 2009 8:56 am

Re: Networking Orics.

Post by ibisum » Thu Dec 20, 2018 10:05 am

MIDI! MIDI! MIDI!

User avatar
iss
Squad Leader
Posts: 722
Joined: Sat Apr 03, 2010 5:43 pm
Location: Bulgaria
Contact:

Re: Networking Orics.

Post by iss » Thu Dec 20, 2018 10:14 am

ibisum wrote:
Thu Dec 20, 2018 10:05 am
MIDI! MIDI! MIDI!
There will be soon... just let me finish with the OricExos! :)

User avatar
8bit-Dude
Officer Cadet
Posts: 51
Joined: Tue Mar 14, 2017 1:33 pm
Location: Japan

Re: Networking Orics.

Post by 8bit-Dude » Thu Dec 20, 2018 3:30 pm

@DDbug
(1) Crucial question!!! For now I have put a (very safe) 0.5ms delay on ACK signals from arduino, so ATMOS receives buffers @ 2KB/s. I will try to bring this down to the lowest value possible once I have optimized the code a little more... I am running from C, need to convert code to ASM to avoid needless cycles. My guess it that <0.05ms delay on ACK is feasible (=20KB/s) (For reference, Arduino can switch output pin states in ~2us, but I don't think ATMOS can keep up).
(2) The Arduino stores data from internet in a buffer, and dumps it on demand (STB to arduino with Byte 10101010 causes dump of the whole buffer to the ATMOS, regulated by the above mentioned ACK signals).
(3) Arduino has a full TCP/IP layer implemented, and you talk to it any way you want and store the results in the buffer. When the ATMOS retrieves the buffer, it is up to it to make sense of whatever data was received.

Extra: STB from ATMOS to Arduino are caught by an interrupt on the Arduino, so I don't need any delay. Sending bytes from a char buffer TX is done as efficiently as possible:

// Send each byte of buffer to printer port
unsigned char i=0;
while (tx [ i ] ) {
POKE(0x0301, tx[i++]);
POKE(0x0300, 175);
POKE(0x0300, 255);
}

User avatar
Chema
Game master
Posts: 2323
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Re: Networking Orics.

Post by Chema » Thu Dec 20, 2018 4:37 pm

Yep.. quite similar to the info I posted about people using the ESP chip for adding Wi-Fi internet connection to some old computers.

The chip includes a full TCP/IP stack implementation and is accessed through SPI. This needs a serial port in the computer, which is something the Oric lacks.

But using an Arduino and a connection using the printer port solves this... is that it?

It would be possible to connect the Oric to a BBS with a terminal emulation program... that would rock!

Incredible project. Congratulations!

User avatar
ibisum
Wing Commander
Posts: 1039
Joined: Fri Apr 03, 2009 8:56 am

Re: Networking Orics.

Post by ibisum » Fri Dec 28, 2018 1:27 pm

This is a great project and its sure going to be exciting to see its use in multiplayer gaming! :).

But personally, I prefer WiFi. I don't have another Ethernet port available.. and my other retro machines have boards that allow easy to use WiFi too .. (e.g. M4 Board) .. come to think of it, maybe its possible to use an M4 board in the same way, but with an adapter?

User avatar
8bit-Dude
Officer Cadet
Posts: 51
Joined: Tue Mar 14, 2017 1:33 pm
Location: Japan

Re: Networking Orics.

Post by 8bit-Dude » Tue Jan 01, 2019 1:10 pm

There is a wifi version of this Arduino ethernet, so in theory no problem.
For now I am using ethernet so I don't need to worry about how to connect to network in the C code.

User avatar
8bit-Dude
Officer Cadet
Posts: 51
Joined: Tue Mar 14, 2017 1:33 pm
Location: Japan

Re: Networking Orics.

Post by 8bit-Dude » Mon Jan 07, 2019 4:49 am

I am going to start implementing Joystick support on the Arduino Ethernet board.

I heard that other joystick adaptors for the printer port exist out there.
I might as well try to make the Arduino compatible with those existing systems... is there any technical information on them?

User avatar
Dbug
Site Admin
Posts: 2770
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Networking Orics.

Post by Dbug » Mon Jan 07, 2019 6:22 pm


User avatar
8bit-Dude
Officer Cadet
Posts: 51
Joined: Tue Mar 14, 2017 1:33 pm
Location: Japan

Re: Networking Orics.

Post by 8bit-Dude » Tue Jan 08, 2019 1:23 am

Hmmm... each of these adapter implements a different pin-out.
Can you tell me roughly which ones are popular with already released games and worth supporting?
I can probably add some kind of switch to the Arduino to select operation mode.

User avatar
8bit-Dude
Officer Cadet
Posts: 51
Joined: Tue Mar 14, 2017 1:33 pm
Location: Japan

Re: Networking Orics.

Post by 8bit-Dude » Tue Jan 08, 2019 3:40 am

Pretty sweet the Arduino! All I had left for the joystick were 4 analog pins, which could be used as digital inputs for only 4 switches.
But with a little work to implement parallel voltage dividers, I can now read the joystick state from a single analog pin.

So with a simple Arduino I can now read 4 joysticks, send/receive UDP packets, and tansfer the info in batches through the printer port.
Attachments
2019-01-08 11.31.49.jpg

User avatar
8bit-Dude
Officer Cadet
Posts: 51
Joined: Tue Mar 14, 2017 1:33 pm
Location: Japan

Re: Networking Orics.

Post by 8bit-Dude » Tue Jan 08, 2019 6:45 am

Please see here for the next step of development: viewtopic.php?f=23&t=1904&p=18698#p18698

User avatar
Dbug
Site Admin
Posts: 2770
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Networking Orics.

Post by Dbug » Tue Jan 08, 2019 9:49 am

Very interesting!

This makes me wonder... (yeah, I know, I wonder a lot) since now you have joytick ports on your device... and a powerful micro-computer on the board... do you think it would somewhat be possible to use your card to handle things like Atari ST or Amiga mice?

On the Atari ST there's a small 8bit CPU in the keyboard which is in charge of counting the pulses coming from the joystick ports and convert that in some relative or absolute protocol (user selectable).

Basically, what I'm thinking is that if you can come up something like that, the couple Cumulus + Arduinet would be come super awesome:
- Fast disk drive
- Internet
- Mouse

from there we can do a lot of cool things, including games like Lemmings, or native painting programs that don't require using the keyboard to draw :)

User avatar
8bit-Dude
Officer Cadet
Posts: 51
Joined: Tue Mar 14, 2017 1:33 pm
Location: Japan

Re: Networking Orics.

Post by 8bit-Dude » Wed Jan 09, 2019 12:20 pm

Update of the day: I got the LCD screen working, and did some research on connecting a mouse.
It turns out I can get a PS2 mouse working with only 2 pins.

So my idea is to have a configuration mode: when the arduino boots up, if fire button is pressed on joy#1 then LCD display is used to choose from following modes:
Ethernet + 4 Joy
Ethernet + 2 Joy + Mouse
ALTAI Interface (2 Joy)
IJK Interface (2 Joy)
... and so on ...

One important questions: which interfaces are actually worth supporting? (i.e: which are popular with existing games?)
P.S: with all this functionality, I am thinking to naming this the "8bit-Hub".
Attachments
2019-01-09 20.11.57.jpg

User avatar
Symoon
Archivist
Posts: 1425
Joined: Sat Jan 14, 2006 12:44 am
Location: Paris, France
Contact:

Re: Networking Orics.

Post by Symoon » Wed Jan 09, 2019 1:18 pm

I think PASE interface was quite popular in the early years. A few program patches were sold to let players use the joystick with popular games.
Then came the programmable interfaces.

This is the little I know from France, maybe the reality of the whole market was different... And it's likely that the UK market had a very different sales too!

Post Reply