| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
(#12822)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Read callbacks now need a default return value supplied at construction.
Replaced isnull() with isunset() which tells you if the callback wasn't
configured rather than whether it isn't safe to call.
Enabled validation of device callbacks (it seems it was disabled at some
point, probably accidentally).
Device callbacks and object finders now implement the same interface for
resolution.
|
|
|
|
| |
function signatures. (#11283) [Ryan Holtz]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is problematic in several ways:
* Initialising things at construction that aren't needed until after
start slows down -romident, -validate, -listxml, etc. Slot cards can
be a particular drain on -listxml and -validate as they're
instantiated for every compatible slot. It's more pronounced for
array members, too.
* Splitting member initialisation between declaration in headers and
constructors in source files means you have to look at two places to
check for the initial value, and you always need to check the
constructor even if an initialiser is present in the header because
the constructor initaliser list takes precedence. (This isn't as much
of an issue for driver classes because the constructor is most often
inlined at declaration, so it isn't far from the member declarations.)
* Initialisers in headers for frequently-used devices increases the
frequency of recompiling dependent devices/drivers as they're exposed
to any changes in initialisers.
* Initialisers in frequently-used headers increase build times because
there's more for the compiler to parse/cache. (This affects
makedep.py as well for single-driver builds, but that's a single
pass.) It's not a lot individually, but it adds up given the size of
MAME, which keeps increasing. We've already had one contributor
banned from GitHub actions for resource usage, we don't want to waste
compiler time unnecessarily.
|
| |
|
|
|
|
| |
the devices tree will be next (nw)
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
| |
This reverts commit 3207d504fed679163f0489e2b763eda8c4139b23.
|
|
|
|
| |
of quality, nw
|
|
-gio: Renamed GIO slot device implementation to GIO64, nw
|