summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/cpu/drcbeut.h
Commit message (Collapse)AuthorAgeFilesLines
* Cleanups and version bumpmame0142u3 Angelo Salese2011-05-081-1/+1
|
* Latest delegate changes removed the need for bindable_object, so Aaron Giles2011-04-291-1/+1
| | | | get rid of it across the board.
* Switch to using delegates for some callbacks: Aaron Giles2011-04-271-6/+15
| | | | | | | | | | | | - non-device timer callbacks - machine state changing callbacks - configuration callbacks - per-screen VBLANK callbacks - DRC backend callbacks For the timer case only, I added wrappers for the old-style functions. Over time, drivers should switch to device timers instead, reducing the number of timers that are directly allocated through the scheduler.
* Cleanups and version bump.mame0141u1 Aaron Giles2011-01-241-2/+2
|
* Redo most of the DRC/backend support as C++ Aaron Giles2011-01-171-6/+6
| | | | | | | | | | | | | | Yes, it is intentional that the x86/x64 backends compile everywhere. Backends are now derived from drcbe_interface and implement several required overrides. x86emit.h now uses namespaces so that the x86/x64 emitters can co-exist. New file uml.h/uml.c actually describes the UML language, separating out several concepts from drcuml.c. Lots of other changes/fixes.
* Minor comment cleanup. Aaron Giles2011-01-061-5/+32
|
* C++-ified the DRC backend utility helpers. Aaron Giles2011-01-061-117/+121
|
* Convert drccache to C++ Aaron Giles2011-01-051-4/+4
|
* Final CPU header updates. Mostly just re-naming the re-inclusions. Derrick Renaud2008-08-131-1/+1
| | | | | The structures/names were getting too complex for my macros to handle. They would require hand editing and my computer is too slow to keep re-compiling. Passes a clean compile.
* Added back-end validation mechanism, and a handful of tests as examples. Aaron Giles2008-05-191-37/+0
| | | | | | | | | | | | | | This will be expanded in the future. Added two new opcodes: SAVE and RESTORE to save and restore the entire virtual machine state for examination/setup. Added new back-end function get_info() which returns information from the back-end about how many actual registers will be mapped. Fixed a bug that mapped the high a low parts of registers to the same address. This should help the C back-end run better on big-endian architectures.
* New universal dynamic recompiler system. The central module Aaron Giles2008-05-111-0/+192
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.