summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/cpu/drcbeut.c
Commit message (Collapse)AuthorAgeFilesLines
* CPU cores now compile cleanly. Aaron Giles2009-03-151-1/+1
|
* Moved some of the CPU cores over to use get_safe_token like other devices. Aaron Giles2009-03-121-11/+11
| | | | Also cleaned them so they compile.
* 01916: srmvs: Assertion Aaron Giles2008-06-221-1/+0
| | | | Removed erroneous assertion.
* Numerous MIPS3 DRC updates: Aaron Giles2008-05-191-6/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fixed front-end so that virtual no-op instructions are still targeted as branch targets. * Fixed front-end to mark the beginning of each sequence as needing TLB validation, since any sequence can be jumped to from anywhere. * Redid the MIPS3 TLB implementation. Fixed the exception vector and type handling. Changed the bitfields to directly map from the MIPS TLB format. Added distinction between TLB fill and TLB valid/modified exceptions. * Added separate modes for user, supervisor, and kernel modes. Each mode does proper verification of addresses now and generates address errors for invalid accesses. * Fixed several bugs in the TLB implementation; not everything works yet but it's a lot closer. * Made COP0 access checking mandatory in non-kernel modes. * Fixed several crashes when recompiling virtual no-ops. * Fixed TLB bug where entries for virtual address 0 were present by default. * Fixed bug in the map variable implementation that would sometimes result in incorrectly recovered values.
* New universal dynamic recompiler system. The central module Aaron Giles2008-05-111-0/+673
is drcuml.c, which defines a universal machine language syntax that can be generated by a frontend recompiler and then retargeted via a generic backend interface to any of a number of different architectures. A disassembler for the UML is also included to allow examination of the generated UML code. Currently supported backend architectures include 32-bit x86, 64-bit x86, and a platform-neutral interpreted C backend that can be used as a fallback for platforms without native support. The C backend also performs additional validation to ensure assumptions are met. Along with the new architecture is a new MIPS III/IV recompiler frontend. This frontend has been rewritten from the old x64-specific recompiler to generate UML opcodes instead. This means that the single recompiler can be used to target multiple backend architectures and should in theory produce identical results across all of them. The old 32-bit and 64-bit MIPS recompilers are now officially retired. The new system provides similar performance (within 5% generally) to the old system and has similar compatibility. The only currently known issues are some problems with the two Gauntlet 3D games.