gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

DS Misc > Any chance for emulators supporting wifi connection?

#113124 - canoli - Sat Dec 23, 2006 12:03 pm

That would be nice to play GBA games, and perhaps even better GB/GBC games too (I found the old tetris for GB more challenging than tetris DS, expecially in two players mode when in the GB version both players gets the same tetriminoes)... by emulating a system link cable over the DS wifi connection.
I wonder why this is not possible yet.
Is that impossible to implement?

Thank you very much

#113137 - tepples - Sat Dec 23, 2006 3:58 pm

As I repeat every time this comes up, the most viable method of doing 2 players on a Game Boy emulator would involve emulating both machines on each DS and just exchanging controller data. GB? Doable. GBC? Perhaps. GBA? No.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#113141 - OOPMan - Sat Dec 23, 2006 5:08 pm

Couldn't you try virtualising the GBA in some fashion?

Although I suppose that's not really feasable on the DS...
_________________
"My boot, your face..." - Attributed to OOPMan, Emperor of Eroticon VI

You can find my NDS homebrew projects here...

#113143 - Devil_Spawn - Sat Dec 23, 2006 6:05 pm

currently there is no ds-ds connection full stop

however this was odne fore gb/gbc/nes on the gba iirc

#113181 - HyperHacker - Sun Dec 24, 2006 2:48 am

OOPMan wrote:
Couldn't you try virtualising the GBA in some fashion?

Possibly, but TWO at once?
_________________
I'm a PSP hacker now, but I still <3 DS.

#113184 - tepples - Sun Dec 24, 2006 3:58 am

If you want to search for previous topics discussing this, use the words TGB Dual (Search for all terms).
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#113202 - OOPMan - Sun Dec 24, 2006 11:14 am

HyperHacker wrote:
OOPMan wrote:
Couldn't you try virtualising the GBA in some fashion?

Possibly, but TWO at once?


Er...

I thought the idea was to enable a GBA game running on the DS to use GBA link...

So, why would you be running two GBA virts on one DS?

In the simplistic view, you'd virtualise your GBA emu but have the back-end of the GBA link code transfer through to some custom Wi-Fi shenanigan...

But, yeah, that's the simplistic view. Is virtualisation appropriate for the running a GBA emu in this way on the DS? Maybe, maybe not.

VMWare works nicely on my PC, but then and again, that's a PC and the DS is a rather different beast...

Fun to talk about, though :-)
_________________
"My boot, your face..." - Attributed to OOPMan, Emperor of Eroticon VI

You can find my NDS homebrew projects here...

#113204 - MaHe - Sun Dec 24, 2006 11:46 am

Simply because WiFi isn't fast enough for data transfer and the connection between the applications would "time out" in errr ... no-time, since they were written to use the cable. The only solution is to emulate two GBAs at once on a single DS and emulate a connection between them. Then exchange the keypresses with another DS ...
_________________
[ Crimson and Black Nintendo DS Lite | CycloDS Evolution | EZ-Flash 3-in-1 | 1 GB Transcend microSD ]

#113206 - bitshiat - Sun Dec 24, 2006 12:12 pm

Sure it can be done, like OOPMan suggested you'd only need to send keypresses (and maybe some additional synchronisation data, to keep the emu's in sync) between the two ds'es, both emulating the gba/snes/... running the same game.

Snes9x and zsnes already do this, and support multiplay over the internet

#113208 - OOPMan - Sun Dec 24, 2006 12:39 pm

Hmmmm, the overhead of keeping things in sync could be a problem. Also, I'm not sure that meshes with the idea of virtualising things...
_________________
"My boot, your face..." - Attributed to OOPMan, Emperor of Eroticon VI

You can find my NDS homebrew projects here...

#113886 - LiraNuna - Sun Dec 31, 2006 7:36 pm

OOPMan wrote:
Couldn't you try virtualising the GBA in some fashion?


Well, I had an idea and i'm halfway in implementing it.
Usingt he MPU to scan read/writes from memory and just re-"compile" the data for GBA.

Example:
ARM9 runs ARM7 code (totally possible) and writes to 0x0400000 (DISPLAY_CR/REG_DISPCNT). GBA's DISP_CR is 16bit, but on the DS it's 32bit, so any writes to 0x0400002 would be 'eliminated'.

