A list of technical facts about 3DO games.
The 3DO was released in both NTSC and PAL regions. The OS lets the software query available resolutions and field rates. In total there are three (though they are hard coded into the ROMs to prevent using an unsupported configuration).
The 3DO's VDLP (video display line processor) supports a number of features. A special 320×240 → 640×480 (or PAL equivalent) interpolation upscale; a CLUT (color lookup table) bypass mode; merging of another video source (SlipStream); extending the 0555 RGB color space to 888 RGB by a logical shift left and optionally ORing with 3 bits of pseudo random data; etc.
Legend for below: B = CLUT bypass; R = random lower order bits; V = vertical interpolation; H = horizontal interpolation
Some OS calls use the ARM CPU's SWI (software interrupt) feature. Knowing which games use certain calls can be useful in developing high level emulation (HLE). Primarily matrix arithmetic. Full list of SWIs can be found here.
Some versions of Japanese Panasonic 3DO models have a switch which puts the DAC into 240p mode which can greatly improve the visual clarity of most games. However, unfortunately, certain games run at upto 2x speed as a result of this because the DAC feeds the field value back to the system which now skips fields which messes up games which use that for synchronization. It might be possible to patch games to work but more research needs to be done. Learn more about it here: 240p_mode
The Opera SDKs included a library to do data streaming that included support for audio and video. A codec supported out of the box was Cinepak but not all games used it.
Self descriptive. Some games require the Kanji ROM to run.
The 3DO Opera platform doesn't generally have any hardware level region lockouts. There isn't even a region explicitly defined anywhere. That said… the regions do have slightly different hardware and software settings. Asian consoles have the Kanji ROM. European consoles support PAL1 and PAL2 modes rather than NTSC. Assuming the software doesn't require the ROM or are hard coded to PAL they tend to work on any console.
Game | Res | 240p issue | VDLP | SWI | Media Codecs | Kanji ROM | Compatibility | |
---|---|---|---|---|---|---|---|---|
3D Atlas | NA | NTSC | ? | ? | None | |||
Alone in the Dark | NA | NTSC | ? | ? | None | |||
Alone in the Dark | JP | NTSC | ? | ? | None | required | ||
Alone in the Dark 2 | NA | NTSC | ? | ? | None | |||
Armageddon | NTSC | ? | ? | None | ||||
AutoBahn Tokio | JP | NTSC | ? | ? | None | |||
Bladeforce | NA | NTSC | ? | ? | None | |||
Blue Forest Story | JP | NTSC | ? | ? | ? | required | ||
Burning Soldier | NA | NTSC | ? | ? | 0x50011: MulVec3Mat33DivZ_F16 | |||
Burning Soldier | EU | PAL2 | ? | ? | 0x50011: MulVec3Mat33DivZ_F16 | |||
Crash & Burn | NA | NTSC | ? | ? | 0x50002: MulManyVec3Mat33_F16 | |||
Cyberdillo | NA | NTSC | ? | ? | None | |||
DeathKeep | NA | NTSC | ? | ? | 0x50002: MulManyVec3Mat33_F16 | |||
Decathlon | NA | NTSC | ? | ? | None | |||
Doctor Hauzer | NA | NTSC | ? | ? | 0x50000: MulVec3Mat33_F16 0x50002: MulManyVec3Mat33_F16 0x5000C: Dot3_F16 | |||
Doom | NA | NTSC | ? | ? | None | |||
Escape from Monster Manor | NA | NTSC | YES | ? | 0x50001: MulMat33Mat33_F16 0x50002: MulManyVec3Mat33_F16 | |||
F1GP | JP | NTSC | ? | ? | None | |||
FIFA Soccer | NA | NTSC | ? | ? | None | |||
Foes of Ali | NA | NTSC | ? | ? | None | |||
Immercenary | NA | NTSC | ? | ? | None | |||
Iron Angel of the Apocalypse | NA | NTSC | ? | ? | None | |||
Iron Angel of the Apocalypse: The Return | NA | NTSC | ? | ? | None | |||
John Madden Football | NA | NTSC | ? | ? | None | |||
Jurassic Park | NA | NTSC | ? | ? | 0x50008: MulMat44Mat44_F16 0x50009: MulManyVec4Mat44_F16 | |||
Killing Time | NA | NTSC | ? | ? | 0x50008: MulMat44Mat44_F16 0x50009: MulManyVec4Mat44_F16 | |||
Life Stage | NA | NTSC | ? | ? | None | |||
Lucienne's Quest | NA | NTSC | ? | ? | None | |||
Need For Speed | NA | NTSC | ? | ? | 0x50000: MulVec3Mat33_F16 0x50001: MulMat33Mat33_F16 0x50002: MulManyVec3Mat33_F16 0x5000C: Dot3_F16 0x5000E: Cross3_F16 | |||
Olympic Summer Games | NA | NTSC | ? | ? | None | |||
Off-World Interceptor | NA | NTSC | ? | ? | None | |||
PaTaank | NA | NTSC | ? | ? | 0x50000: MulVec3Mat33_F16 0x50001: MulMat33Mat33_F16 0x50002: MulManyVec3Mat33_F16 0x50006: MulScalerF16 0x5000C: Dot3_F16 0x5000F: AbsVec3_F16 | |||
Powers Kingdom | EU | PAL2 | ? | ? | ||||
PO'ed | NA | NTSC | ? | ? | 0x50002: MulManyVec3Mat33_F16 0x50005: MulManyF16 0x50006: MulScalerF16 0x5000C: Dot3_F16 0x5000E: Cross3_F16 0x50012: MulManyVec3Mat33DivZ_F16 | |||
Quarantine | NA | NTSC | ? | ? | None | |||
Return Fire | NA | NTSC | ? | ? | 0x50000: MulVec3Mat33_F16 0x50001: MulMat33Mat33_F16 0x50002: MulManyVec3Mat33_F16 | |||
Rise of the Robots | EU | PAL2 | ? | ? | None | |||
Robinson's Requiem | NA | NTSC | ? | ? | ||||
Road Rash | NA | NTSC | ? | ? | None | |||
Shock Wave | NA | NTSC | ? | ? | 0x50000: MulVec3Mat33_F16 0x50002: MulManyVec3Mat33_F16 0x50012: MulManyVec3Mat33DivZ_F16 | |||
Shock Wave - Operation Jumpgate | NA | NTSC | ? | ? | 0x50000: MulVec3Mat33_F16 0x50002: MulManyVec3Mat33_F16 0x50012: MulManyVec3Mat33DivZ_F16 | |||
Shock Wave 2 - Beyond the Gate | NA | NTSC | ? | ? | 0x50000: MulVec3Mat33_F16 0x50002: MulManyVec3Mat33_F16 0x50012: MulManyVec3Mat33DivZ_F16 | |||
Slayer | NA | NTSC | ? | ? | 0x50001: MulMat33Mat33_F16 0x50002: MulManyVec3Mat33_F16 | |||
Sword and Sorcery | JP | NTSC | ? | ? | ? | required | ||
Star Fighter | NA | NTSC | ? | ? | None | |||
Star Fighter | EU | PAL1 | ? | ? | None | |||
Striker | NA | NTSC | ? | ? | None | |||
Total Eclipse | NA | NTSC | ? | ? | None | |||
Twinkle Knights | JP | NTSC | ? | ? | ? | required | ||
Wolfenstein 3D | NA | NTSC | YES | ? | None |