Atari Jaguar: DOOM with fixed networking

Started by Saturn, August 02, 2016, 02:57:52 AM

Previous topic - Next topic

Saturn

Been watching a thread at AA where Carl from Songbird and a few others have been working to fix the network bug. Turns out it's NOT the infamous UART bug in the hardware but entirely in Doom itself. Now, it's been worked out and is supposed to be solid.. After I asked if someone would post a working ROM, OMF was nice enough to edit the binary and upload the ROM. Although I wanted to test it out vigorously, haven't flashed it to a single Skunkboard yet.
Anyone try this?

Carl said he easily had it connected for 30-60 minutes without a connectivity loss. I'm looking forward to trying this and wanted to get the word out to all possible for feedback (and to finally be able to play it how it was actually meant!).

zapiy

Cracking news. Look forward to hearing more on it. Sadly I don't have a way of testing.


Sent from my iPhone using Tapatalk

Own: Jaguar, Lynx, Dreamcast, Saturn, MegaDrive, MegaCD, 32X, GameGear, PS3, PS, PSP, Wii, GameCube, N64, DS, GBA, GBC, GBP, GB,  Xbox, 3DO, CDi,  WonderSwan, WonderSwan Colour NGPC

TrekMD

That is cool for the right issue to have been discovered and fixed is really excellent. 

Going to the final frontier, gaming...


Saturn

To me, this is one of the major events that will define the system's history. It's my understanding that by using a serial to network adapter, this may be able to be connected over the internet. I've inquired about which device, if any, should be used to test this out as I'm very interested in seeing if it'll work. Can you imagine the possibilities??
Sitting on the couch at home in the U.S. playing with/against someone in Germany or the U.K. It may not work like that but I'd be happy just playing someone in the same country, town or next door lol.
Take a Jaguar over to the neighbor and force them to play 8)

Even someone on the same network in the same house/building. Who knows.

Shadowrunner

Very cool figuring this out after so many years!

rush6432

#5
Quote from: Saturn on August 02, 2016, 13:59:38 PM
To me, this is one of the major events that will define the system's history. It's my understanding that by using a serial to network adapter, this may be able to be connected over the internet. I've inquired about which device, if any, should be used to test this out as I'm very interested in seeing if it'll work. Can you imagine the possibilities??
Sitting on the couch at home in the U.S. playing with/against someone in Germany or the U.K. It may not work like that but I'd be happy just playing someone in the same country, town or next door lol.
Take a Jaguar over to the neighbor and force them to play 8)

Even someone on the same network in the same house/building. Who knows.


Ive already been able to get doom (prior to carls fix) to work over ethernet and aircars as well YEARS ago.

Doom would run REALLY choppy due to it expecting the data from both players each frame before advancing and ultimately crash out with the network error if moving around. I ASSUME this is due to the network bug that is now fixed.

I assume with small tweaking on the jaguar source with carl's fix it can be made to work smoothly.

Aircars was a bit different. it was smooth but required 3 consoles for a 2 player game. 1 console was player 1 and a dummy host that shouldnt move or the game crashes. The other two players could move freely and play like normal. I have no idea if this works well for more than 3 consoles but my guess would be yes..

Configuring of the devices is a little painful due to firewall/router issues and also having to individually set parameters PER GAME and the IP you want to direct the traffic to (opponent)
Here is how i linked up the consoles

I used the following settings (from my testing worked well)

[Doom]

The settings to tunnel Doom are:
115200 Baud
1 stop bit
8 data bits
Odd Parity
No flow control
and a buffer of 8192
Have to use UDP, cannot use TCP

[Aircars]

38400 Baud
Even parity
1 stop bit
8 data bits
no flow control
buffer of 8192
Can use TCP but runs slower, UDP works much faster obviously

Saturn

Quote from: rush6432 on August 04, 2016, 16:55:37 PM
Ive already been able to get doom (prior to carls fix) to work over ethernet and aircars as well YEARS ago.

Doom would run REALLY choppy due to it expecting the data from both players each frame before advancing and ultimately crash out with the network error if moving around. I ASSUME this is due to the network bug that is now fixed.

I assume with small tweaking on the jaguar source with carl's fix it can be made to work smoothly.

Aircars was a bit different. it was smooth but required 3 consoles for a 2 player game. 1 console was player 1 and a dummy host that shouldnt move or the game crashes. The other two players could move freely and play like normal. I have no idea if this works well for more than 3 consoles but my guess would be yes..

Configuring of the devices is a little painful due to firewall/router issues and also having to individually set parameters PER GAME and the IP you want to direct the traffic to (opponent)
Here is how i linked up the consoles

I used the following settings (from my testing worked well)

[Doom]

The settings to tunnel Doom are:
115200 Baud
1 stop bit
8 data bits
Odd Parity
No flow control
and a buffer of 8192
Have to use UDP, cannot use TCP

