A friend and I RE'd the KDDI Capcom games but ran into a hardware roadblock. Here's how 15+ games could come back online

Online games, how to get online, and anything involving Dreamcast online can be discussed here.
dude2207
Developer
Posts: 38
Dreamcast Games you play Online: Phantasy Star Online v2
Netto de Tennis
Contact:

A friend and I RE'd the KDDI Capcom games but ran into a hardware roadblock. Here's how 15+ games could come back online

Post by dude2207 »

Hello there! I'm dude22072, and back in November along with my friend Ioncannon we reverse engineered the Capcom fighting games that used the KDDI service. However, we ran into a roadblock that seemingly can only be solved with creating new hardware to work alongside DreamPi setups. After not touching it for months we figured it would probably be best to post the work we've done to the wider community, both for the sake of documentation and as a call for assistance in solving this roadblock. Here's what we've discovered and how you can potentially help.

Capcom Direct
This is the name that Capcom gave to their service that was used across 15 games. All of the game that use this service have a singled shared configuration file (referred to as the "NET File", saved as "CAP_NET_.NET") that stores a nickname, a user ID, ZIP code, a phone number (more on this later), and your limit as to how much you're willing to spend per month on the service (it cost 13yen/minute while you were in a match). When filling out the information and attempting to connect to the server to register it instead of the dreamcast dialing your ISP it will instead specifically dial the number "186005363011102". When using a DreamPi setup we could not get it to connect to our server emulator, however when using an old Windows XP machine with Internet Connection Sharing and a dial-in interface setup it connected and was able the create the NET File without any issues. Maybe the game is looking for something Windows specific? Maybe the DreamPi isn't emulating something properly? Ion also had issues with it not working over his PortMaster setup so it would seemingly be the former. Whatever the issue may be there, we now have our NET File and can move on to actually connecting to Capcom Direct.
Now, the Capcom Direct service was simply the matchmaking, lobby, and ranking side of things, and actual matches would take place over the KDDI network. After going through the matchmaking process it is decided who will be on the P1 side and who will be on the P2 side and this information is sent to the two players, along with the phone number the players setup in their respective NET Files. After this the dreamcast disconnects from your ISP. One player's dreamcast enters a mode waiting for the phone line to ring, while the other player's dreamcast attempts to dial the number previous sent to them. This opens a direct serial connection between the two dreamcast modems rather than the PPP connection that is used to connect to an ISP/DreamPi. After the match takes place both players disconnect from each other and reconnect to their ISP to report the results of the match to the server.

The Roadblock
So why exactly would we need some new hardware for this? Well, the issue comes from one of the dreamcasts waiting for the phone line to ring. This is because a phone line ringing is not a simple DC signal or a sound that could be played from the modem like DreamPi does with the dial tone, instead a phone line ringing is actually caused by a 20Hz 90v RMS AC signal (North American standard). So the roadblock becomes: 1) how do we generate this signal, 2) how do we determine when the dreamcast has answer the line to stop generating the signal, and 3) how do we actually connect the two dreamcasts directly together without an ISP in-between. One theory I had was to take two Subscriber Line Interface Circuit (SLIC) chips and just connect the TX/RX of them to each other and to connect the Ring Enable/Ring Signal/Off Hook Signal to the RPi's GPIO pins to generate the ring and detect when the dreamcast had answered. The specific chips I was looking at were the "Ag1171S" chips from Silvertel, however due to them being a low need product or simply supply issues from current world events they have a lead time of 29 weeks on them. If you ordered one off of mouser today it wouldn't show up until December. I'm unsure if simply going the old route of using a Phone Line Simulator would be enough, but even if it is discovering a cheaper option would probably be preferred by most people. As for solving the third issue I mentioned, it could be as simple as having the user pre-register with the service to generate a unique number to use as the phone number during the dreamcast signup process, and then having another service running on the DreamPi (a la DCVoip, DCGameSpy, etc) to deal with handling the connection between the two by connecting to the service and establishing a P2P connection between the DreamPis accordingly, and then potentially using some sort of Serial over TCP connection to get the two modems talking to each other.

