mirror of
https://github.com/holub/mame
synced 2025-04-21 07:52:35 +03:00
Merge pull request #6748 from vadosnaprimer/rom_entry
luaengine: add rom_entry library
This commit is contained in:
commit
1e70d64d56
@ -1699,6 +1699,7 @@ void lua_engine::initialize()
|
||||
* device.spaces[] - device address spaces table (k=name, v=addr_space)
|
||||
* device.state[] - device state entries table (k=name, v=device_state_entry)
|
||||
* device.items[] - device save state items table (k=name, v=index)
|
||||
* device.roms[] - device rom entry table (k=name, v=rom_entry)
|
||||
*/
|
||||
|
||||
auto device_type = sol().registry().create_simple_usertype<device_t>("new", sol::no_constructor);
|
||||
@ -1754,6 +1755,13 @@ void lua_engine::initialize()
|
||||
}
|
||||
return table;
|
||||
}));
|
||||
device_type.set("roms", sol::property([this](device_t &dev) {
|
||||
sol::table table = sol().create_table();
|
||||
for(auto rom : dev.rom_region_vector())
|
||||
if(!rom.name().empty())
|
||||
table[rom.name()] = rom;
|
||||
return table;
|
||||
}));
|
||||
sol().registry().set_usertype("device", device_type);
|
||||
|
||||
|
||||
@ -2764,6 +2772,26 @@ void lua_engine::initialize()
|
||||
sol().registry().set_usertype("dev_space", dev_space_type);
|
||||
|
||||
|
||||
/* rom_entry library
|
||||
*
|
||||
* manager:machine().devices[device_tag].roms[rom]
|
||||
*
|
||||
* rom:name()
|
||||
* rom:hashdata() - see hash.h
|
||||
* rom:offset()
|
||||
* rom:length()
|
||||
* rom:flags() - see romentry.h
|
||||
*/
|
||||
|
||||
auto rom_entry_type = sol().registry().create_simple_usertype<rom_entry>("new", sol::no_constructor);
|
||||
rom_entry_type.set("name", &rom_entry::name);
|
||||
rom_entry_type.set("hashdata", &rom_entry::hashdata);
|
||||
rom_entry_type.set("offset", &rom_entry::get_offset);
|
||||
rom_entry_type.set("length", &rom_entry::get_length);
|
||||
rom_entry_type.set("flags", &rom_entry::get_flags);
|
||||
sol().registry().set_usertype("rom_entry", rom_entry_type);
|
||||
|
||||
|
||||
/* memory_manager library
|
||||
*
|
||||
* manager:machine():memory()
|
||||
|
Loading…
Reference in New Issue
Block a user