[Aircars]

38400 Baud
Even parity
1 stop bit
8 data bits
no flow control
buffer of 8192
Can use TCP but runs slower, UDP works much faster obviously

Great info, thanks. I'll keep this handy for when I get to attempting it. Is there a certain serial to network adapter you'd recommend? There's a sea of them out there and I'd hate to waste time/money on the wrong or inferior one.

rush6432

Check out the picture i posted of the adapter. Its printed on the pcb and they're cheap on ebay.

Saturn

Cool, I found some here. Will pick up a couple at some point.


Finally got everything ready to go and realized my DB9 cable isn't where I thought it was. Had 2 Scatboxes hooked up and need to find it lol. I did manage to find a RJ11 cord but don't have 2 Jaglinks nearby. Ugh! Can't test sh*t tonight :-\

Saturn

Ok, got up around 3:30AM and drove to get my Jaglinks. In turn, found out the RJ11 cord didn't work anyway. It originally came with a set of Jaglinks brand new. Idkwtf but I found a shorter, non-official RJ11 cord and the DOOMs connected immediately. Left it for about 10 minutes before I had to shut it all down and go to work but in that time, no disconnect or error or any of that respawning randomly bs. 8)

Looking forward to trying it out a lot longer this weekend. While playing through a little bit I was quickly reminded how ill this game's "3D" makes me. I'm hoping the players don't actually have to move around in order to test this. Will leave them both standing there facing each other for a few hours and see what happens. Don't know if I could handle an extended period of time playing this without getting the head creeps (or whatever happens :'( )

Shadowrunner

Quote from: Saturn on August 12, 2016, 17:43:41 PM
Ok, got up around 3:30AM and drove to get my Jaglinks.

Wow! That's some serious dedication. I think my bed would have to be on fire for me to get out of it at 3:30 AM lol

Saturn

Ha, I couldn't sleep anyway. The diet program I'm creating gives me a LOAD of energy and need only 4-5 hours of sleep so I'm up early all the time lol. (and when I say 'need' it's more like 'can only get' before waking up and unable to crash again)

Ran into a connectivity problem when I tried at lunch. Spent about 7 minutes powering on/off Jags and attempting to re-establish a working connection but they all failed. So, maybe it's not the original cable. Replugged the RJ11, switched the ends to the other Jaglinks, Replugged and wiggled the RJ11 but it wouldn't happen. Had to give up and go back to work.
Is it really this hard to get a network going? I don't remember it being so difficult from the few times I'd tried way back.
Will attempt it again at the next opportunity but I find it a little too coincidental that the very 1st try with the shorter cord worked instantly but not again.

Saturn

YES! It was a bad Jaglink. Ran some tests using a bunch of Jaglink 2's and everything was fine. Found the crap one and have it set aside to dissect later 8)
Have all kinds of networks going. Aircars '94, DOOM+ (<-what I'm calling the fixed version) and Battlesphere Gold.

Back to some DOOM+ now ;D

Saturn

Had network success for an hour and 43 minutes. Whether coincidence of not, it crashed when I'd reached the furthest point between characters on Area 7 of co-op. The console I was actively playing (since this was being tested without an actual 2nd player) went to the attempting to connect screen and remained there while the other console froze and no controls work at all.
I reset the console I was using by pressing Option and tried to reestablish a connection but the attempting screen never changed and the other console stayed frozen.
Seemed like everything worked great as long as the players were in close(r) proximity to one another. Put them on opposite sides of the map and that appeared to cause it to fail.
I'll test it repeatedly to see if it's consistent 8)

rush6432

#14
Quote from: Saturn on August 14, 2016, 16:00:28 PM
Had network success for an hour and 43 minutes. Whether coincidence of not, it crashed when I'd reached the furthest point between characters on Area 7 of co-op. The console I was actively playing (since this was being tested without an actual 2nd player) went to the attempting to connect screen and remained there while the other console froze and no controls work at all.
I reset the console I was using by pressing Option and tried to reestablish a connection but the attempting screen never changed and the other console stayed frozen.
Seemed like everything worked great as long as the players were in close(r) proximity to one another. Put them on opposite sides of the map and that appeared to cause it to fail.
I'll test it repeatedly to see if it's consistent 8)

You should let carl know...

Sounds to me like an auto-reconnect feature or re-sync prior to restarting the whole game (like the old network code) is in order...

So bascically what it sounds like happened was one console lost communication and the other was frozen in a loop waiting for data from the other console. it didnt re-connect probably because one console was spitting out connection characters (the one that you reboot) and the other was waiting for a data packet containing controller data and the x/y/z position of the player. If you take a look at the source code, you'll see that it wont ever reconnect in that state as the initial connection screen only listens for one type of response and nothing else.