Page 3 of 4

Re: Networking Orics.

Posted: Thu Dec 20, 2018 9:53 am
by Dbug
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...?

Re: Networking Orics.

Posted: Thu Dec 20, 2018 10:05 am
by ibisum
MIDI! MIDI! MIDI!

Re: Networking Orics.

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

Re: Networking Orics.

Posted: Thu Dec 20, 2018 3:30 pm
by 8bit-Dude
@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);
}

Re: Networking Orics.

Posted: Thu Dec 20, 2018 4:37 pm
by Chema
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!

Re: Networking Orics.

Posted: Fri Dec 28, 2018 1:27 pm
by ibisum
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?

Re: Networking Orics.

Posted: Tue Jan 01, 2019 1:10 pm
by 8bit-Dude
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.

Re: Networking Orics.

Posted: Mon Jan 07, 2019 4:49 am
by 8bit-Dude
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?

Re: Networking Orics.

Posted: Mon Jan 07, 2019 6:22 pm
by Dbug

Re: Networking Orics.

Posted: Tue Jan 08, 2019 1:23 am
by 8bit-Dude
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.

Re: Networking Orics.

Posted: Tue Jan 08, 2019 3:40 am
by 8bit-Dude
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.

Re: Networking Orics.

Posted: Tue Jan 08, 2019 6:45 am
by 8bit-Dude
Please see here for the next step of development: viewtopic.php?f=23&t=1904&p=18698#p18698

Re: Networking Orics.

Posted: Tue Jan 08, 2019 9:49 am
by Dbug
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 :)

Re: Networking Orics.

Posted: Wed Jan 09, 2019 12:20 pm
by 8bit-Dude
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".

Re: Networking Orics.

Posted: Wed Jan 09, 2019 1:18 pm
by Symoon
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!