Emulator Issues #6038

Modem Adapter emuation required for Phantasy Star Online Episode I & II Trial Edition

Added by me about 6 years ago.

% Done:


Operating system:
Issue type:
Feature request
Relates to usability:
Relates to performance:
Relates to maintainability:
Regression start:
Fixed in:


Have you searched the issue tracker for a similar issue?
The only other result for modem adapter is Wii network support.

Game Name?
Phantasy Star Online Episode I & II Trial Edition

Game ID?

What went wrong?
Cannot get past attached screen, which states "If you want to play PSO Episode 1 & 2 Trial Edition, the modem adapter has to be connected. Restart after switching the power off and connecting the modem adapter."

What did you expect to happen?
It should have booted to the initialization screen where you create a save for the game. I attempted to use the BBA in Dolphin, but research has led me to realize that when this game was initially released, there was no Broadband Adapter in Japan yet. It was released at a later date. The other attachments didn't work either, including "dummy" and the baseboard.

What steps will reproduce the problem?
Simply booting the game. No special settings are needed, although safe textures should be enabled. [If anyone is so inclined, all of the settings from GPOP8P (or any PHANTASY STAR ONLINE EPISODE I&II configuration) can be copied to this game's initialization settings]

What version of Dolphin were you using?
3.5 and -367.

64 or 32 bit Dolphin?
Both will give this error.

What version of Dolphin used to work?
Not applicable.

What Operating System were you using and what are your hardware
Windows 8. NVidia 460m.

64 or 32 bit Operating system?

Any other relevant information or links to logs:
Although modem emulation would be somewhat difficult, I firmly believe that this issue would be fixed with a Modem (Dummy) option for attachment in the SP1 slot.


#1 Updated by parlane about 6 years ago

  • Status changed from New to Accepted

First off, make sure you get the latest downloads from

And second, interesting. I didn't realise there was a modem ever :\

#2 Updated by me about 6 years ago

Thank you very much for accepting this issue. I do not know where to start, so I'll offer my knowledge on the topic.

First off, there is a Wii homebrew application that is amazing: it emulates the modem adapter from the Gamecube on the Wii. This application is called Devolution. The source is here:

Using the source may be a way to at least spoof the hardware on the Dolphin emu, using the SP1 port.

I do not believe that the hardware is region specific. As far as I remember, the hardware was able to be used from Japan on US and EU consoles.

#3 Updated by Billiard26 almost 6 years ago

  • Issue type set to Feature request

#4 Updated by delroth over 5 years ago

Some info about this from tueidj (Devolution), in case someone wants to work on this in the future:

/* GC MODEM registers:
* 0x01: interrupt mask
* 0x02: interrupt cause
* 0x03: AT command/response data
* 0x04: length of pending AT commands
* 0x05: length of pending AT responses
* 0x06: unknown (set to 0x32)
* 0x07: unknown (set to 0x40), do these relate to AT command/response buffer sizes?
* 0x08: serial data in/out
* 0x09: number of bytes queued to be sent (high byte)
* 0x0A: number of bytes queued to be sent (low byte)
* 0x0B: number of bytes waiting to be read (high byte)
* 0x0C: number of bytes waiting to be read (low byte)
* 0x0D: ESR ??
* 0x0E: send buffer threshold (high byte)
* 0x0F: send buffer threshold (low byte)
* 0x10: recv buffer threshold (high byte)
* 0x11: recv buffer threshold (low byte)
* 0x12: raw status ??
* 0x13: FWT ?? (set to 5 after reset, 0 after connecting)
* registers OR'd with 0x40 are being written to
* registers OR'd with 0x20 means next two bytes are the payload length
* i.e. 0x681234 = write x1234 bytes of serial data (data will follow)
* 0x284312 = read x4312 bytes of serial data from internal buffer (wouldn't happen, buffer seems to be 512 bytes max)

"four known interrupt lines: 0x2 = connect/line state change, 0x10 = send threshold clear, 0x20 = recv threshold reached, 0x40 = recv buffer overflow? (not sure, can't confirm without hardware)"

#5 Updated by JMC4789 almost 4 years ago

  • Priority set to Low

Also available in: Atom PDF