DC Browser Reverse Engineering Project
Back to Index
[ The Browsers | Browser Versions | A little history | Special VMS Features | x-avefront commands | Needed Tools | PlanetWeb IRC | String Dumps | DreamKey 1.0 Hidden Movie | PlanetWeb GINSU | Links ]
Note
THIS DOCUMENT IS NOT COMPLETE, AND IS A WORK IN PROGRESS.
IF YOU KNOW SOMETHING I DONT ABOUT A BROWSER THEN E-MAIL kRYPT (krypt@mountaincable.net)
[2/19/04] Wow, I never thought this page would get another update. But since Yoann from France has decided to provide me with more information, I figured it should be posted here. DreamKey info updated.
[1/11/02] Updated DreamKey 3 Info (thanks Karsten). Updated Known Browser Flavors (added a shitload). Added DreamPassport 3.15 (anyone know anything?) to browser list.
[8/14/02] Updated DreamPassport 3 JAP x-avefront commands again (thanks curtis), updated tools section, added navigation bars above, and updated links section.
[7/5/02] More info should be coming to this page soon. Updated with some links, DreamKey 3.0 info, and more navigation commands (if somsone has DP3 Jap, please confirm them).
[4/13/02] Updated known browser flavors with new browsers from access logs to this site.
[4/9/02] Minor updates.
[4/8/02] Long time no update. I got donated a copy of DreamKey v1, and I'll be running some more tests on it later.
About
Ahh... the DreamCast Web Browser. This application has made the dreamcast attractive to not only gamers, but those wishing a low-cost web-browsing and e-mail platform. However, I have a different future in mind for it...I want to be able to create customized browser CDs with my own content.. Images, MP3s, even Emulators or Homebrew DC games.
The Browsers
Now, lets get a bit more technical here, as to how exactly I plan to accomplish this perticular marvelous feat of wizardry.
To begin with, here is a chart of available browsers, and to my knowledge their features. Click on the version number to download an image:
If you know of any information here that is wrong, or have any additional information (* signifies unconfirmed data), e-mail me.
| Manufacturer |
Version |
Region/Language |
BBA |
JavaScript |
Flash |
Java |
MP3 |
VMU |
SFD |
VoIP |
GINSU |
IRC |
| PlanetWeb | v1.0 |
English/US | NO | v1.2 * | NO | NO | NO | YES | NO | NO | NO * | YES |
| v2.004 | English/US | NO | v1.2 * | YES | NO | YES | YES * | YES | YES | YES | YES |
| v2.606 (2) | English/US | NO | v2.0 * | YES | NO | YES | YES * | YES | YES | YES | YES |
| v3.0 | Recent Comercial Release. Order Here, Or Here. |
| English/US | YES | v2.0 * | YES | YES | YES | YES | YES | YES | YES | YES |
| DreamPassport |
v1.0 |
Nothing is known. Know something? E-mail me. |
| v2.0 | English/US | YES | v1.2 * | YES | YES | NO | YES | YES | NO | NO | YES * |
| v3.0 (PSO) (2) | JAP | YES * | v2.0 | YES | YES | NO | YES | YES | NO | NO | YES |
| v3.16 (CT2) | JAP | YES | v2.0 * | YES | YES | NO | YES | YES | NO | NO | YES |
| v3.15 | Started appearing in my logs, seems to be in US version of PSOv2. I know nothing. |
| v3.2 | aka Premium. I know nothing, if you do, tell me. |
| DreamKey |
v1.0 | Europe | NO | 1.2 | YES (v?) | NO | NO | YES | NO * | NO | NO | NO |
v1.5 | Europe | NO | YES (1.2?) | YES (v?) | NO | NO | YES * | NO * | NO | NO | NO |
v2.0 | Europe | NO | YES (1.2?) | YES (v?) | NO | YES | YES | YES * | NO | NO | NO |
| v3.0 | Available free to current users. Website (click on Press) |
| Europe | NO | 2.0 * | YES (v3) | NO | NO | YES | YES | NO | NO | NO |
Known (verified) Browser Flavors:
DreamPassport
Mozilla/3.0 (DreamPassport/2.1; SEGA/BROADBANDPASSPORT)
Mozilla/3.0 (DreamPassport/3.0)
Mozilla/3.0 (DreamPassport/3.0; SEGA/QUIZ_MEGAMI)
Mozilla/3.0 (DreamPassport/3.0; CAPCOM/Spawn)
Mozilla/3.0 (DreamPassport/3.0; CAPCOM/CAPCOMVSSNK2)
Mozilla/3.0 (DreamPassport/3.0; CAPCOM/CAPCOMVSSNKPRO)
Mozilla/3.0 (DreamPassport/3.0; CAPCOM/SPF2XM)
Mozilla/3.0 (DreamPassport/3.0; CAPCOM/heavymetal
Mozilla/3.0 (DreamPassport/3.0; SONICTEAM/PSO)
Mozilla/3.0 (DreamPassport/3.0; CRI/AEROI)
Mozilla/3.0 (DreamPassport/3.0; BANDAI/GUNDAMBATTLEONLINE)
Mozilla/3.0 (DreamPassport/3.0; CRAZYGAMES/ILLBLEED)
Mozilla/3.0 (DreamPassport/3.0; Hitmaker/CrazyTaxi2)
Mozilla/3.0 (DreamPassport/3.0; isao/MyDiGiDiGi)
Mozilla/3.0 (DreamPassport/3.0; isao/MyDiGiRabi)
Mozilla/3.0 (DreamPassport/3.0; isao/MyDiGiPyo)
Mozilla/3.0 (DreamPassport/3.0; isao/MyDiGiPeti)
Mozilla/3.0 (DreamPassport/3.15; MediaFactory/Culdcept2)
Mozilla/3.0 (DreamPassport/3.15; SONICTEAM/PSOV2)
Mozilla/3.0 (DreamPassport/3.15; xdp3/dp3 custom)
Mozilla/3.0 (DreamPassport/3.2)
Planetweb
Mozilla/3.0 (compatible; Planetweb/1.125 JS SSL US Gold; Dreamcast US)
Mozilla/3.0 (Planetweb/DPF 1.00a RUSHHOUR; Dreamcast US)
Mozilla/3.0 (Planetweb/1.219 JS SSL US; Dreamcast US)
Mozilla/3.0 (Planetweb/2.004 JS SSL US; Dreamcast US)
Mozilla/3.0 (Planetweb/2.100 JS SSL US; Dreamcast US)
Mozilla/3.0 (Planetweb/2.606 JS SSL VoIP US; Dreamcast US)
Mozilla/3.0 (Planetweb/2.609 JS US; Dreamcast US)
Mozilla/3.0 (Planetweb/2.613 JS SSL VoIP US; Dreamcast US)
Mozilla/3.0 (Planetweb/3.0d JS SSL pJava US; Dreamcast US)
DreamKey
Mozilla/3.0 (DreamKey/1.0)
Mozilla/3.0 (DreamKey/1.0; SEGA)
Mozilla/3.0 (DreamKey/1.0; SEGA/Custom)
Mozilla/3.0 (DreamKey/1.0; SEGA/SegaGTSOE)
Mozilla/3.0 (DreamKey/1.0; SEGA/SegaGTSOA)
Mozilla/3.0 (DreamKey/1.0; SEGA/ChuChu)
Mozilla/3.0 (DreamKey/1.0; SEGA/JETSETRADIO)
Mozilla/3.0 (DreamKey/1.0; SONICTEAM/PSOUS)
Mozilla/3.0 (DreamKey/1.0; BIZARRECREATIONS/MetropolisStreetRacer)
Mozilla/3.0 (DreamKey/1.0; Hitmaker/CrazyTaxi2)
Mozilla/3.0 (DreamKey/2.0)
Mozilla/3.0 (DreamKey/3.0; SONICTEAM/PSOV2EU)
TODO: More Info about browser version strings on this page and this page.
History
Lets start at the beginning... The very first dreamcast web browser was created by PlanetWeb for Sega. I don't know if v1 ever existed, and if it did, I have never been able to get a hold of it to analyze. However, v2.0 and v2.6 are both available out in the wild (and 2.6 was given out for free by sega, but no more).
This browser wasn't the most packed with features or anything, it was a bit slow, but it has one very attractive characteristic. It supports GINSU and so will allow us to launch programs (using a special URL) from right inside the web browser! This PlanetWeb v2.6 browser is a very attractive choice for a menu platform, even if it can't show that much content (but it will play MP3s, although they must be smaller then 6MB). It doesn't use any .PVR files for the US, everything is either .GIF or .JPG .. so there are tons of small files, and if they're not put onto the cd in the proper order it would slowly destroy your poor dreamcast. It was also lacking support for Java.
While all this is going on, Sega released a different web browser to europe called DreamKey. To sum it up, it sucked. It wouldn't let you use your own ISP, only the Sega one, had support for almost nothing (I'm not sure exactly what it did support as I've never been able to track down a copy). Basically, it's uninteresting, as it doesn't do much but browse the web (and sometimes not even that, if you're using a version that's built into a game). If you have one of these in-game DreamKeys and want to try to browse the web with it, Read This
The DreamPassport browser is one that that's interesting. It supports almost everything you could want, even Java, is stable, and has BBA support. It however, doesn appear support GINSU so can't be used to launch other programs. The UI is contained inside .PVR files, which are much more efficient, but more difficult to customize. The string settings however (and general browser settings) are stored inside /DP3.INI (or /DP2.INI) and /DPETC/MESSAGES.INI in the browser CD. Using messages.ini it should be theoretically possible to translate at least parts of 3.0+ into English. It's interesting to note that v3.0 has been ripped from Phantasy Start Online, and that v3.16 came from Crazy Taxi 2.
Later versions of PlanetWeb and DreamPassport supported dreamcast extensions to web pages, mainly the ability to make the controller shake (if that addon was installed), as well as show images on the VMS (as well as download games, trade saves, and lots of other cool stuff). I've collected some of the necessary HTML code and tools for these VMS features below. But first, lets go into more techincal detail on the browsers.
VMS Features of DreamPassport and PlanetWeb
There are 3 special tags that can be used in a page to dreamcast-enhance it. One will allow you to display animation on the LCD, another allow an easy way to scroll a message across the LCD, and the last will make the controller vibrate.
Vibrating
To cause the DC Rumble Pack to vibrate, you have to insert the following (or similar) EMBED tag into your code (explanation follows).
| type | Tells the DC to shake it up |
| name | A name assigned to this particular vibrate configuration |
| loop | How many times to loop before stopping |
| freq | Vibration Frequency |
| power | How hard to shake (1-9) |
| on | Time to shake for |
| off | Time not to shake for |
| hidden | Should be true |
| autostart | Set to true if you want to start shaking when page loads, otherwise false |
Using JavaScript, we are able to manipulate one or more vibrate configurations, and turn them on or off as we please. If the below JavaScript code is placed onto a page:
function vib1_on() {
if(navigator.userAgent.indexOf("DreamPassport") != -1 ) {
document.embeds["vib1"].vibrate=1;
}
}
function vib1_off() {
if(navigator.userAgent.indexOf("DreamPassport") != -1 ) {
document.embeds["vib1"].vibrate=0;
}
}
Then if the target of a link, for example, were to read "javascript:vib1_on()" then once the link was clicked, the shaking would start.
You can define more then 1 vibrating configuration per page, just make sure you give them unique names, and only one can be set to autostart.
Scrolling a message on the LCD
Use the below code to make your page scroll a message across the LCD of the VMU when a DreamCast browser is used to access it (explanation follows):
| type | Tells the DC to shake it up |
| name | A name assigned to this particular scroller configuration |
| loop | How many times to loop before stopping (or infinite) |
| scrolldelay | How long to wait |
| scrollammount | How much to scroll by |
| text | The text that will be scrolled |
| hidden | Should be true |
| direction | Which way to scroll (left, or right) |
| behavior | scroll, slide, or alternate |
| font | Font size |
Using JavaScript, we are able to turn the scroller on and off. If the below JavaScript code is placed onto a page:
function tick1_toggle() {
if(navigator.userAgent.indexOf("DreamPassport") != -1 ) {
(document.embeds["tick1"].display == 0) ?
document.embeds["tick1"].display = 1
: document.embeds["tick1"].display = 0;
}
}
Then a link to it will toggle the scroller (read above for more info). A modified version of the above _on and _off procedudes would also work fine.
Showing an Image on the LCD
If you create your image and save it as an .LCD file (using Dream Animator or using a command-line conversion tool) then you can make it display on your visitor's VMUs using the below code:
I think it's fairly straightforward and requires little explanation, other then to note that port and slot are optional. The JavaScript code above will work for this embed as well.
Special URLs
There are a number of special urls supported by recent PW and DP browsers, and here's a list of the ones I'm aware of. This list was based upon this list and this list. Please note that this is NOT a complete list, the only way to get one is to look at the String Dumps below.
Navigation commands:
x-avefront://---.dream/util/visit
x-avefront://a--.avefront/navigation/backward
x-avefront://a--.avefront/navigation/forward
x-avefront://a--.avefront/navigation/reload
Menu options:
x-avefront://---.dream/proc/menu/bookmark
x-avefront://---.dream/proc/menu/jump
x-avefront://---.dream/proc/menu/mail
x-avefront://---.dream/proc/menu/chat
x-avefront://---.dream/proc/menu/help
x-avefront://---.dream/proc/menu/option
x-avefront://---.dream/proc/menu/connect
x-avefront://---.dream/proc/menu/disconnect
x-avefront://---.dream/proc/menu/exit
x-avefront://---.dream/proc/menu/back
x-avefront://---.dream/proc/menu/forward
x-avefront://---.dream/proc/menu/reload
x-avefront://---.dream/proc/menu/zoom
x-avefront://---.dream/proc/menu/file
x-avefront://---.dream/proc/menu/sntp
x-avefront://---.dream/proc/menu/urlchat
x-avefront://---.dream/proc/menu/pmsg_list
x-avefront://---.dream/proc/menu/home
x-avefront://---.dream/proc/menu/accountinfo
x-avefront://---.dream/proc/menu/provider
x-avefront://---.dream/proc/menu/modem
DreamPassport 3 JAP Specific (thanks curtis for details!):
Note: All except number two and nine are genesis/megadrive jap version games.
(game, Onsen) x-avefront://---.dream/proc/menu/launch/1
(Dream Flyer, a DC e-mail program) x-avefront://---.dream/proc/menu/launch/2
(game, Columns) x-avefront://---.dream/proc/menu/launch/3
(game, Ghouls and Ghosts) x-avefront://---.dream/proc/menu/launch/4
(game, Flicky) x-avefront://---.dream/proc/menu/launch/5
(game, Pengo) x-avefront://---.dream/proc/menu/launch/6
(game, Puyo) x-avefront://---.dream/proc/menu/launch/7
(game, unknown title) x-avefront://---.dream/proc/menu/launch/8
(browser, Dream Passport 2.1) x-avefront://---.dream/proc/menu/launch/9
x-avefront://---.dream/proc/help/enter=file:/dpwww/help/helptop/index.html
x-avefront://a--.avefront/navigation/backward
x-avefront://a--.avefront/navigation/forward
(send ch@btalk) x-avefront://---.dream/proc/pri_msg/?id=(ID)&name=(NAME)
x-avefront://---.dream/proc/menu/file
x-avefront://---.dream/proc/help/exit
Multi-Media Playback (append path to file being played at the end):
x-avefront://---.dream/proc/play/mpeg/
x-avefront://---.dream/proc/play/adx/
Execute other programs (as per \GINSU.INI), PlanetWeb only! Replace **ginsuname** with section name from ginsu.ini.
x-avefront://---.dream/exec/**ginsuname**
Built-in program: Debugger (PlanetWeb v1 - v2.004) - thanks Curtis:
x-avefront://---.dream/exec/teapot
VMS (will load a web page from VMU):
x-avefront://---.dream/vms/load/**pagename**
Tools
Can't do this empty handed.. You're likely to need a few things. This section is still incomplete, but better then it used to be.
CD Image Manipulation/Extraction
CDMage
ISOBuster
bin2boot
cdirip 0.6.2
cdi2nero 0.9.9
CD Recording
CDRecord & MKISOFS (you WILL need this one, even if your burner won't support it)
DiscJuggler
DiscJuggler Jinxter Driver (if your CDR isn't supported)
CDR-WIN
Nero
PlanetWeb IRC
All versions of the planetweb browsers apparently supported IRC, but only one room at a time, and using a special url:
pwchat://chat.freedomchat.net:6667/#chatzone
That should be pretty self-explanitory.
(thanks nbvampman for the info)
String Dumps
I've analyzed the binaries of the below browsers and extracted all the strings. If you're curious, take a look at what's contained in the browser. This includes a *complete* list of special URLs, however, some of them may not work, others may work in unexpected ways. A list of common special URLs with descriptions and syntax comes later.
Generated with strings -o -n 10 1st_.read.bin
Crap has been cleaned out for your enjoyment.
(Do NOT view in a web browser. Save to HD and use Wordpad)
PlanetWeb v2.6
DreamPassport v3.0
DreamKey v1.0 (possibly others?) Hidden Movie
Open the URL bar, delete what is there, and enter 'about:' without the quotes to view the hidden movie (thanks nbvampman)
GINSU Information (PlanetWeb only)
The PlanetWeb Browser, up to v2.6 (and possibly 3, although this has not been confirmed) had support for launching external applications. The method by which it did this is called GINSU. Basically, you provide information about each application you want to launch in a file called GINSU.INI, in the root folder of your PlanetWeb CD.
The layout is fairly simple.. the file starts with a [GINSU] section, you should leave it alone. What follows that, are the sections that describe an app, lets see an example section:
[DP]
Ginsu.Path = \
Ginsu.Command = \2_DP.BIN
Ginsu.FirstGDDA = 4
I have not tried taking out FirstGDDA, so I don't really know if it's needed, but I've always left it in there. I think it's pretty self explanitory... More Information about GINSU is available on Front-End Comparison page.
SFD/SFA Information (Native DC Audio/Video Formats)
PVR Information (used in DP GUI)
DPS Information (used in DP GUI)
These sections are not yet complete.
Links
Useful information...
GameWinner's DC Web Browser Page - Gives a few secrets relating to the PlanetWeb v2.0 and v2.6 browsers.
DCBG Homepage - Many good FAQs and Information
The Founders Site - A large collection of tools for DC web browsers.
DC Bookmarklet Lab - Browser tools written in JS, used from within bookmarks.
VMU Uploader - Lots of tools to use with PlanetWeb browsers.
DCEmulation Forums - Got questions? The answers likely lay here.
Afterward
This page is not done.
This page contains innacurate or incomplete information.
This page is out of order.
This page should likely not be all one page.
However, I am but one man, and I'm slowly putting up all my research. E-mail me if you have something you'd like to contribute.