summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/emumem_mview.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix some range computation issues with some weird views. Olivier Galibert2025-04-211-49/+49
|
* memory_view: fix possible nullptr crash, add exists() getter hap2024-08-151-11/+14
|
* Encourage use of read/write delegate creator helpers (demo on Game Boy ↵ Vas Crabb2023-04-111-167/+4
| | | | | cartridges). (#11091) This makes it simpler to install read-write handlers, as you don't need to think about the "smo" suffixes.
* emumem_mview: Add the forgotten key, allows to distinguish ram zones at the ↵ Olivier Galibert2023-03-201-1/+1
| | | | same address in different views, including recursively.
* emumem: First try at wait states Olivier Galibert2023-02-221-0/+221
|
* mview: removed a little too much Olivier Galibert2022-11-181-0/+4
|
* mview: Don't forget to select the correct page when installing handlers, ↵ Olivier Galibert2022-11-121-4/+13
| | | | especially dynamically.
* emu: Fixed issues with memory views and snapshot naming. Vas Crabb2022-07-011-2/+2
| | | | | | | | | | | | | | | | Include device tag in memory view save item registration names. Without this, instantiating two of the same device (or two devices with identically named memory views) causes a fatal error on start. Fixed -aviwrite/-mngwrite with -snapview native more than two screens. Previously it would attempt to use the same file name for all screens but the first. Improved naming of snapshots, especially when using -snapview native with -aviwrite/-mngwrite (see GitHub #10005). The automatically included screen number should come before the extension if supplied. Also, assume that users actually know what they’re doing if they include a dot in a snapshot filename pattern.
* Addressed some Lua scripting pitfalls. (#9294) Vas Crabb2022-02-121-19/+16
| | | | | | | | | | | | | | | | | | | | | | | | | Addressed pure virtual function call crash on end of emulation session if you haven't explicitly removed all address space taps, memory corruption on end of emulation session if you haven't explicitly removed all address space change notifiers, and symbol being garbage-collected out from under you while you have parsed expressions or other symbol tables that depend on them. Removed the copy constructor for parsed expressions as the underlying C++ copy constructor appears to be broken, and simplified symbol table constructors. Also made symbol table add methods return the new entry to avoid the need for an extra lookup. Fixed breakpoint/watchpoint objects being inappropriately copied into the tables returned by bplist() and wplist(), allowing the enabled property to be modifiable for breakpoint and watchpoint objects in Lua. Fixed drivers and devices causing a new memory pass-through handler to be allocated on each soft reset, and fixed multiple instances of taps being installed in the event the machine is reset before the tap is removed. Added classes for managing broadcast subscriptions, and adapted address spaces to use this for change notifications.
* Fun with flags: Allows handlers to have user-defined flags set on Olivier Galibert2021-11-281-187/+197
| | | | | | them, which can them be picked up on access with the {read,write}_*_flags variants of the accessors. Example use with the i960 and its burstable rom/ram.
* emu/emumem*: Removed endianness template parameter from handler_entry_read, ↵ ajrhacker2021-07-091-123/+107
| | | | | 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.
* Added helpers for 64-bit count leading zeroes/ones. Vas Crabb2021-06-131-1/+1
|
* mview: Fix missing import of submaps in views. Need to fix more about ↵ Olivier Galibert2021-05-121-2/+4
| | | | import_submap vs. prepare_map vs. populate_from_map though.
* srcclean in preparation for branching release Vas Crabb2021-04-251-1/+1
|
* views: Invalidate the caches on bank selection change [O. Galibert] Dirk Best2021-04-131-0/+6
|
* views: Ensure alternatives are always created Olivier Galibert2021-03-101-0/+4
|
* emumem_mview.cpp: Use count_leading_zeros to simplify awidth calculation AJR2021-03-051-6/+1
|
* views: Keep a reference to the handlers so that installs overlapping them ↵ Olivier Galibert2021-03-031-0/+10
| | | | don't kill them
* emuview: Fix init_handlers in specific cases, fix mapping ioports in views Olivier Galibert2021-02-271-2/+2
|
* emumem: Disable the unmap-value-in-device-map test for now Olivier Galibert2021-02-201-6/+9
|
* emumem: Fix regions and shares on dynamically-installed device maps Olivier Galibert2021-02-161-16/+39
|
* views: pre-inline h_make_1, reduces the memory a little more Olivier Galibert2020-12-281-55/+50
|
* views: Remove the lambdas, seems to make the compiler usage resources less ↵ Olivier Galibert2020-12-281-72/+78
| | | | catastrophic
* view: Save their state Olivier Galibert2020-12-211-0/+8
|
* Work around GNU libstdc++ wanting to stack large temporaries when vector ↵ Vas Crabb2020-11-231-3/+3
| | | | elements can be trivially constructed.
* Implement views, which are essentially bankdevs integrated into the Olivier Galibert2020-11-221-0/+995
memory map system. [O. Galibert]