diff options
author | 2017-02-27 00:38:50 -0500 | |
---|---|---|
committer | 2017-02-27 00:38:50 -0500 | |
commit | 2a89da877b3f50a40336cace86285a9971b6da25 (patch) | |
tree | ebbb5ae20ebbfb8e00329d3e14ad1cbcfaf25bcd /src/devices | |
parent | 73d399e9e5b22121c9f51eaf6b10b36aeb44491b (diff) |
device_image_interface cleanups (nw)
- Replace comparisons of software_entry() or part_entry() with nullptr with loaded_through_softlist() predicate.
- Eliminate the superfluous m_software_info_ptr member. The software_entry() accessor is still provided, but now rarely used.
- Eliminate two of the three arguments to load_software_part.
- Remove some unnecessary auto-typing in ui/inifile.cpp.
Diffstat (limited to 'src/devices')
49 files changed, 104 insertions, 105 deletions
diff --git a/src/devices/bus/a7800/a78_slot.cpp b/src/devices/bus/a7800/a78_slot.cpp index a9208c91764..c4c50f8972a 100644 --- a/src/devices/bus/a7800/a78_slot.cpp +++ b/src/devices/bus/a7800/a78_slot.cpp @@ -349,7 +349,7 @@ image_init_result a78_cart_slot_device::call_load() { uint32_t len; - if (software_entry() != nullptr) + if (loaded_through_softlist()) { const char *pcb_name; bool has_ram = get_software_region("ram") ? true : false; diff --git a/src/devices/bus/a800/a800_slot.cpp b/src/devices/bus/a800/a800_slot.cpp index d5d5d4d9555..f8bcc0d877f 100644 --- a/src/devices/bus/a800/a800_slot.cpp +++ b/src/devices/bus/a800/a800_slot.cpp @@ -242,7 +242,7 @@ image_init_result a800_cart_slot_device::call_load() { uint32_t len; - if (software_entry() != nullptr) + if (loaded_through_softlist()) { const char *pcb_name; len = get_software_region_length("rom"); diff --git a/src/devices/bus/adam/exp.cpp b/src/devices/bus/adam/exp.cpp index 50469784009..2e58564fcd0 100644 --- a/src/devices/bus/adam/exp.cpp +++ b/src/devices/bus/adam/exp.cpp @@ -93,7 +93,7 @@ image_init_result adam_expansion_slot_device::call_load() { size_t size; - if (software_entry() == nullptr) + if (!loaded_through_softlist()) { size = length(); diff --git a/src/devices/bus/apf/slot.cpp b/src/devices/bus/apf/slot.cpp index 8999c523649..afe50d8a9b5 100644 --- a/src/devices/bus/apf/slot.cpp +++ b/src/devices/bus/apf/slot.cpp @@ -160,7 +160,7 @@ image_init_result apf_cart_slot_device::call_load() { if (m_cart) { - uint32_t size = (software_entry() == nullptr) ? length() : get_software_region_length("rom"); + uint32_t size = !loaded_through_softlist() ? length() : get_software_region_length("rom"); if (size > 0x3800) { @@ -170,12 +170,12 @@ image_init_result apf_cart_slot_device::call_load() m_cart->rom_alloc(size, tag()); - if (software_entry() == nullptr) + if (!loaded_through_softlist()) fread(m_cart->get_rom_base(), size); else memcpy(m_cart->get_rom_base(), get_software_region("rom"), size); - if (software_entry() == nullptr) + if (!loaded_through_softlist()) { m_type = APF_STD; // attempt to identify Space Destroyer, which needs 1K of additional RAM diff --git a/src/devices/bus/arcadia/slot.cpp b/src/devices/bus/arcadia/slot.cpp index a2d3eed9b5c..f40788240ef 100644 --- a/src/devices/bus/arcadia/slot.cpp +++ b/src/devices/bus/arcadia/slot.cpp @@ -150,16 +150,16 @@ image_init_result arcadia_cart_slot_device::call_load() { if (m_cart) { - uint32_t len = (software_entry() == nullptr) ? length() : get_software_region_length("rom"); + uint32_t len = !loaded_through_softlist() ? length() : get_software_region_length("rom"); m_cart->rom_alloc(len, tag()); - if (software_entry() == nullptr) + if (!loaded_through_softlist()) fread(m_cart->get_rom_base(), len); else memcpy(m_cart->get_rom_base(), get_software_region("rom"), len); - if (software_entry() == nullptr) + if (!loaded_through_softlist()) { // we need to identify Golf! m_type = ARCADIA_STD; diff --git a/src/devices/bus/astrocde/slot.cpp b/src/devices/bus/astrocde/slot.cpp index 09cbf27e2e6..294b7d0a2be 100644 --- a/src/devices/bus/astrocde/slot.cpp +++ b/src/devices/bus/astrocde/slot.cpp @@ -150,15 +150,15 @@ image_init_result astrocade_cart_slot_device::call_load() { if (m_cart) { - uint32_t size = (software_entry() == nullptr) ? length() : get_software_region_length("rom"); + uint32_t size = !loaded_through_softlist() ? length() : get_software_region_length("rom"); m_cart->rom_alloc(size, tag()); - if (software_entry() == nullptr) + if (!loaded_through_softlist()) fread(m_cart->get_rom_base(), size); else memcpy(m_cart->get_rom_base(), get_software_region("rom"), size); - if (software_entry() == nullptr) + if (!loaded_through_softlist()) { m_type = ASTROCADE_STD; diff --git a/src/devices/bus/c64/exp.cpp b/src/devices/bus/c64/exp.cpp index ad6f72535aa..3d4159b10af 100644 --- a/src/devices/bus/c64/exp.cpp +++ b/src/devices/bus/c64/exp.cpp @@ -120,7 +120,7 @@ image_init_result c64_expansion_slot_device::call_load() { size_t size; - if (software_entry() == nullptr) + if (!loaded_through_softlist()) { size = length(); diff --git a/src/devices/bus/cbm2/exp.cpp b/src/devices/bus/cbm2/exp.cpp index 47d36ccc744..7230b218105 100644 --- a/src/devices/bus/cbm2/exp.cpp +++ b/src/devices/bus/cbm2/exp.cpp @@ -108,7 +108,7 @@ image_init_result cbm2_expansion_slot_device::call_load() if (m_card) { - if (software_entry() == nullptr) + if (!loaded_through_softlist()) { size = length(); diff --git a/src/devices/bus/chanf/slot.cpp b/src/devices/bus/chanf/slot.cpp index ba0fbb622a8..b2014db586e 100644 --- a/src/devices/bus/chanf/slot.cpp +++ b/src/devices/bus/chanf/slot.cpp @@ -163,15 +163,15 @@ image_init_result channelf_cart_slot_device::call_load() { if (m_cart) { - uint32_t len = (software_entry() == nullptr) ? length() : get_software_region_length("rom"); + uint32_t len = !loaded_through_softlist() ? length() : get_software_region_length("rom"); m_cart->rom_alloc(len, tag()); - if (software_entry() == nullptr) + if (!loaded_through_softlist()) fread(m_cart->get_rom_base(), len); else memcpy(m_cart->get_rom_base(), get_software_region("rom"), len); - if (software_entry() == nullptr) + if (!loaded_through_softlist()) { // we default to "chess" slot because some homebrew programs have been written to run // on PCBs with RAM at $2000-$2800 as Saba Schach! diff --git a/src/devices/bus/coco/cococart.cpp b/src/devices/bus/coco/cococart.cpp index 646a9d9d623..d9c9db3aaee 100644 --- a/src/devices/bus/coco/cococart.cpp +++ b/src/devices/bus/coco/cococart.cpp @@ -327,7 +327,7 @@ image_init_result cococart_slot_device::call_load() if (m_cart) { offs_t read_length; - if (software_entry() == nullptr) + if (!loaded_through_softlist()) { read_length = fread(m_cart->get_cart_base(), 0x8000); } diff --git a/src/devices/bus/coleco/exp.cpp b/src/devices/bus/coleco/exp.cpp index f02867ed3e3..c70a4dabde1 100644 --- a/src/devices/bus/coleco/exp.cpp +++ b/src/devices/bus/coleco/exp.cpp @@ -79,10 +79,10 @@ image_init_result colecovision_cartridge_slot_device::call_load() { if (m_card) { - size_t size = (software_entry() == nullptr) ? length() : get_software_region_length("rom"); + size_t size = !loaded_through_softlist() ? length() : get_software_region_length("rom"); m_card->rom_alloc(size); - if (software_entry() == nullptr) + if (!loaded_through_softlist()) { fread(m_card->m_rom, size); } diff --git a/src/devices/bus/crvision/slot.cpp b/src/devices/bus/crvision/slot.cpp index 1177bb40cd7..4a435aa729f 100644 --- a/src/devices/bus/crvision/slot.cpp +++ b/src/devices/bus/crvision/slot.cpp @@ -154,7 +154,7 @@ image_init_result crvision_cart_slot_device::call_load() { if (m_cart) { - uint32_t size = (software_entry() == nullptr) ? length() : get_software_region_length("rom"); + uint32_t size = !loaded_through_softlist() ? length() : get_software_region_length("rom"); if (size > 0x4800) { @@ -164,12 +164,12 @@ image_init_result crvision_cart_slot_device::call_load() m_cart->rom_alloc(size, tag()); - if (software_entry() == nullptr) + if (!loaded_through_softlist()) fread(m_cart->get_rom_base(), size); else memcpy(m_cart->get_rom_base(), get_software_region("rom"), size); - if (software_entry() == nullptr) + if (!loaded_through_softlist()) { m_type = CRV_4K; diff --git a/src/devices/bus/gameboy/gb_slot.cpp b/src/devices/bus/gameboy/gb_slot.cpp index 158d9b98be9..3b6c30949c2 100644 --- a/src/devices/bus/gameboy/gb_slot.cpp +++ b/src/devices/bus/gameboy/gb_slot.cpp @@ -263,12 +263,12 @@ image_init_result base_gb_cart_slot_device::call_load() if (m_cart) { uint32_t offset; - uint32_t len = (software_entry() == nullptr) ? length() : get_software_region_length("rom"); + uint32_t len = !loaded_through_softlist() ? length() : get_software_region_length("rom"); uint8_t *ROM; int rambanks = 0; // From fullpath, check for presence of a header and skip it + check filesize is valid - if (software_entry() == nullptr) + if (!loaded_through_softlist()) { if ((len % 0x4000) == 512) { @@ -288,7 +288,7 @@ image_init_result base_gb_cart_slot_device::call_load() m_cart->rom_alloc(len, tag()); ROM = m_cart->get_rom_base(); - if (software_entry() == nullptr) + if (!loaded_through_softlist()) fread(ROM, len); else memcpy(ROM, get_software_region("rom"), len); @@ -298,7 +298,7 @@ image_init_result base_gb_cart_slot_device::call_load() if (get_mmm01_candidate(ROM, len)) offset = len - 0x8000; - if (software_entry() != nullptr) + if (loaded_through_softlist()) m_type = gb_get_pcb_id(get_feature("slot") ? get_feature("slot") : "rom"); else m_type = get_cart_type(ROM + offset, len - offset); @@ -312,7 +312,7 @@ image_init_result base_gb_cart_slot_device::call_load() m_cart->set_additional_wirings(0x0f, -1); // setup RAM/NVRAM/RTC/RUMBLE - if (software_entry() != nullptr) + if (loaded_through_softlist()) { // from softlist we only rely on xml if (get_software_region("ram")) @@ -413,11 +413,11 @@ image_init_result megaduck_cart_slot_device::call_load() { if (m_cart) { - uint32_t len = (software_entry() == nullptr) ? length() : get_software_region_length("rom"); + uint32_t len = !loaded_through_softlist() ? length() : get_software_region_length("rom"); m_cart->rom_alloc(len, tag()); - if (software_entry() == nullptr) + if (!loaded_through_softlist()) fread(m_cart->get_rom_base(), len); else memcpy(m_cart->get_rom_base(), get_software_region("rom"), len); diff --git a/src/devices/bus/gba/gba_slot.cpp b/src/devices/bus/gba/gba_slot.cpp index fc8bcd038db..bb9f5b5f992 100644 --- a/src/devices/bus/gba/gba_slot.cpp +++ b/src/devices/bus/gba/gba_slot.cpp @@ -181,7 +181,7 @@ image_init_result gba_cart_slot_device::call_load() if (m_cart) { uint8_t *ROM; - uint32_t size = (software_entry() != nullptr) ? get_software_region_length("rom") : length(); + uint32_t size = loaded_through_softlist() ? get_software_region_length("rom") : length(); if (size > 0x4000000) { seterror(IMAGE_ERROR_UNSPECIFIED, "Attempted loading a cart larger than 64MB"); @@ -191,7 +191,7 @@ image_init_result gba_cart_slot_device::call_load() m_cart->rom_alloc(size, tag()); ROM = (uint8_t *)m_cart->get_rom_base(); - if (software_entry() == nullptr) + if (!loaded_through_softlist()) { fread(ROM, size); m_type = get_cart_type(ROM, size); diff --git a/src/devices/bus/generic/slot.cpp b/src/devices/bus/generic/slot.cpp index a3db648b0e5..d081ceb5fed 100644 --- a/src/devices/bus/generic/slot.cpp +++ b/src/devices/bus/generic/slot.cpp @@ -189,9 +189,9 @@ std::string generic_slot_device::get_default_card_software() uint32_t generic_slot_device::common_get_size(const char *region) { // if we are loading from softlist, you have to specify a region - assert((software_entry() == nullptr) || (region != nullptr)); + assert(!loaded_through_softlist() || (region != nullptr)); - return (software_entry() == nullptr) ? length() : get_software_region_length(region); + return !loaded_through_softlist() ? length() : get_software_region_length(region); } /*------------------------------------------------- @@ -205,9 +205,9 @@ void generic_slot_device::common_load_rom(uint8_t *ROM, uint32_t len, const char assert((ROM != nullptr) && (len > 0)); // if we are loading from softlist, you have to specify a region - assert((software_entry() == nullptr) || (region != nullptr)); + assert(!loaded_through_softlist() || (region != nullptr)); - if (software_entry() == nullptr) + if (!loaded_through_softlist()) fread(ROM, len); else memcpy(ROM, get_software_region(region), len); diff --git a/src/devices/bus/intv/slot.cpp b/src/devices/bus/intv/slot.cpp index 63bc7da4944..d6c3bad9d3c 100644 --- a/src/devices/bus/intv/slot.cpp +++ b/src/devices/bus/intv/slot.cpp @@ -391,7 +391,7 @@ image_init_result intv_cart_slot_device::call_load() { if (m_cart) { - if (software_entry() == nullptr) + if (!loaded_through_softlist()) return load_fullpath(); else { diff --git a/src/devices/bus/iq151/iq151.cpp b/src/devices/bus/iq151/iq151.cpp index 2c478eeb8cf..4ee7a96b31f 100644 --- a/src/devices/bus/iq151/iq151.cpp +++ b/src/devices/bus/iq151/iq151.cpp @@ -171,7 +171,7 @@ image_init_result iq151cart_slot_device::call_load() if (cart_base != nullptr) { - if (software_entry() == nullptr) + if (!loaded_through_softlist()) { read_length = length(); fread(m_cart->get_cart_base(), read_length); diff --git a/src/devices/bus/isa/sc499.cpp b/src/devices/bus/isa/sc499.cpp index d443761ae2d..3d197791861 100644 --- a/src/devices/bus/isa/sc499.cpp +++ b/src/devices/bus/isa/sc499.cpp @@ -1352,7 +1352,7 @@ void sc499_ctape_image_device::call_unload() { m_ctape_data.resize(0); // TODO: add save tape on exit? - //if (software_entry() == nullptr) + //if (!loaded_through_softlist()) //{ // fseek(0, SEEK_SET); // fwrite(m_ctape_data, m_ctape_data.size); diff --git a/src/devices/bus/kc/kc.cpp b/src/devices/bus/kc/kc.cpp index ea0f9d36e36..5ac9a424bd0 100644 --- a/src/devices/bus/kc/kc.cpp +++ b/src/devices/bus/kc/kc.cpp @@ -337,7 +337,7 @@ image_init_result kccart_slot_device::call_load() if (cart_base != nullptr) { - if (software_entry() == nullptr) + if (!loaded_through_softlist()) { read_length = length(); fread(m_cart->get_cart_base(), read_length); diff --git a/src/devices/bus/m5/slot.cpp b/src/devices/bus/m5/slot.cpp index 356cf79a5ac..9498e473322 100644 --- a/src/devices/bus/m5/slot.cpp +++ b/src/devices/bus/m5/slot.cpp @@ -163,10 +163,9 @@ image_init_result m5_cart_slot_device::call_load() { m_type=M5_STD; - if (software_entry() != nullptr) + if (loaded_through_softlist()) { const char *pcb_name = get_feature("slot"); - //software_info *name=m_software_info_ptr; if (pcb_name) //is it ram cart? m_type = m5_get_pcb_id(m_full_software_name.c_str()); else @@ -175,7 +174,7 @@ image_init_result m5_cart_slot_device::call_load() if (m_type == M5_STD || m_type>2) //carts with roms { - uint32_t size = (software_entry() == nullptr) ? length() : get_software_region_length("rom"); + uint32_t size = !loaded_through_softlist() ? length() : get_software_region_length("rom"); if (size > 0x5000 && m_type == M5_STD) { @@ -185,7 +184,7 @@ image_init_result m5_cart_slot_device::call_load() m_cart->rom_alloc(size, tag()); - if (software_entry() == nullptr) + if (!loaded_through_softlist()) fread(m_cart->get_rom_base(), size); else memcpy(m_cart->get_rom_base(), get_software_region("rom"), size); diff --git a/src/devices/bus/megadrive/md_slot.cpp b/src/devices/bus/megadrive/md_slot.cpp index 2c34c4b58e3..b6d864002f5 100644 --- a/src/devices/bus/megadrive/md_slot.cpp +++ b/src/devices/bus/megadrive/md_slot.cpp @@ -332,7 +332,7 @@ image_init_result base_md_cart_slot_device::call_load() // STEP 1: load the file image and keep a copy for later banking // STEP 2: identify the cart type // The two steps are carried out differently if we are loading from a list or not - if (software_entry() == nullptr) + if (!loaded_through_softlist()) res = load_nonlist(); else res = load_list(); @@ -1008,7 +1008,7 @@ void base_md_cart_slot_device::file_logging(uint8_t *ROM8, uint32_t rom_len, uin logerror("FILE DETAILS\n"); logerror("============\n"); logerror("Name: %s\n", basename()); - logerror("File Size: 0x%08x\n", (software_entry() == nullptr) ? (int)length() : (int)get_software_region_length("rom")); + logerror("File Size: 0x%08x\n", !loaded_through_softlist() ? (int)length() : (int)get_software_region_length("rom")); logerror("Detected type: %s\n", md_get_slot(m_type)); logerror("ROM (Allocated) Size: 0x%X\n", rom_len); logerror("NVRAM: %s\n", nvram_len ? "Yes" : "No"); diff --git a/src/devices/bus/msx_slot/cartridge.cpp b/src/devices/bus/msx_slot/cartridge.cpp index d7742676d1d..0727dce6151 100644 --- a/src/devices/bus/msx_slot/cartridge.cpp +++ b/src/devices/bus/msx_slot/cartridge.cpp @@ -106,7 +106,7 @@ image_init_result msx_slot_cartridge_device::call_load() { if ( m_cartridge ) { - if ( software_entry() ) + if (loaded_through_softlist()) { uint32_t length; diff --git a/src/devices/bus/neogeo/slot.cpp b/src/devices/bus/neogeo/slot.cpp index a303f5a4d77..b4dcf7ddfff 100644 --- a/src/devices/bus/neogeo/slot.cpp +++ b/src/devices/bus/neogeo/slot.cpp @@ -239,7 +239,7 @@ image_init_result neogeo_cart_slot_device::call_load() { if (m_cart) { - if (software_entry() != nullptr) + if (loaded_through_softlist()) { uint16_t *ROM16; uint8_t *ROM8; diff --git a/src/devices/bus/nes/aladdin.cpp b/src/devices/bus/nes/aladdin.cpp index dcdd4e5e4d9..9eb9983f6b9 100644 --- a/src/devices/bus/nes/aladdin.cpp +++ b/src/devices/bus/nes/aladdin.cpp @@ -102,7 +102,7 @@ image_init_result nes_aladdin_slot_device::call_load() if (!ROM) return image_init_result::FAIL; - if (software_entry() == nullptr) + if (!loaded_through_softlist()) { if (length() != 0x20010 && length() != 0x40010) return image_init_result::FAIL; diff --git a/src/devices/bus/nes/datach.cpp b/src/devices/bus/nes/datach.cpp index 20f9998bc30..c67c077ce4a 100644 --- a/src/devices/bus/nes/datach.cpp +++ b/src/devices/bus/nes/datach.cpp @@ -102,7 +102,7 @@ image_init_result nes_datach_slot_device::call_load() return image_init_result::FAIL; // Existing Datach carts are all 256K, so we only load files of this size - if (software_entry() == nullptr) + if (!loaded_through_softlist()) { if (length() != 0x40000 && length() != 0x40010) return image_init_result::FAIL; diff --git a/src/devices/bus/nes/karastudio.cpp b/src/devices/bus/nes/karastudio.cpp index 3b847c43d87..74c9704c766 100644 --- a/src/devices/bus/nes/karastudio.cpp +++ b/src/devices/bus/nes/karastudio.cpp @@ -105,8 +105,8 @@ image_init_result nes_kstudio_slot_device::call_load() if (!ROM) return image_init_result::FAIL; - // Existing exapnsion carts are all 128K, so we only load files of this size - if (software_entry() == nullptr) + // Existing expansion carts are all 128K, so we only load files of this size + if (!loaded_through_softlist()) { if (length() != 0x20000) return image_init_result::FAIL; diff --git a/src/devices/bus/nes/nes_slot.cpp b/src/devices/bus/nes/nes_slot.cpp index 8dcb2cc7ba1..d2cf5491d69 100644 --- a/src/devices/bus/nes/nes_slot.cpp +++ b/src/devices/bus/nes/nes_slot.cpp @@ -833,7 +833,7 @@ image_init_result nes_cart_slot_device::call_load() { if (m_cart) { - if (software_entry() == nullptr) + if (!loaded_through_softlist()) { char magic[4]; diff --git a/src/devices/bus/nes/sunsoft_dcs.cpp b/src/devices/bus/nes/sunsoft_dcs.cpp index 5e3fc043259..0ad26e2374e 100644 --- a/src/devices/bus/nes/sunsoft_dcs.cpp +++ b/src/devices/bus/nes/sunsoft_dcs.cpp @@ -85,7 +85,7 @@ image_init_result nes_ntb_slot_device::call_load() if (!ROM) return image_init_result::FAIL; - if (software_entry() == nullptr) + if (!loaded_through_softlist()) { if (length() != 0x4000) return image_init_result::FAIL; diff --git a/src/devices/bus/odyssey2/slot.cpp b/src/devices/bus/odyssey2/slot.cpp index 2593647a23c..be6f1441876 100644 --- a/src/devices/bus/odyssey2/slot.cpp +++ b/src/devices/bus/odyssey2/slot.cpp @@ -162,15 +162,15 @@ image_init_result o2_cart_slot_device::call_load() { if (m_cart) { - uint32_t size = (software_entry() == nullptr) ? length() : get_software_region_length("rom"); + uint32_t size = !loaded_through_softlist() ? length() : get_software_region_length("rom"); m_cart->rom_alloc(size, tag()); - if (software_entry() == nullptr) + if (!loaded_through_softlist()) fread(m_cart->get_rom_base(), size); else memcpy(m_cart->get_rom_base(), get_software_region("rom"), size); - if (software_entry() == nullptr) + if (!loaded_through_softlist()) { m_type = O2_STD; if (size == 12288) diff --git a/src/devices/bus/pce/pce_slot.cpp b/src/devices/bus/pce/pce_slot.cpp index 99b625244af..eb6fd88965a 100644 --- a/src/devices/bus/pce/pce_slot.cpp +++ b/src/devices/bus/pce/pce_slot.cpp @@ -227,11 +227,11 @@ image_init_result pce_cart_slot_device::call_load() if (m_cart) { uint32_t offset; - uint32_t len = (software_entry() == nullptr) ? length() : get_software_region_length("rom"); + uint32_t len = !loaded_through_softlist() ? length() : get_software_region_length("rom"); uint8_t *ROM; // From fullpath, check for presence of a header and skip it - if (software_entry() == nullptr && (len % 0x4000) == 512) + if (!loaded_through_softlist() && (len % 0x4000) == 512) { logerror("Rom-header found, skipping\n"); offset = 512; @@ -242,7 +242,7 @@ image_init_result pce_cart_slot_device::call_load() m_cart->rom_alloc(len, tag()); ROM = m_cart->get_rom_base(); - if (software_entry() == nullptr) + if (!loaded_through_softlist()) fread(ROM, len); else memcpy(ROM, get_software_region("rom"), len); @@ -263,7 +263,7 @@ image_init_result pce_cart_slot_device::call_load() m_cart->rom_map_setup(len); - if (software_entry() == nullptr) + if (!loaded_through_softlist()) m_type = get_cart_type(ROM, len); else { diff --git a/src/devices/bus/plus4/exp.cpp b/src/devices/bus/plus4/exp.cpp index c3de43c3999..2bdd35361fc 100644 --- a/src/devices/bus/plus4/exp.cpp +++ b/src/devices/bus/plus4/exp.cpp @@ -125,7 +125,7 @@ image_init_result plus4_expansion_slot_device::call_load() { if (m_card) { - if (software_entry() == nullptr) + if (!loaded_through_softlist()) { // TODO } diff --git a/src/devices/bus/pofo/ccm.cpp b/src/devices/bus/pofo/ccm.cpp index db60b8e978a..edab9fa1f63 100644 --- a/src/devices/bus/pofo/ccm.cpp +++ b/src/devices/bus/pofo/ccm.cpp @@ -72,7 +72,7 @@ image_init_result portfolio_memory_card_slot_t::call_load() { if (m_card) { - if (software_entry() == nullptr) + if (!loaded_through_softlist()) { fread(m_card->m_rom, length()); } diff --git a/src/devices/bus/ql/rom.cpp b/src/devices/bus/ql/rom.cpp index 49f6224419d..c4f0ff2eb78 100644 --- a/src/devices/bus/ql/rom.cpp +++ b/src/devices/bus/ql/rom.cpp @@ -82,7 +82,7 @@ image_init_result ql_rom_cartridge_slot_t::call_load() { size_t size; - if (software_entry() == nullptr) + if (!loaded_through_softlist()) { size = length(); diff --git a/src/devices/bus/saturn/sat_slot.cpp b/src/devices/bus/saturn/sat_slot.cpp index 49e708d7cad..456b9af3d0f 100644 --- a/src/devices/bus/saturn/sat_slot.cpp +++ b/src/devices/bus/saturn/sat_slot.cpp @@ -149,18 +149,18 @@ image_init_result sat_cart_slot_device::call_load() { if (m_cart) { - bool is_rom = ((software_entry() == nullptr) || ((software_entry() != nullptr) && get_software_region("rom"))); + bool is_rom = (!loaded_through_softlist() || (loaded_through_softlist() && get_software_region("rom"))); if (is_rom) { // from fullpath, only ROM carts - uint32_t len = (software_entry() != nullptr) ? get_software_region_length("rom") : length(); + uint32_t len = loaded_through_softlist() ? get_software_region_length("rom") : length(); uint32_t *ROM; m_cart->rom_alloc(len, tag()); ROM = m_cart->get_rom_base(); - if (software_entry() != nullptr) + if (loaded_through_softlist()) memcpy(ROM, get_software_region("rom"), len); else fread(ROM, len); diff --git a/src/devices/bus/scv/slot.cpp b/src/devices/bus/scv/slot.cpp index 799f4adc78a..a0b4c3a5900 100644 --- a/src/devices/bus/scv/slot.cpp +++ b/src/devices/bus/scv/slot.cpp @@ -165,8 +165,8 @@ image_init_result scv_cart_slot_device::call_load() if (m_cart) { uint8_t *ROM; - uint32_t len = (software_entry() == nullptr) ? length() : get_software_region_length("rom"); - bool has_ram = (software_entry() != nullptr) && get_software_region("ram"); + uint32_t len = !loaded_through_softlist() ? length() : get_software_region_length("rom"); + bool has_ram = loaded_through_softlist() && get_software_region("ram"); if (len > 0x20000) { @@ -180,12 +180,12 @@ image_init_result scv_cart_slot_device::call_load() ROM = m_cart->get_rom_base(); - if (software_entry() == nullptr) + if (!loaded_through_softlist()) fread(ROM, len); else memcpy(ROM, get_software_region("rom"), len); - if (software_entry() == nullptr) + if (!loaded_through_softlist()) m_type = get_cart_type(ROM, len); else { diff --git a/src/devices/bus/sega8/sega8_slot.cpp b/src/devices/bus/sega8/sega8_slot.cpp index 92fc594389d..17216c1ec58 100644 --- a/src/devices/bus/sega8/sega8_slot.cpp +++ b/src/devices/bus/sega8/sega8_slot.cpp @@ -271,7 +271,7 @@ void sega8_cart_slot_device::set_lphaser_xoffset( uint8_t *rom, int size ) void sega8_cart_slot_device::setup_ram() { - if (software_entry() == nullptr) + if (!loaded_through_softlist()) { if (m_type == SEGA8_CASTLE) { @@ -336,7 +336,7 @@ image_init_result sega8_cart_slot_device::call_load() { if (m_cart) { - uint32_t len = (software_entry() == nullptr) ? length() : get_software_region_length("rom"); + uint32_t len = !loaded_through_softlist() ? length() : get_software_region_length("rom"); uint32_t offset = 0; uint8_t *ROM; @@ -360,7 +360,7 @@ image_init_result sega8_cart_slot_device::call_load() m_cart->rom_alloc(len, tag()); ROM = m_cart->get_rom_base(); - if (software_entry() == nullptr) + if (!loaded_through_softlist()) { fseek(offset, SEEK_SET); fread(ROM, len); @@ -372,7 +372,7 @@ image_init_result sega8_cart_slot_device::call_load() if (verify_cart(ROM, len) != image_verify_result::PASS) logerror("Warning loading image: verify_cart failed\n"); - if (software_entry() != nullptr) + if (loaded_through_softlist()) m_type = sega8_get_pcb_id(get_feature("slot") ? get_feature("slot") : "rom"); else m_type = get_cart_type(ROM, len); @@ -382,7 +382,7 @@ image_init_result sega8_cart_slot_device::call_load() setup_ram(); // Check for gamegear cartridges with PIN 42 set to SMS mode - if (software_entry() != nullptr) + if (loaded_through_softlist()) { const char *pin_42 = get_feature("pin_42"); if (pin_42 && !strcmp(pin_42, "sms_mode")) @@ -720,7 +720,7 @@ void sega8_cart_slot_device::internal_header_logging(uint8_t *ROM, uint32_t len, logerror("FILE DETAILS\n" ); logerror("============\n" ); logerror("Name: %s\n", basename()); - logerror("File Size: 0x%08x\n", (software_entry() == nullptr) ? (int)length() : (int)get_software_region_length("rom")); + logerror("File Size: 0x%08x\n", !loaded_through_softlist() ? (int)length() : (int)get_software_region_length("rom")); logerror("Detected type: %s\n", sega8_get_slot(m_type)); logerror("ROM (Allocated) Size: 0x%X\n", len); logerror("RAM: %s\n", nvram_len ? "Yes" : "No"); diff --git a/src/devices/bus/snes/snes_slot.cpp b/src/devices/bus/snes/snes_slot.cpp index ae553a7f612..10bf17645f6 100644 --- a/src/devices/bus/snes/snes_slot.cpp +++ b/src/devices/bus/snes/snes_slot.cpp @@ -609,7 +609,7 @@ image_init_result base_sns_cart_slot_device::call_load() const char *slot_name; /* Check for a header (512 bytes), and skip it if found */ - if (software_entry() == nullptr) + if (!loaded_through_softlist()) { uint32_t tmplen = length(); std::vector<uint8_t> tmpROM(tmplen); @@ -618,11 +618,11 @@ image_init_result base_sns_cart_slot_device::call_load() fseek(offset, SEEK_SET); } - len = (software_entry() == nullptr) ? (length() - offset) : get_software_region_length("rom"); + len = !loaded_through_softlist() ? (length() - offset) : get_software_region_length("rom"); m_cart->rom_alloc(len, tag()); ROM = m_cart->get_rom_base(); - if (software_entry() == nullptr) + if (!loaded_through_softlist()) fread(ROM, len); else memcpy(ROM, get_software_region("rom"), len); @@ -630,7 +630,7 @@ image_init_result base_sns_cart_slot_device::call_load() m_cart->rom_map_setup(len); // check for on-cart CPU bios - if (software_entry() != nullptr) + if (loaded_through_softlist()) { if (get_software_region("addon")) { @@ -640,7 +640,7 @@ image_init_result base_sns_cart_slot_device::call_load() } // get pcb type - if (software_entry() == nullptr) + if (!loaded_through_softlist()) get_cart_type_addon(ROM, len, m_type, m_addon); else { @@ -653,7 +653,7 @@ image_init_result base_sns_cart_slot_device::call_load() m_type = SNES_DSP_2MB; } - if (software_entry() == nullptr) + if (!loaded_through_softlist()) setup_addon_from_fullpath(); // in carts with an add-on CPU having internal dump, this speeds up access to the internal rom @@ -845,7 +845,7 @@ void base_sns_cart_slot_device::setup_nvram() { uint8_t *ROM = (uint8_t *)m_cart->get_rom_base(); uint32_t size = 0; - if (software_entry() == nullptr) + if (!loaded_through_softlist()) { int hilo_mode = snes_find_hilo_mode(this, ROM, m_cart->get_rom_size()); uint8_t sram_size = (m_type == SNES_SFX) ? (ROM[0x00ffbd] & 0x07) : (ROM[hilo_mode + 0x18] & 0x07); diff --git a/src/devices/bus/vboy/slot.cpp b/src/devices/bus/vboy/slot.cpp index d89e497a3b5..11be9933ebc 100644 --- a/src/devices/bus/vboy/slot.cpp +++ b/src/devices/bus/vboy/slot.cpp @@ -163,8 +163,8 @@ image_init_result vboy_cart_slot_device::call_load() if (m_cart) { uint8_t *ROM; - uint32_t len = (software_entry() == nullptr) ? length() : get_software_region_length("rom"); - bool has_eeprom = (software_entry() != nullptr) && get_software_region("eeprom"); + uint32_t len = !loaded_through_softlist() ? length() : get_software_region_length("rom"); + bool has_eeprom = loaded_through_softlist() && get_software_region("eeprom"); if (len > 0x200000) { @@ -180,7 +180,7 @@ image_init_result vboy_cart_slot_device::call_load() ROM = (uint8_t *)m_cart->get_rom_base(); - if (software_entry() == nullptr) + if (!loaded_through_softlist()) fread(ROM, len); else memcpy(ROM, get_software_region("rom"), len); @@ -189,7 +189,7 @@ image_init_result vboy_cart_slot_device::call_load() if (len < 0x100000) { memcpy(ROM + 0x080000, ROM, 0x080000); } if (len < 0x200000) { memcpy(ROM + 0x100000, ROM, 0x100000); } - if (software_entry() == nullptr) + if (!loaded_through_softlist()) m_type = vboy_get_pcb_id("vb_rom"); else { diff --git a/src/devices/bus/vc4000/slot.cpp b/src/devices/bus/vc4000/slot.cpp index e582831151f..572645eff81 100644 --- a/src/devices/bus/vc4000/slot.cpp +++ b/src/devices/bus/vc4000/slot.cpp @@ -174,7 +174,7 @@ image_init_result vc4000_cart_slot_device::call_load() { if (m_cart) { - uint32_t size = (software_entry() == nullptr) ? length() : get_software_region_length("rom"); + uint32_t size = !loaded_through_softlist() ? length() : get_software_region_length("rom"); if (size > 0x1800) { @@ -184,12 +184,12 @@ image_init_result vc4000_cart_slot_device::call_load() m_cart->rom_alloc(size, tag()); - if (software_entry() == nullptr) + if (!loaded_through_softlist()) fread(m_cart->get_rom_base(), size); else memcpy(m_cart->get_rom_base(), get_software_region("rom"), size); - if (software_entry() == nullptr) + if (!loaded_through_softlist()) { m_type = VC4000_STD; // attempt to identify the non-standard types diff --git a/src/devices/bus/vcs/vcs_slot.cpp b/src/devices/bus/vcs/vcs_slot.cpp index ce28ddcbbfb..17efc8d8069 100644 --- a/src/devices/bus/vcs/vcs_slot.cpp +++ b/src/devices/bus/vcs/vcs_slot.cpp @@ -189,7 +189,7 @@ image_init_result vcs_cart_slot_device::call_load() uint8_t *ROM; uint32_t len; - if (software_entry() != nullptr) + if (loaded_through_softlist()) len = get_software_region_length("rom"); else len = length(); @@ -219,7 +219,7 @@ image_init_result vcs_cart_slot_device::call_load() m_cart->rom_alloc(len, tag()); ROM = m_cart->get_rom_base(); - if (software_entry() != nullptr) + if (loaded_through_softlist()) { const char *pcb_name; bool has_ram = get_software_region("ram") ? true : false; diff --git a/src/devices/bus/vectrex/slot.cpp b/src/devices/bus/vectrex/slot.cpp index 44649a8929a..99ad846fd4c 100644 --- a/src/devices/bus/vectrex/slot.cpp +++ b/src/devices/bus/vectrex/slot.cpp @@ -152,7 +152,7 @@ image_init_result vectrex_cart_slot_device::call_load() { if (m_cart) { - uint32_t size = (software_entry() == nullptr) ? length() : get_software_region_length("rom"); + uint32_t size = !loaded_through_softlist() ? length() : get_software_region_length("rom"); uint8_t *ROM; if (size > 0x10000) @@ -164,7 +164,7 @@ image_init_result vectrex_cart_slot_device::call_load() m_cart->rom_alloc((size < 0x1000) ? 0x1000 : size, tag()); ROM = m_cart->get_rom_base(); - if (software_entry() == nullptr) + if (!loaded_through_softlist()) fread(ROM, size); else memcpy(ROM, get_software_region("rom"), size); diff --git a/src/devices/bus/vic10/exp.cpp b/src/devices/bus/vic10/exp.cpp index dc162e12f8a..cf8388d18e2 100644 --- a/src/devices/bus/vic10/exp.cpp +++ b/src/devices/bus/vic10/exp.cpp @@ -115,7 +115,7 @@ image_init_result vic10_expansion_slot_device::call_load() { size_t size; - if (software_entry() == nullptr) + if (!loaded_through_softlist()) { size = length(); diff --git a/src/devices/bus/vic20/exp.cpp b/src/devices/bus/vic20/exp.cpp index d240517cf84..feacc8546c4 100644 --- a/src/devices/bus/vic20/exp.cpp +++ b/src/devices/bus/vic20/exp.cpp @@ -112,7 +112,7 @@ image_init_result vic20_expansion_slot_device::call_load() { if (m_card) { - if (software_entry() == nullptr) + if (!loaded_through_softlist()) { if (is_filetype("20")) fread(m_card->m_blk1, 0x2000); else if (is_filetype("40")) fread(m_card->m_blk2, 0x2000); diff --git a/src/devices/bus/vidbrain/exp.cpp b/src/devices/bus/vidbrain/exp.cpp index b58e981c66b..a91c6a6a88e 100644 --- a/src/devices/bus/vidbrain/exp.cpp +++ b/src/devices/bus/vidbrain/exp.cpp @@ -119,7 +119,7 @@ image_init_result videobrain_expansion_slot_device::call_load() { size_t size; - if (software_entry() == nullptr) + if (!loaded_through_softlist()) { size = length(); diff --git a/src/devices/bus/wswan/slot.cpp b/src/devices/bus/wswan/slot.cpp index de0b0393179..0472cfa2ad5 100644 --- a/src/devices/bus/wswan/slot.cpp +++ b/src/devices/bus/wswan/slot.cpp @@ -165,18 +165,18 @@ image_init_result ws_cart_slot_device::call_load() if (m_cart) { uint8_t *ROM; - uint32_t size = (software_entry() == nullptr) ? length() : get_software_region_length("rom"); + uint32_t size = !loaded_through_softlist() ? length() : get_software_region_length("rom"); uint32_t nvram_size = 0; m_cart->rom_alloc(size, tag()); ROM = m_cart->get_rom_base(); - if (software_entry() == nullptr) + if (!loaded_through_softlist()) fread(ROM, size); else memcpy(ROM, get_software_region("rom"), size); - if (software_entry() == nullptr) + if (!loaded_through_softlist()) { int chunks = size / 0x10000; // get cart type and nvram length diff --git a/src/devices/bus/z88/z88.cpp b/src/devices/bus/z88/z88.cpp index 193d483a147..c9965987a92 100644 --- a/src/devices/bus/z88/z88.cpp +++ b/src/devices/bus/z88/z88.cpp @@ -125,7 +125,7 @@ image_init_result z88cart_slot_device::call_load() if (cart_base != nullptr) { - if (software_entry() == nullptr) + if (!loaded_through_softlist()) { read_length = length(); fread(cart_base + (m_cart->get_cart_size() - read_length), read_length); diff --git a/src/devices/imagedev/chd_cd.cpp b/src/devices/imagedev/chd_cd.cpp index 103806c1e62..166fdf7945c 100644 --- a/src/devices/imagedev/chd_cd.cpp +++ b/src/devices/imagedev/chd_cd.cpp @@ -94,7 +94,7 @@ image_init_result cdrom_image_device::call_load() if (m_cdrom_handle) cdrom_close(m_cdrom_handle); - if (software_entry() == nullptr) + if (!loaded_through_softlist()) { if (is_filetype("chd") && is_loaded()) { err = m_self_chd.open( image_core_file() ); /* CDs are never writeable */ diff --git a/src/devices/imagedev/diablo.cpp b/src/devices/imagedev/diablo.cpp index 58f17793b2a..5852da4a58e 100644 --- a/src/devices/imagedev/diablo.cpp +++ b/src/devices/imagedev/diablo.cpp @@ -214,7 +214,7 @@ image_init_result diablo_image_device::internal_load_dsk() hard_disk_close(m_hard_disk_handle); /* open the CHD file */ - if (software_entry() != nullptr) + if (loaded_through_softlist()) { m_chd = device().machine().rom_load().get_disk_handle(device().subtag("harddriv").c_str()); } diff --git a/src/devices/imagedev/harddriv.cpp b/src/devices/imagedev/harddriv.cpp index a6e0276b8ff..355b43bcb65 100644 --- a/src/devices/imagedev/harddriv.cpp +++ b/src/devices/imagedev/harddriv.cpp @@ -244,7 +244,7 @@ image_init_result harddisk_image_device::internal_load_hd() } /* open the CHD file */ - if (software_entry() != nullptr) + if (loaded_through_softlist()) { m_chd = machine().rom_load().get_disk_handle(device().subtag("harddriv").c_str()); } |