| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
* Changed emu_fatalerror to use util::string_format semantics
* Fixed some incorrectly marked up stuff in build scripts
* Make internal layout compression type a scoped enum (only zlib is supported still, but at least the values aren't magic numbers now)
* Fixed memory leaks in Xbox USB
* There can only be one "perfect quantum" device - enforce that only the root machine can set it, as allowing subdevices to will cause weird issues with slot cards overiding it
* Allow multiple devices to set maximum quantum and use the most restrictive one (it's maximum quantum, it would be minimum interleave)
* Got rid of device_slot_card_interface as it wasn't providing value
* Added a helper template to reduce certain kinds of boilerplate in slots/buses
* Cleaned up some particularly bad slot code (plenty more of that to do), and made some slots more idiomatic
|
|
|
|
|
|
|
|
| |
Disassemblers are now independant classes. Not only the code is
cleaner, but unidasm has access to all the cpu cores again. The
interface to the disassembly method has changed from byte buffers to
objects that give a result to read methods. This also adds support
for lfsr and/or paged PCs.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Per Vas' request. If the compile fails for you (i'm thinking osx and
windows native debuggers here in particular), add '#include "emu.h"'
as first include of the cpp files that fail.
Due to our use of precompilation and forced inclusion, emu.h must be
included as the very first non-comment thing we do if we want to be
sure msvc compiles are identical to gcc/clang ones. Doing it directly
instead of through an include increases the correctness probability by
a magnitude.
|
|
|
|
|
| |
Use standard uint64_t, uint32_t, uint16_t or uint8_t instead of UINT64, UINT32, UINT16 or UINT8
also use standard int64_t, int32_t, int16_t or int8_t instead of INT64, INT32, INT16 or INT8
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Refactor the display to use a buffer of the size of the total margins.
Remove the deprecated MCFG_SCREEN_REFRESH_RATE().
Try to synchronize the CPU on the vertical sync generated by mame
calling the screen_update() function.
Instead of a fixed CROM/CRAM configuration defined through macros,
make this a machine configuration parameter. You can now choose
between the 3 setups:
1 = 1K CROM, 1K CRAM, 1 S register bank
2 = 2K CROM, 1K CRAM, 1 S register bank
3 = 1K CROM, 3K CRAM, 8 S register banks
TODO: Some games which used to work in Salto do no longer work with
this driver, e.g. pacman7 from the allgames.chd
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There was little to no advantage in calling the various subdevice
bs, f1 and f2 early/late functions through function pointers.
The original idea was to make this configurable, which it isn't.
The hardware, or schematics, define the functions and they are
(almost entirely) static anyway.
By removing the function pointers and inlining the appropriate calls
into switch/case statements there's a speed improvement of ~ 2.5x here,
seen while the diablo bitclk is not running.
|
|
|
|
|
|
|
| |
Instead of using a number of UINT8 with the decoded bit fields of the
MIR (micro instruction register), add inline functions to extract the
bits from m_mir. That ought to be faster, because there are fewer memory
accesses in cases where bit fields are not actually used by an instruction.
|
|
|
|
|
|
|
| |
std::unique_ptr (nw)
auto_alloc_array to unique_ptr
Added make_unique_clear
|
| |
|
|
|