Difference between revisions of "Sega Mega Drive/Quirks"
From Sega Retro
GerbilSoft (talk | contribs) (→TAS instruction support: Games that use TAS and hence break on Genesis 3) |
GerbilSoft (talk | contribs) (→TAS instruction support: TAS works on registers, but not memory, on MD1 and MD2. Also, indicate that Gens and Gens/GS treat TAS to memory as no-op.) |
||
Line 9: | Line 9: | ||
==TAS instruction support== | ==TAS instruction support== | ||
− | The MC68000 has an instruction, TAS (test-and-set), that is used for synchronizing multiple MC68000s in a multi-CPU system. The TAS instruction uses a different bus cycle than other instructions, and | + | The MC68000 has an instruction, TAS (test-and-set), that is used for synchronizing multiple MC68000s in a multi-CPU system. The TAS instruction uses a different bus cycle than other instructions, and is effectively treated as a no-op for memory writes by both the MD1 or MD2 hardware. However, the Majesco Genesis 3 does support TAS, which breaks a few games that incorrectly use the TAS instruction. (The TAS instruction ends up setting the high bit of the destination memory operand.) |
− | * Emulators that | + | * Emulators that implement TAS as no-op for memory access: [[Gens]], [[Gens/GS]], [[Gens/GS II]], probably all others |
− | * Emulators that | + | * Emulators that implement TAS as write to memory: '''Unknown''' |
Games that use the TAS instruction: | Games that use the TAS instruction: |
Revision as of 23:53, 27 December 2010
This is a list of several MD hardware quirks that don't exactly fit in any other categories.
CLR on VDP data port
If the VDP is set to VRAM/CRAM/VSRAM Write, using the clr instruction on the VDP data port will result in a system crash:
- Emulators that implement this quirk: Unknown
TAS instruction support
The MC68000 has an instruction, TAS (test-and-set), that is used for synchronizing multiple MC68000s in a multi-CPU system. The TAS instruction uses a different bus cycle than other instructions, and is effectively treated as a no-op for memory writes by both the MD1 or MD2 hardware. However, the Majesco Genesis 3 does support TAS, which breaks a few games that incorrectly use the TAS instruction. (The TAS instruction ends up setting the high bit of the destination memory operand.)
- Emulators that implement TAS as no-op for memory access: Gens, Gens/GS, Gens/GS II, probably all others
- Emulators that implement TAS as write to memory: Unknown
Games that use the TAS instruction:
- Gargoyles by Buena Vista Interactive
- Ex-Mutants by Sega