As for different graphic modes, MODE3 is 16bit single BG(2). redirecting it to MODE5 with BG2 in addition to P affine.

Problems I encountered and (particialy) solved:
Timing - DS's ARM9 is x4 faster the GBA's ARM7, but code 'scanning' takes more then that. solution: nothing but optimization.

Sound - Sound is on ARM7 and needs to be redirected to there. (Not yet implemented)

Memory map - Yes. GBA ROMs are running from 0x0800000 fixed location, DS's binaries are running from RAM (0x02000000).
solution: placing the supervisor code in DTCM, and loading 4MB-256k of the ROM into 0x02040000 and adjusting reads to the new location.

VRAM - Not a problem at all - just use VRAM E (64k) for BG and VRAM G for sprites. framebuffer modes are switching VRAM bank options and copying the data in them (for 'realizm')


Exlusive stuff:
Use of X/Y for turbo A/B keys and touch for other stuff (pre defined)
(Not implemented) Use of wifi as serial emulation(?)
Using the second screen to show debug info on real HW (BG data, tiles, memory... etc)
<insert your idea here>

This GBA "supervisor" is not fully done yet and supervising some instruction does not work as it should. speed is slow, but way faster then native ARM7 emulation on DS.
_________________
Private property.
Violators will be shot, survivors will be shot again.

#113898 - OOPMan - Sun Dec 31, 2006 10:22 pm

Very interesting project there :-)

Hopefully it will bear some fruit :-)
_________________
"My boot, your face..." - Attributed to OOPMan, Emperor of Eroticon VI

You can find my NDS homebrew projects here...

#113899 - chuckstudios - Sun Dec 31, 2006 10:43 pm

OOPMan wrote:
Very interesting project there :-)

Hopefully it will bear some fruit :-)


Yum, fruit.

#113900 - Dood77 - Mon Jan 01, 2007 12:25 am

how fast did the link cable on gba actually transfer? i know the ds wifi has a 2Gb/sec limit (thats gigaBIT)

#113902 - Firon - Mon Jan 01, 2007 12:58 am

Uh, the DS wifi can't transfer more than 2 megabit/s.

#113937 - Dan2552 - Mon Jan 01, 2007 2:00 pm

Dood77 wrote:
i know the ds wifi has a 2Gb/sec limit (thats gigaBIT)


somehow I don't think so :) my wired LAN is only 1Gb/s (10/100/1000)

#113945 - tepples - Mon Jan 01, 2007 6:19 pm

Is there any bus in the DS that has 2 gigabits per second? I would imagine that only the bus inside the ARM9 (67 MHz, 32-bit) approaches that.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#113951 - knight0fdragon - Mon Jan 01, 2007 7:37 pm

I think you mean it has 2Mbps not 2 Gbps, having 2Gbps busses would be pretty damn sweet, you could then stream hidef video from the DS to some other device with that much power haha
_________________
http://www.myspace.com/knight0fdragonds

MK DS FC: Dragon 330772 075464
AC WW FC: Anthony SamsClub 1933-3433-9458
MPFH: Dragon 0215 4231 1206

#113957 - HyperHacker - Mon Jan 01, 2007 10:37 pm

Can ITCM hold data as well, and how big is it? IIRC you can map it to whatever memory area, so maybe map it to 0x80000000. ;-) (I know you can't execute from DTCM, so that's of little use.) Or map it to 0xA0000000 to simulate SRAM.

Of course if the user has an M3, Supercard etc, there's no need to remap ROM/SRAM at all.
_________________
I'm a PSP hacker now, but I still <3 DS.

#113959 - Mighty Max - Mon Jan 01, 2007 10:47 pm

HyperHacker wrote:
Can ITCM hold data as well, and how big is it? IIRC you can map it to whatever memory area, so maybe map it to 0x80000000. ;-)


Yes, 32kB, No, it cant be mapped to other addresses then 0.
_________________
GBAMP Multiboot

#113977 - Dood77 - Tue Jan 02, 2007 2:15 am

oh yeah i do mean Mb... so does anyone know how fast the gba link was?

#113983 - Sektor - Tue Jan 02, 2007 6:32 am

It's not about bandwidth, the latency is the problem. The game doesn't care how many bus loads of data you can transport but if the bus is late, it won't be happy.
_________________
GTAMP.com/DS