Conclusion
So that's where things currently stand. Solving this hardware issue (which personally I'd love for it to be called something like "DreamPi-Direct") would be useful not just for Capcom games, but for ALL games that use the KDDI service, which is a decent number of the still currently offline games (hence the "15+" in the title). The source of our Capcom Direct emulator is publicly available on GitHub (iirc there's an issue with the build not making an NLOG config file so throw one in the output directory after building). Everything about registering and using the lobby was tested to work except for reporting the results of the match back to the server as we could never get into a match without solving the ringing issue. Also shoutouts to pcwzrd13, kazade, and shuouma. We had an email chain with them at one point to discuss how the Gundam server worked due to how similar it is to the Capcom service, even if we weren't able to use much of it in the end. And finally here's an imgur album of some images Ion took while working on the server to show that it does indeed work with a real dreamcast.

User avatar
megavolt85
Developer
Posts: 2009

Re: A friend and I RE'd the KDDI Capcom games but ran into a hardware roadblock. Here's how 15+ games could come back on

Post by megavolt85 »

man this is awesome information, as a PC-DC user I already imagined in my head what a modified modem would look like

ncman071
Sunday Shootout
Posts: 690
Dreamcast Games you play Online: Quake 3 Arena
Starlancer
AFO
Tetris
Maximum Pool
CCR
4x4
PSO v2
Location: North Carolina

Re: A friend and I RE'd the KDDI Capcom games but ran into a hardware roadblock. Here's how 15+ games could come back on

Post by ncman071 »

i bet between pcwzrd, Shu, and my background in typing words that we could make this happen! All jokes aside....tis is pretty awesome and i hope the dc community can get it to work

User avatar
killer-elite
blackout!
Posts: 140
Dreamcast Games you play Online: All of them

Re: A friend and I RE'd the KDDI Capcom games but ran into a hardware roadblock. Here's how 15+ games could come back on

Post by killer-elite »

this is a glorious day for Dreamcast Fans around the world !!!!!!!! One day all of the games will be 100% playable Online...Thank You for your contribution to the DC community, who have always had this little console stuck in their hearts !

User avatar
krovellium
fire
Posts: 70
Dreamcast Games you play Online: Quake III Arena
PSO
ChuChu Rocket
Worms World Party
Internet Game Pack
Contact:

Re: A friend and I RE'd the KDDI Capcom games but ran into a hardware roadblock. Here's how 15+ games could come back on

Post by krovellium »

very interesting read. i do have a couple worries that when the dc-live shop sells the contraptions you mentioned (if it ever does) it’ll be impossible to get one due to the silicon shortage and the waves of people trying to buy one day 1. other than that, very nice concept :mrgreen:
Image

enfilade
rebel
Posts: 22
Dreamcast Games you play Online: PSO, Maximum Pool, Internet Game Pack, 4x4 EVO, AFO, Chu Chu Rocket, Q3A, Worms, Ooga Booga
Location: Halifax, Nova Scotia

Re: A friend and I RE'd the KDDI Capcom games but ran into a hardware roadblock. Here's how 15+ games could come back on

Post by enfilade »

This is incredible news! Thank you so much for your hard work and sharing with the community :)

User avatar
Wombat
Vagabond
Posts: 763
Location: Netherlands

Re: A friend and I RE'd the KDDI Capcom games but ran into a hardware roadblock. Here's how 15+ games could come back on

Post by Wombat »

O M G! This is great and looking promising.
Thank you dude22072 & Ioncannon!

Counting down the days that we will be able to play Heavy Metal Geomatrix and/or Spawn online :O

User avatar
-drez01-
Tank Jr.
Posts: 345
Dreamcast Games you play Online: Quake III Arena
Location: Canada

Re: A friend and I RE'd the KDDI Capcom games but ran into a hardware roadblock. Here's how 15+ games could come back on

Post by -drez01- »

Hey so the connection method you are describing is extremely similar to how snes and genesis xband work. I have managed to set it up fairly easily with a linksys PAP2T.
6449E06A-8058-4C8C-B153-D85CCF1BA645.jpeg
They are almost identical to the voip boxes used for saturn netlink. Except they have 2 phone lines. So you don’t have to line swap.

You can connect one line to Your DC and the other to your xp machine. You could Dedicate the 18600 number to call your XP machine and another to call an IP over the internet to another PAP2T.

Basically using it as an intercom or ring down system where the phone rings. I used the PAP2T as a sudo phone line simulator till I could afford a real one.

The main problem with this setup is latency as anyone who has played saturn with one will tell you. Like 400 ms locally +! Someone here is working on a better solution tho

https://www.dreamcast-talk.com/forum/vi ... &start=540
SEGA RPG FAN wrote:So, a few posts back I said no one is working on a Dreampi tunneler. I decided to finally start tackling it. Early results are promising and much better than VoIP. Here's a sample: https://youtu.be/Rdly0P4Yq7g
If you go ahead and try the PAP2T make sure it is UNLOCKED or it will be unusable..

User avatar
pcwzrd13
Seen Any Sailors?
Posts: 7191
Dreamcast Games you play Online: All of them! I'm able to connect with dial-up or broadband.
Location: USA
Contact:

Re: A friend and I RE'd the KDDI Capcom games but ran into a hardware roadblock. Here's how 15+ games could come back on

Post by pcwzrd13 »

-drez01- wrote:Hey so the connection method you are describing is extremely similar to how snes and genesis xband work. I have managed to set it up fairly easily with a linksys PAP2T.
I was thinking that as well. SEGA RPG FAN's tunneling solution for Saturn NetLink could be used here as well. I'm just not sure about the ringing part and how/if that differs from the way NetLink/XBAND work. The solution he's working on works without any additional hardware. Just the USB modem and an LVI.

The tricky part I think will be the switching from being connected to the server to direct dialing the other player.
PSO Characters:
Teal'c - lvl 119 HUcast - GC# 11666
Alto - lvl 39 FOnewm - GC# 12964

YouTube Channel : Dreamcast Live

Edw
noob
Posts: 1

Re: A friend and I RE'd the KDDI Capcom games but ran into a hardware roadblock. Here's how 15+ games could come back on

Post by Edw »

Congratulations!

I'm one of the maintainer of the gundam Flycast fork, the gundam works quite differently since it is always relying on the KDDI lobby + battle server (PPP TCP/IP connection), we have hacked it from the emulator side to remove the latency induced by the modem components (so no more dialup connection now, it's direct TCP/IP), and then changed all TCP traffic to UDP for the lowest latency.
The game originally was never running a direct modem connection between players, despite the fact that it is also a game using KDDI connection service

On an emulator perspective (Flycast), what you are trying to achieve seems to be an easier task than making a compatible hardware for the real DC.

  • Similar Topics
    Replies
    Views
    Last post