Dolphin, the GameCube and Wii emulator - Forums

Full Version: VBA-M to Dolphin Controller
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2

lastexial

Hi, I'm currently using dolphin 4.0, in conjunction with vba-m SVN1147. Now im trying to play final fantasy crystal chronicles multiplayer which as some might know requires a gba to play. i've got everything to work (somewhat stable) and am able to play the game in multiplayer mode with vba-m as my controller. However, when i play the game in netplay, the controls seem to stop working as if vba-m cannot recognize the dolphin window anymore. Now, my question is why is it that the vba-m controller works with my personal game but when i try using netplay it doesnt work anymore?

Any suggestions would be great.
You can't use GBA over netplay
GBA + netplay may not be possible for quite a while due to the game's perfectly-reasonable assumption that there's zero latency between the GC and GBA. Unless I'm dumb/uninformed, there's currently no way around this besides having a ridiculously-low-latency connection between the two computers. (Not to mention GBA adapter support is currently unimplemented in netplay anyway.)

lastexial

(09-30-2013, 12:49 PM)pauldacheez Wrote: [ -> ]GBA + netplay may not be possible for quite a while due to the game's perfectly-reasonable assumption that there's zero latency between the GC and GBA. Unless I'm dumb/uninformed, there's currently no way around this besides having a ridiculously-low-latency connection between the two computers. (Not to mention GBA adapter support is currently unimplemented in netplay anyway.)
I'm just curious as to why it wouldn't work, if it works on the emulator without netplay what is the difference with netplay
Netplay avoids requiring a ridiculously-low-latency connection by simply delaying all input by a user-specified number of frames and sending large buffers of input data at a time. This is perfectly fine for controllers as they just send info to the console; the console doesn't know that it's a bit late. On the other hand, there's communication going both ways between a GC and GBA, and they expect instant replies to all their messages, so they don't like getting delayed and concatenated data like that – it's not fast and granular enough for them, and if netplay *did* account for that it'd have to pause emulation between each interaction between the two consoles, just to wait to receive messages from the other computer over the comparatively-high-latency 'net connection.

Of course, I'm kinda talking out of my ass here. I didn't write any of the netplay or GBA link code, nor do I know how exactly the GC-GBA communication works other than that it's through a cable where a programmer can assume negligible/no latency. Feel free to correct me, programmers who know more than me.
If one wanted they could implement the controller syncing "netplay" technique for vba-m.
You would then run 2 instances of vba-m per computer (or ideally the "other" player's system would be emulated behind the scenes).
But no one has implemented this (as far as I know).
Since the GBA counts as a Gamecube accessory, Dolphin should also emulate it.
but makes more sense for Dolphin to communicate with an Android GBA emulator
or a real GBA ?
GBA emulation is VBA-M's job, and there's already code in both emulators to allow for connecting the two. We just can't currently use it over netplay.

Also, the Android GBA emulator thing would probably end up having the same issues as netplay due to the latency thing, even if it's on a LAN. A real GBA might be possible, but a modified cable would likely be required unless Mayflash adapters somehow don't mangle the data that the GBA sends.
The problem with Android is that most of its emulators are closed .. the Android Emulation scene smells, since all they do is port an emulator and slap a price tag on it, and multiples of the same emulator with everything renamed.. no chance for a properly done open GBA emulator on there.

I am pretty sure the Latency thing can be revolved by a good coder.
Code has nothing to do with it, it is the networks fault
Pages: 1 2