Digital to Analog Converter

All NetLink related discussion goes in here.
Post Reply
bellotto
Posts: 34
Joined: Sun Oct 30, 2011 4:50 pm

Digital to Analog Converter

Post by bellotto »

Are there any adapters that plug into a phone jack to convert digital to analog?

If not an adapter, has anyone heard any method for dialing with Netlink using digital?
User avatar
Warp2063
League Veteran
League Veteran
Posts: 1594
Joined: Mon Mar 03, 2008 4:28 am
Location: Virginia, USA

Re: Digital to Analog Converter

Post by Warp2063 »

If you're using a regular phone with your digital phone service, you already have an analog adapter. The issue shouldn't lay in the fact that you're using a digital-to-analog converter... it's more due to the fact that digital phone service is done through the internet, and is therefore subject to many delays in transmission. A connection to the internet is nowhere near as steady and reliable as an analog phone line. You may or may not hear any interruptions or slowdowns in a phone call via a digital service, but a modem is much more sensitive to minor delays or fluctuations. The Saturn web browser, as is the case with most modern software, was programmed to handle these delays. In the case of loading a webpage, it doesn't matter if there are delays or lost information; it can take as long as it likes to request retransmission of anything it didn't receive or didn't understand. However, in a game, timing is critical. With NetLink games, timing is even more critical.

The NetLink's communication protocol was based on the old XBAND communication protocol. The way the XBAND handled game synchronization between two consoles was by transmitting information over the modem in between frames of animation. If you assume 30 frames of animation, this meant that it had to exchange data with the other system at least 30 times a second. Because the system had no way of knowing what the state of the other system was if it didn't receive an update, it would pause the game until it could re-establish a reliable sync with the other system. On a phone line, this wasn't really much of an issue - it was a dedicated, point-to-point connection between you and the other player. You really only had issues sometimes over long distances, when the delays might start to become a problem. Fast forward to today, though. The internet is NOT a reliable, dedicated point-to-point connection. There are delays - sometimes short, and sometimes long. Sometimes information gets lost or messed up along the way. These delays and errors may not be noticeable to you, but to something that requires instant updates thirty times a second, these delays are a big problem. Missing packet? Pause game, try to get in sync again. Okay, I think I got it.... nope, another delay. Try again.... oooookay.... sync? Good! Oops, no, got a bad packet. Pause again. After a few more failures, it'll just drop the connection.

That's the problem with digital.

Modern software doesn't rely on the same level of synchronization. Software is now designed to make predictions based on previous known states in order to make it seem like there are no interruptions in communication. This is why in a shooter you'll sometimes see someone "jump" from one location to another, or someone who wasn't even looking in your direction suddenly gets a headshot on you. The game was making a prediction based on the last state it knew your opponent to be in, and when it finally got past all the delays and got an update on your opponent, it had to immediately correct the error.

Since the XBAND service providers had to reverse-engineer games to write the patches to make games compatible with their service, and had to make sure that these patches were small enough to fit in the XBAND modem memory, AND didn't infringe on any copyrights, they couldn't just rewrite huge chunks of the game to write code that could provide that level of communication. On top of that, the SNES and the Genesis were only so powerful, and adding predictive subroutines probably would have been a lot to ask of those machines. On top of THAT, multiplayer online gaming really was still really new. Real-time games online like fighters really hadn't been done much before. So they did what they could - they made the XBAND exchange information in between frames of animation to make sure that no system was ever in a different state than that of the one it was connected to. And if there are any delays? No predictive algorithms to guess at whether player A threw that punch or whether player B blocked, so no chance of getting it wrong. Just pause in case of errors. And you already have a pretty solid communications system - a phone line! So synchronization will be reestablished quickly, and the players might not even notice that fraction of a second that the game was paused.

Fast-forward to the Saturn and the NetLink. The Saturn already has a game library in place. You want to add multiplayer online gaming to the mix. You already have a working method of using a modem... so you'll just use that. Go in and modify the games the same way. Everything is great.

Fast-forward to today. The solid communication system of the past has given way to a squishier, delay-tolerating system. The speed of communication is high enough that the number of errors that can be tolerated is much, much greater without accruing unacceptable performance hits. But the poor, old Saturn... a system that used a solid communication system as its strength now no longer has that to rely on. The NetLink could tolerate a few acceptable losses in connectivity... but the losses and slowdowns on the internet are much, much more frequent. And that's the system your digital phone line communicates on.
I have my Saturns, I have some of my games, I have a RasPi. Gotta put all this stuff together!
Post Reply