Page 5 of 7

Posted: Sat Jan 10, 2009 9:38 pm
by rush6432
if anyone has a genesis modem and can try it please do and let us know. screenshots also if you can.....

Posted: Sat Jan 10, 2009 9:59 pm
by Warp2063
I was curious to see if the codes worked with the Saturn's Xband menu, which appears to be nearly identical to the SNES one. They don't, though. If there's a code to get to a debug menu in the Genesis Xband, it would have to be different from the SNES... the Genesis doesn't have an L button.

I also got shipping notification of my Genesis Xband modem. Apparently it's shipping from the city I live in, just from a different zip code... so I suspect that I'll get it on Monday. =P

Posted: Sat Jan 10, 2009 10:01 pm
by neviksti
Xranger60 wrote:So Neviksti, I'd be interested in the second part. You say anyone can help with that. I don't have much knowledge when it comes to protocals, but when it comes to being given some direction to start in, perhaps I can be helpful?
Great!
I'm pretty sure I understand the base protocal. On top of that appears to ride an ADSP protocal, which I don't fully understand.

I think ADSP stands for AppleTalk Data Stream Protocal or something like that, which may help in your searching.

Of particular importance is the header. The code treats it as follows:

Code: Select all

ADSP header, $0D bytes long 
how the code treats the data - 
(word), (two dword entries - treated as a pair?), (word), ?flags? (byte) 

header data is in network byte order (most significant byte first)
The last time I returned to this project for a bit was middle of last year, and I focussed on trying to understand how in the world the OS stored and handled data. So I haven't touched the protocal stuff in a couple years. Practically verbatum where I left off is written here:
http://saturnleague.com/board/viewtopic.php?p=993#993

It is possible the protocal stuff is even buried in those links I found and didn't fully follow up on.

I also need to understand how connections are made (what is the order of ADSP control packets to setup and maintain connections, etc.). This is a standard, so there has got to be info about it on the internet somewhere.


Anything you find would be great. Once we get this protocal layer done, we can finally focus on the next and most fun protocal layer: the server command and response structure!
I haven't found this in the code yet... much more assembly work needs to be done.

Posted: Sat Jan 10, 2009 10:13 pm
by neviksti
neviksti wrote:The last time I returned to this project for a bit was middle of last year, and I focussed on trying to understand how in the world the OS stored and handled data.
Oh, and regarding that, I figured out most of it.
It is structured such that each "type" of data has its own lookup list. I understand almost all of accessing (and maybe even putting in new data, I forgot where I left off) the data. However it is difficult (just by looking at the disassembled ROM) to figure out what each "type" of data is (email, game patch, cartridge ID, player pictures, etc.).

Can you ask your XBand employee contacts if the "Database" portion of the OS was the same across all systems? (Heck, anything they can remember about what was and was not the same between systems would be useful.)

I'm really hoping you can get access to some source code. That would be great! Heck, even just a bunch of the *.h header files would be incredibly useful despite not having code in them. For instance, there should be a header file defining all the database type IDs, etc.

Posted: Sat Jan 10, 2009 10:28 pm
by Xranger60
I'm going to be back up at school monday. I'll be able to test my genesis Xband as soon as I'm up there, which should be afternoon. I'll post my results asap. Neviksti when I get home tonight I'll look through your protocal posts more closely.

Posted: Sat Jan 10, 2009 11:15 pm
by rush6432
Xranger60 wrote:I'm going to be back up at school monday. I'll be able to test my genesis Xband as soon as I'm up there, which should be afternoon. I'll post my results asap. Neviksti when I get home tonight I'll look through your protocal posts more closely.
Let me know if either of those codes work. obviously the one with the "l" in it might not work unless it means using the 6 button controller.....

Neviksti, i sent you an email on your gmail account. it contains some source code to the debugger portion and some game patches with .H header files :) it does have locations of things in hardware to access the modem and other things as well as explination of how the data stream for a connection is handled in some of the game patch files (mk2patch.a) and a few others... please look through this stuff and let me know if any of those hardware adresses will help you... im pretty sure the networking protocol is an appletalk variant because some of the programmers at catapult were ex-apple employees.....

the file i sent is genesis only. so if you dont have a genesis modem and console i suggest you get one :) this one seems to be the easiest to get working right off the bat as we dont have any snes sources just yet. im sure the hardware addresses are TOTALLY diffrent between the two...

In that file i sent i also included what i know in my own text files as well. also a proposed plan to get the modem working without a server if thats all we can do.. as for now i dont have sources to the OS/GUI, so we have to rely on hacking the rom image in a hex editor or trying to decompile and figure out a few things....

Posted: Sun Jan 11, 2009 3:23 pm
by rush6432
Ranger, id like to request that we open a private forum to doing all the tech talk that only allows myself, Neviksti, and Warp2063. We are the only ones so far on the team here on this forum. I dont know if you can create a sub section for us. let me know.

Posted: Sun Jan 11, 2009 3:51 pm
by Xranger60
Done.

Posted: Sun Jan 11, 2009 4:59 pm
by nick944
It's great to see this project is being worked on again :) I can't help with much, but I can give a link to sealed xband modems for $5 http://www.gameexpress.com/product_deta ... 6377002005

Posted: Sun Jan 11, 2009 6:59 pm
by Warp2063
Sweet! Thanks for the link! I think I'll pick up a second for debug purposes.

Posted: Mon Jan 12, 2009 5:03 pm
by neviksti
Does someone have a rom dump of the US version of the Genesis XBand? And are there any emulators which run it enough that you can move through the menus?

Anyway, if someone has the rom dump, search it in a hex editor for the phrase 'Playground'. The US version contains the phrase "Welcome to Josh's Playground" which is displayed upon enterring the memory viewer. If the phrase doesn't exist in the Genesis version, then it probably doesn't have the memory viewer.

Posted: Mon Jan 12, 2009 7:32 pm
by Warp2063
I got my Xband for the Genesis today, and I'll dump the ROM later tonight if I have time.

Posted: Thu Jan 15, 2009 4:39 am
by neviksti
Well, based on the genesis XBand dumps, it looks like they don't support the memory viewer or remote diagnostic mode that the snes version does.
Xranger60 wrote:Neviksti when I get home tonight I'll look through your protocal posts more closely.
Any luck figuring out what the data in the ADSP header is?
And what packets need to be sent / received for a connection to be made and maintained?

I know where the code is in the ROM that handles the ADSP header, but since I don't understand the ADSP protocal ... I don't really know what anything is.

If there is anyone else that knows assembly language, please let me know as it would help to have more people attacking it from the ROM side along with me.

Posted: Thu Jan 15, 2009 2:20 pm
by Xranger60
Hey, so I have the time to go through this and see what I can do for you. I'm going to search for any ADSP info I can find and report back here for you.

Posted: Sat Feb 07, 2009 12:36 pm
by Xband411
Hey guys, any help needed on this project still? It's been a crazy 3 years, but I'm back around if anyone needs me.

I still have my original SNES xband modem, but I'm so afraid that the battery is going to die any time now. :(