summaryrefslogtreecommitdiffstats
path: root/src/frontend/mame/luaengine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/frontend/mame/luaengine.cpp')
-rw-r--r--src/frontend/mame/luaengine.cpp19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/frontend/mame/luaengine.cpp b/src/frontend/mame/luaengine.cpp
index 6ff6dc0709c..e4da280e221 100644
--- a/src/frontend/mame/luaengine.cpp
+++ b/src/frontend/mame/luaengine.cpp
@@ -985,7 +985,7 @@ void lua_engine::initialize()
* manager:options()
* manager:machine():options()
*
- * options:slot_option() - retrieves a specific slot option
+ * options:slot_option(tag) - retrieves a specific slot option
*/
auto emu_options_type = sol().registry().new_usertype<emu_options>("emu_options", sol::no_constructor, sol::base_classes, sol::bases<core_options>());
@@ -1286,6 +1286,7 @@ void lua_engine::initialize()
* device:memregion(tag) - get memory region
* device:memshare(tag) - get memory share
* device:membank(tag) - get memory bank
+ * device:ioport(tag) - get I/O port
* device:subdevice(tag) - get subdevice
* device:siblingdevice(tag) - get sibling device
* device:debug() - debug interface, CPUs only
@@ -1309,6 +1310,7 @@ void lua_engine::initialize()
device_type["memregion"] = &device_t::memregion;
device_type["memshare"] = &device_t::memshare;
device_type["membank"] = &device_t::membank;
+ device_type["ioport"] = &device_t::ioport;
device_type["subdevice"] = static_cast<device_t *(device_t::*)(char const *) const>(&device_t::subdevice);
device_type["siblingdevice"] = static_cast<device_t *(device_t::*)(char const *) const>(&device_t::siblingdevice);
device_type["debug"] =
@@ -1873,7 +1875,7 @@ void lua_engine::initialize()
auto cass_type = sol().registry().new_usertype<cassette_image_device>(
"cassette",
sol::no_constructor,
- sol::base_classes, sol::bases<device_t>());
+ sol::base_classes, sol::bases<device_t, device_image_interface>());
cass_type["stop"] = [] (cassette_image_device &c) { c.change_state(CASSETTE_STOPPED, CASSETTE_MASK_UISTATE); };
cass_type["play"] = [] (cassette_image_device &c) { c.change_state(CASSETTE_PLAY, CASSETTE_MASK_UISTATE); };
cass_type["record"] = [] (cassette_image_device &c) { c.change_state(CASSETTE_RECORD, CASSETTE_MASK_UISTATE); };
@@ -1886,11 +1888,10 @@ void lua_engine::initialize()
cass_type["motor_state"] = sol::property(&cassette_image_device::motor_on, &cassette_image_device::set_motor);
cass_type["speaker_state"] = sol::property(&cassette_image_device::speaker_on, &cassette_image_device::set_speaker);
cass_type["position"] = sol::property(&cassette_image_device::get_position);
- cass_type["length"] = sol::property([] (cassette_image_device &c) { if (c.exists()) return c.get_length(); return 0.0; });
- cass_type["image"] = sol::property([] (cassette_image_device &c) { return dynamic_cast<device_image_interface *>(&c); });
+ cass_type["length"] = sol::property([] (cassette_image_device &c) { return c.exists() ? c.get_length() : 0.0; });
-/* mame_machine_manager library
+/* mame_machine_manager library
*
* manager
* mame_manager - alias of manager
@@ -1924,10 +1925,10 @@ void lua_engine::initialize()
// set up other user types
- initialize_debug();
- initialize_input();
- initialize_memory();
- initialize_render();
+ initialize_debug(emu);
+ initialize_input(emu);
+ initialize_memory(emu);
+ initialize_render(emu);
}
//-------------------------------------------------