Project

General

Profile

Emulator Issues #6038

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

Added by me almost 6 years ago.

Status:
Accepted
Priority:
Low
Assignee:
-
% Done:

0%

Operating system:
N/A
Issue type:
Feature request
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

Description

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?
DPOJ8P

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
specifications?
Windows 8. NVidia 460m.

64 or 32 bit Operating system?
x64.

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.

History

#1 Updated by parlane almost 6 years ago

  • Status changed from New to Accepted

First off, make sure you get the latest downloads from http://dolphin-emu.org

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

#2 Updated by me almost 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: http://www.tueidj.net/gc_devo_src.zip

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 over 3 years ago

  • Priority set to Low

Also available in: Atom PDF