A list of technical facts about 3DO games. ===== Fields ===== ==== Resolution ==== 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). * NTSC: 320×240 @ 60Hz * PAL1: 320×240 (or 320×288) @ 50Hz * PAL2: 384×288 @ 50Hz ==== VDLP ==== The 3DO's [[:documentation:hardware:opera:vdlp|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 ==== SWI ==== Some OS calls use the ARM CPU's [[:documentation:software:opera:portfolio_os:software_interrupts|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 [[:documentation:software:opera:portfolio_os:software_interrupts|found here.]] ==== 240p Issue ==== 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: [[:documentation:hardware:opera:240p_mode|]] ==== Media Codecs ==== 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. ==== Requires Kanji ROM ==== Self descriptive. Some games require the Kanji ROM to run. ==== Compatibility ==== 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. ===== List ===== ^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| | | |