asie

retrocomputing "witch"

Programmer, part-time cursed knowledge seeker. Opinions mine only. ZZT is fun!

posts from @asie tagged #wonderswan

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; this one was written in the early 2000s by the Japanese community centered around the WonderWitch.)

except that didn't cover the web browser. it turns out it talks to a special server bpl02.mopera.ne.jp before connecting to any website, and if it can't perform this secret handshake, it won't actually load the page!

... well, there's an exception where a registration site in the e-mail client can be loaded without this handshake. that's not the full experience though! that'd be like saying the Switch has a web browser because it lets you log in to hotel Wi-Fi with one

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. how about i make it always say ALLOW--

ah. there we go. now let's explain the process so you can do it too!

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.

THE STEPS: COMPUTER SIDE

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.

THE STEPS: WONDER SIDE

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! 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

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!

there's also a way to install minigames through the web browser, but i'll leave that for a future post. thank you and i encourage you to stick around for future wonderswan shenanigans!



Meet the WonderSwan. I've been working on a homebrew toolchain for this late-90s/early-00s handheld for over a year now, and today I wrote up an update detailing how it all began, where things stand today, and where I'd like them to be in the future. Enjoy!

Back in May 2022, I've been reminded of a console that I've heard about mostly from its Higan/Ares emulation core. It was 8086-based, an oddity in the console world yet a processor I was already familiar with, as well as one which had a healthy supply of both classic and modern development tools. At the same time, despite selling 3.5 million units, the console did not have a modern homebrew toolchain - one which would allow you to write in C without too much pain and provide useful functionality out of the box; one which would be easy to install and use.

It is now July 2023, and I'm happy to report that after a lot of research, hacks, head-scratching and side quests, we're finally here.



For a while now, I've been involved in the WonderSwan homebrew scene - for those unfamiliar, it's a handheld consoles which was moderately successful in Japan but failed to launch outside of it. I got to make a demo or two, I got to contribute towards emulator accuracy, I got to write a homebrew toolchain which... honestly is stuck in development hell due to perfe- It was and continues to be a fun little excursion.

Today, I'd like to show another project I've made - custom firmware for the WonderSwan Color/SwanCrystal consoles! (Well, sort of - it's actually a custom splash screen that happens to take over execution when some conditions are met.) It unlocks a few neat features as a result of being able to run at console boot time:

  • "multiboot" (loading software to RAM via serial port),
  • backing up the IPL (boot ROM),
  • managing game data & saves,
  • flashing cartridges without an external flasher,
  • the ability to create a (simple) custom splash screen with a web interface,
  • fast boot (by reducing the splash duration, I guess?).

I'm aware it's niche, but it will certainly be of use to a niche of enthusiasts, and I hope it delights those among you who enjoy such niche things :-)

Installation instructions, downloads and more information are available here: https://wonderful.asie.pl/ws/bootfriend/