summaryrefslogtreecommitdiffstats
path: root/src/frontend/mame/luaengine_mem.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Try to work around the uninitialised member warning in sol::optional. Vas Crabb2022-04-031-2/+2
|
* Lua engine improvements (#9453) Vas Crabb2022-03-231-114/+118
| | | | | | | | | | | | | | | | | | | | | | Made auto-boot script errors and plugin bootstrap errors fatal. Run auto-boot scripts in a sandbox. Globals can be accessed, but not set. The sandbox is cleared on hard reset, but not on soft reset. Added (hopefully) useful to string metafunctions to device_t and address space that show short names and tags. Fixed issues in plugins that surface when strict type checking is enabled, as this means numbers and nil are not automatically converted to strings. Plugins should be tested with debug builds to check for this. Made save item read_block raise an error on invalid arguments rather than returning an empty string, and made it use luaL_buffer directly rather than using the helper wrapper. Changed some more function bindings to use set_function to avoid issues related to ThePhD/sol2#608, and got rid of some unnecessary lambda captures.
* vegas.cpp: Cleanup: Vas Crabb2022-02-131-33/+48
| | | | | | | * Combine DUART interrupts. * Disabled SIO logging that had been left on. * Added system LED output and added it to sf0249 layout (hidden by default).
* Addressed some Lua scripting pitfalls. (#9294) Vas Crabb2022-02-121-115/+25
| | | | | | | | | | | | | | | | | | | | | | | | | 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.
* frontend: Exposed memory pass-through handlers (address space taps) to Lua. Vas Crabb2022-02-101-51/+291
|
* Move endianness type into lib/util header AJR2021-08-311-11/+1
|
* -Lua cleanup and documentation migration checkpoint. Vas Crabb2020-12-161-146/+124
| | | | | | | | | | | | | | | | | | | | * Cleaned up some more of the Lua inteface. Mostly replacing methods with properties, some consistency fixes, a few renames, some more exposed functionality, and a couple of properties that have no business being set from scripts made read-only. * Moved a lot more Lua documentation out of source comments into the documentation, and expanded on it in the process. * Got more UI code out of the input manager. * Changed input sequence poller to a polymorphic class where you specify your intention upfront. * Changed the cheat plugin to use UI Clear to clear hotkey assignments and leave them unchanged if the user starts assignment but doesn't press any switches. * Ported AJR's fix for over-eager double-click recognition from SDL to Windows OSD. -goldnpkr.cpp: Cleaned up inputs, using standard keyout and payout types and key assignments.
* Expose enough of the layout system to Lua to allow position and colour to be ↵ Vas Crabb2020-12-051-1/+1
| | | | animated.
* luaengine.cpp: Exposed device_slot_interface, emu_options, and slot options. ↵ npwoods2020-12-041-117/+3
| | | | (#7458)
* luaengine_mem.cpp: Cleanup and enhancements. Vas Crabb2020-11-291-167/+312
| | | | | | | * Changed memory manager banks, regions and shares to lightweight wrappers. * Exposed tag, width and Endianness of regions and shares. * Exposed memory tag and entry of banks (scripts can change entry). * Modernised syntax and switched to abbreviated integer types.
* Fixed clang warning in Lua engine properly, converted a few fallthrough ↵ Vas Crabb2020-11-171-18/+19
| | | | comments to attributes, sorted some warning options alphabetically
* luaengine.cpp: Moved clang warning suppression to the right file, disabled ↵ Vas Crabb2020-11-161-0/+5
| | | | MSVC C4503 suppression for now, will see which files need it for sol3
* frontend: split lua_engine user type registrations across a few files to ↵ Vas Crabb2020-11-161-0/+603
make it a bit more manageable