Browsing the web with a WonderSwan in 2023

what is a 'bpl02.mopera.ne.jp'


Published on August 19, 2023

In the year 1999, Bandai announced the MobileWonderGate - a device which allowed connecting a WonderSwan to the Internet thanks to a collaboration with the mobile network NTT DoCoMo. This was primarily used by a selection games to provide downloadable content, as expected for this type of handheld attachment.

… Oh, it also came with a web browser supporting a subset of HTML 3.2, tables, GIF images, reading Japanese websites, a bookmark system, and cookies. On a handheld competing with the Game Boy Color.

Did i mention it also acted as an SMTP/POP3 e-mail client?

However, this browser assumed you’re on NTT’s network; it utilized a special service called “mopera”, short for Mobile OPErator RAdio. Unfortunately, on the final day of 2004, this service was shut down. Since then, nobody could use a WonderSwan to browse the web, which naturally is the kind of injustice that just cannot be left uncontested.

Fifteen traps away from victory

In 2014, trap15 arrived at this exact conclusion and embarked on a quest to reverse-engineer the WonderGate hardware. This quest was successful, and he provided an open-source hardware emulator that could be used with a real or emulated WonderSwan console to access the Internet - only this time without requiring an ancient phone on a specific carrier using a bygone standard. Success!

There was also a different WonderGate emulator developed prior; that one having been written in the early 2000s by the Japanese community centered around the WonderWitch.

All of this, however, didn’t cover the web browser itself - it turns out that it tries to talk to a special server bpl02.mopera.ne.jp before connecting to any website. If it can’t perform this secret handshake, it won’t actually load the page!

UPDATE: The server apparently acted as a proxy to translate websites to be more compatible with the HTML subset supported by the WonderGate browser, and possibly to work around some of its bugs? It reported itself as Mozilla/3.0 (compatible; InfoBridge-mopera 1.1.1; Linux) to websites, in contrast with the on-console browser’s own SWAN/1.0. More research is certainly required here.

How to browse the web with a WonderSwan in 2023

Naturally, finding this just as unjust as the previous hacker, i reverse-engineered it and figured out what it does. It appears to act as an URL allow/deny/login-required server, perhaps with some redirection capabilities. From there, it didn’t take much time to create a simple server reimplementation that always returns “allow” for any URL.

What follows is an explanation of how to achieve this at home, with your own WonderSwan console.

You will need

  1. a Bandai WonderSwan - a mono one will do just fine!
  2. a MobileWonderGate cartridge - it typically came bundled with the mobile phone adapter, but you might be able to find one loose. that’s fine.
  3. a serial port adapter - there’s a list of options available here, but the short of it is: a WonderWitch cable will do if you own one, there’s an expensive ready-made third-party option, and you can build your own with a Pi Pico and an HDMI breakout board from AliExpress.
  4. Linux - it’s probably possible to get this working on Windows somehow, but I don’t really have one to try.

Guide: Computer

First, compile the wonderfence emulator.

    $ git clone https://bitbucket.org/trap15/wonderfence
    $ cd wonderfence
    $ make

Next, create a file wonfence.ini with the following contents:

[pdc]
reception = 15

[ppp]
user = username
pass = password

[hostname_hack]
bpl01.mopera.ne.jp = asie.pl
bpl02.mopera.ne.jp = asie.pl

[socket_hack]

Then, create a shell script - any name, for example run-wonfence.sh - with the following contents:

#!/bin/sh
stty -F "$1" 9600 raw -echo cs8 -cstopb -parenb -crtscts
exec ./wonderfence wonfence.ini <"$1" >"$1"

Finally, run the script, pointing it to your serial port adapter. If you’ve built an ExtFriend with a Pi Pico, it’s probably ./run-wonfence.sh /dev/ttyACM0.

Guide: WonderSwan

The browser in its main menu, highlighting the bookmark option - the sixth option from the left

  1. Start the cartridge, then select the leftmost option (“BROWSER”)
  2. The browser will work just fine as-is, but none of the sites it normally points to are still functional! Therefore, let’s add an new bookmark:
    • Press START to open the browser’s menu
    • Select the sixth option from the left - that’s the bookmark option
    • Press START to open the menu again, then select the second option - that allows adding a new bookmark
    • Fill the first field with the bookmark name, the second field with asie.pl
    • Press START again, then the circle to save changes
  3. Select the newly-added bookmark by pressing A, then press A again
  4. Give the browser some time, it’s running at 9600 bauds per second on a three megahertz CPU
  5. The website has loaded! Use A to select links, B + D-Pad to scroll through the page’s contents.

Congratulations! If you’ve reached this point, you are now browsing the web with a WonderSwan in 2023. If you get this working and find some cool websites that work on the console, share a photo!