summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/emumem_mud.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Encourage use of read/write delegate creator helpers (demo on Game Boy ↵ Vas Crabb2023-04-111-2/+2
| | | | | cartridges). (#11091) This makes it simpler to install read-write handlers, as you don't need to think about the "smo" suffixes.
* Move endianness type into lib/util header AJR2021-08-311-1/+1
|
* emu/emumem*: Removed endianness template parameter from handler_entry_read, ↵ ajrhacker2021-07-091-26/+15
| | | | | handler_entry_write and closely related classes. (#8255) This appears to substantially reduce compilation time and binary size without too much impact on critical paths. The only critical-path parts really touched by this are probably handler_entry_read_units<Width, AddrShift, Endian>::read and handler_entry_write_units<Width, AddrShift, Endian>::write, which no longer need a branch on descriptor endianness for the downcast. The other instances of where the endianness now needs to be fetched from the address space are practically all in constructors, which probably don't get called too often except in drivers where the memory map is regularly rewritten (e.g. segas16b.cpp); even then the performance impact probably isn't huge.
* TMS340X0 updates AJR2020-08-191-0/+2
| | | | | | | - tms34020: Upgrade data bus to 32 bits and add preliminary masking for 16-bit operations - tms34010, tms34020: Eliminate pure 8-bit read/write bus accesses (these are always read-modify-write, even if aligned) - btoads, midxunit: Use 8-bit handlers for NVRAM, reducing size to 8192 bytes - midwunit, midxunit: Eliminate dependencies on midtunit driver
* emumem: A little more speedup. cache and specific change syntax, and are ↵ Olivier Galibert2020-05-251-2/+2
| | | | | | | | | | | | | | | | not pointers anymore [O. Galibert] The last(?) two changes are: - Add a template parameter to everything (theoretically the address space width, in practice a level derived from it to keep as much compatibility between widths as possible) so that the shift size becomes a constant. - Change the syntax of declaring and initializing the caches and specifics so that they're embedded in the owner device. Solves lifetime issues and also removes one indirection (looking up the base dispatch pointer through the cache/specific pointer).
* Fix MT7560 [O. Galibert] Olivier Galibert2020-04-081-2/+1
|
* Fix subtle memory subsystem bug [O. Galibert] Olivier Galibert2019-05-281-3/+4
|
* *DUH* Olivier Galibert2019-04-061-1/+1
|
* emumem: Remove obsolete alignement limit Olivier Galibert2019-04-061-3/+8
| | | | | | emumem_mud: Correct start/end on big endian apollo, fccpu20, fccpu30: Correct vector lookup address pic8259: Avoid reacting to debugger reads [O. Galibert]
* memory: Allow simplified versions of handlers [O. Galibert] Olivier Galibert2018-08-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | A standard memory handler has as a prototype (where uX = u8, u16, u32 or u64): uX device::read(address_space &space, offs_t offset, uX mem_mask); void device::write(address_space &space, offs_t offset, uX data, uX mem_mask); We now allow simplified versions which are: uX device::read(offs_t offset, uX mem_mask); void device::write(offs_t offset, uX data, uX mem_mask); uX device::read(offs_t offset); void device::write(offs_t offset, uX data); uX device::read(); void device::write(uX data); Use them at will. Also consider (DECLARE_)(READ|WRITE)(8|16|32|64)_MEMBER on the way out, use the explicit prototypes. Same for lambdas in the memory map, the parameters are now optional following the same combinations.
* (nw) srcclean and some cleanup: Vas Crabb2018-07-221-1/+1
| | | | | | * Make more #include guards follow standard format - using MAME_ as the prefix makes it easy to see which ones come from our code in a preprocessor dump, and having both src/devices/machine/foo.h and src/mame/machine/foo.h causes issues anyway * Get #include "emu.h" out of headers - it should only be the first thing in a complilation unit or we get differences in behaviour with PCH on/off * Add out-of-line destructors to some devices - it forces the compiler to instantiate the vtable in a certain location and avoids some non-deterministic compiler behaviours
* emumem: Backend modernization [O. Galibert] Olivier Galibert2018-06-291-0/+127