dantheman213 / gameboy-shark-mx-email-dial-up-server

Dial-up server and solution for the defunct Gameboy Shark MX Email software.
0 stars 0 forks source link

Hi @xcellerator, cool guide on Gameboy remote execution, wanted to pick your brain on a Gameboy project I'm doing with a peripheral called Shark MX #1

Open dantheman213 opened 1 year ago

dantheman213 commented 1 year ago

Hey @xcellerator,

Just wanted to say cool blog article you had on the Mobile Adapter for GB. This article right here:

https://xcellerator.github.io/posts/tetsuji/

I've been fiddling with Shark MX which also has a modem component and wanted to chat with you and bounce some ideas around with you. If you're not familiar with the Gameboy Shark MX peripheral here's a pic of it:

https://www.lukiegames.com/assets/images/GB/gb_gameshark_shark_mx-image-v44fhj.jpg

It's a cartridge that would let you check email from your gameboy and has a built in POTS modem.

I didn't see you had any contact information on the blog or on your Github so I thought I'd open an issue and tag you to get your attention.

If you have a moment please take a look at this keygen I made for Shark MX:

https://github.com/dantheman213/gameboy-shark-mx-email-keygen

This was created by reverse engineering the algorithm from the assembly code.

And then I started fiddling around with seeing if I can communicate over the old POTS modem and get it to read and send email from a modern source like Gmail.

https://github.com/dantheman213/gameboy-shark-mx-email-dial-up-server

I've had some issues trying to communicate with it over an old modem (using a USB modem to connect to it). I thought perhaps you may have some experience from playing with the Mobile Adapter.

Do you have a Discord? Let's chat. My handle is needsmorebytes#8359.

dantheman213 commented 1 year ago

Additionally, @Kazade and @samicrusader from your work on DreamPi it would be great to be able to chat with you on how to maybe get communication going through the POTS connection on the Shark MX. Discord is needsmorebytes#8359 if you want to reach out and brainstorm. Would be appreciated!

samicrusader commented 1 year ago

Hi!

I do not know much about POTS. The DreamPi fork of mine was to eliminate frustrations within the WebTV community regarding the use of Pis and the ancient DreamPi disk images we had been using.

The way I recall the modem hacks working is you would send a few volts (up to around 48 or 50 volts DC) into the red wire in your phone line to simulate a real phone line, the script will detect the modem and its speed, cap it to 56kbps or something, send "ATZ0" and "ATE0" to reset the modem and disable command echo, send some commands to "send a dialtone" (which it doesnt seem to send), listens and waits for the DLE character (ord 16, hex 10) to be sent which is then followed by the phone number, sends "ATA" to connect, then you can either do communications directly through the serial port or pass the modem onto pppd to actually set up a dial-up connection. Wait for the client to talk with your service and then hang up, or wait for pppd to die through the syslog/systemd-journal to then reset and listen again.

My last machine with a modem failed a few months ago, so any further testing for me is out of the picture. I hope this clarifies the script though.

samicrusader commented 1 year ago

The XBAND fork of DreamPi may be of interest though, as instead of forking out to pppd it uses socket communication between their XBAND server and the modem: https://xbprov.retrocomputing.network/pi/xbandpi1.py

dantheman213 commented 1 year ago

@samicrusader thanks for sharing all that info, it is very helpful. Yeah I've never worked with POTS modems before and picked up a cheap $10 USB modern off eBay. It appears to be the same kind dreampi provides on their website in their bundles.

There's not a lot of documentation on this stuff anymore unfortunately but the Shark MX Gameboy peripheral has always fascinated me. Computing and PDA solutions in the late 90s / early 2000s are interesting.

I'll keep poking at it but if you have any other suggestions or want to chat feel free to drop by discord.