From 668151505998a83afcc91da3446e2b42d8eef339 Mon Sep 17 00:00:00 2001 From: Robbbert Date: Sun, 14 Apr 2019 10:29:35 +1000 Subject: [PATCH] (nw) softlists: offset is now optional and defaults to 0. [hap] Modified sorcerer_cass.xml as an example. --- hash/sorcerer_cass.xml | 190 ++++++++++++++++++++--------------------- src/emu/softlist.cpp | 11 +-- 2 files changed, 99 insertions(+), 102 deletions(-) diff --git a/hash/sorcerer_cass.xml b/hash/sorcerer_cass.xml index ada31c9739c..23f100f459d 100644 --- a/hash/sorcerer_cass.xml +++ b/hash/sorcerer_cass.xml @@ -20,7 +20,7 @@ Compiled by Robbbert - + @@ -32,7 +32,7 @@ Compiled by Robbbert - + @@ -45,7 +45,7 @@ Compiled by Robbbert - + @@ -57,7 +57,7 @@ Compiled by Robbbert - + @@ -70,7 +70,7 @@ Compiled by Robbbert - + @@ -83,7 +83,7 @@ Compiled by Robbbert - + @@ -96,7 +96,7 @@ Compiled by Robbbert - + @@ -109,7 +109,7 @@ Compiled by Robbbert - + @@ -120,7 +120,7 @@ Compiled by Robbbert - + @@ -132,7 +132,7 @@ Compiled by Robbbert - + @@ -144,7 +144,7 @@ Compiled by Robbbert - + @@ -162,7 +162,7 @@ Compiled by Robbbert - + @@ -174,7 +174,7 @@ Compiled by Robbbert - + @@ -186,7 +186,7 @@ Compiled by Robbbert - + @@ -199,7 +199,7 @@ Compiled by Robbbert - + @@ -211,7 +211,7 @@ Compiled by Robbbert - + @@ -222,7 +222,7 @@ Compiled by Robbbert - + @@ -235,7 +235,7 @@ Compiled by Robbbert - + @@ -248,7 +248,7 @@ Compiled by Robbbert - + @@ -261,7 +261,7 @@ Compiled by Robbbert - + @@ -274,7 +274,7 @@ Compiled by Robbbert - + @@ -286,7 +286,7 @@ Compiled by Robbbert - + @@ -298,7 +298,7 @@ Compiled by Robbbert - + @@ -310,7 +310,7 @@ Compiled by Robbbert - + @@ -323,7 +323,7 @@ Compiled by Robbbert - + @@ -335,7 +335,7 @@ Compiled by Robbbert - + @@ -348,7 +348,7 @@ Compiled by Robbbert - + @@ -360,7 +360,7 @@ Compiled by Robbbert - + @@ -372,7 +372,7 @@ Compiled by Robbbert - + @@ -384,7 +384,7 @@ Compiled by Robbbert - + @@ -396,7 +396,7 @@ Compiled by Robbbert - + @@ -408,7 +408,7 @@ Compiled by Robbbert - + @@ -421,7 +421,7 @@ Compiled by Robbbert - + @@ -439,7 +439,7 @@ Compiled by Robbbert - + @@ -451,7 +451,7 @@ Compiled by Robbbert - + @@ -463,7 +463,7 @@ Compiled by Robbbert - + @@ -475,7 +475,7 @@ Compiled by Robbbert - + @@ -487,7 +487,7 @@ Compiled by Robbbert - + @@ -500,7 +500,7 @@ Compiled by Robbbert - + @@ -513,7 +513,7 @@ Compiled by Robbbert - + @@ -525,7 +525,7 @@ Compiled by Robbbert - + @@ -537,7 +537,7 @@ Compiled by Robbbert - + @@ -549,7 +549,7 @@ Compiled by Robbbert - + @@ -562,7 +562,7 @@ Compiled by Robbbert - + @@ -575,7 +575,7 @@ Compiled by Robbbert - + @@ -588,7 +588,7 @@ Compiled by Robbbert - + @@ -601,7 +601,7 @@ Compiled by Robbbert - + @@ -613,7 +613,7 @@ Compiled by Robbbert - + @@ -625,7 +625,7 @@ Compiled by Robbbert - + @@ -638,7 +638,7 @@ Compiled by Robbbert - + @@ -650,7 +650,7 @@ Compiled by Robbbert - + @@ -663,7 +663,7 @@ Compiled by Robbbert - + @@ -676,7 +676,7 @@ Compiled by Robbbert - + @@ -688,7 +688,7 @@ Compiled by Robbbert - + @@ -701,7 +701,7 @@ Compiled by Robbbert - + @@ -713,7 +713,7 @@ Compiled by Robbbert - + @@ -726,7 +726,7 @@ Compiled by Robbbert - + @@ -739,7 +739,7 @@ Compiled by Robbbert - + @@ -752,7 +752,7 @@ Compiled by Robbbert - + @@ -764,7 +764,7 @@ Compiled by Robbbert - + @@ -775,7 +775,7 @@ Compiled by Robbbert - + @@ -787,7 +787,7 @@ Compiled by Robbbert - + @@ -800,7 +800,7 @@ Compiled by Robbbert - + @@ -812,7 +812,7 @@ Compiled by Robbbert - + @@ -824,7 +824,7 @@ Compiled by Robbbert - + @@ -835,7 +835,7 @@ Compiled by Robbbert - + @@ -846,7 +846,7 @@ Compiled by Robbbert - + @@ -857,7 +857,7 @@ Compiled by Robbbert - + @@ -868,7 +868,7 @@ Compiled by Robbbert - + @@ -880,7 +880,7 @@ Compiled by Robbbert - + @@ -892,7 +892,7 @@ Compiled by Robbbert - + @@ -904,7 +904,7 @@ Compiled by Robbbert - + @@ -915,7 +915,7 @@ Compiled by Robbbert - + @@ -927,7 +927,7 @@ Compiled by Robbbert - + @@ -939,7 +939,7 @@ Compiled by Robbbert - + @@ -951,7 +951,7 @@ Compiled by Robbbert - + @@ -963,7 +963,7 @@ Compiled by Robbbert - + @@ -974,7 +974,7 @@ Compiled by Robbbert - + @@ -985,7 +985,7 @@ Compiled by Robbbert - + @@ -997,7 +997,7 @@ Compiled by Robbbert - + @@ -1010,7 +1010,7 @@ Compiled by Robbbert - + @@ -1022,7 +1022,7 @@ Compiled by Robbbert - + @@ -1033,7 +1033,7 @@ Compiled by Robbbert - + @@ -1045,7 +1045,7 @@ Compiled by Robbbert - + @@ -1057,7 +1057,7 @@ Compiled by Robbbert - + @@ -1070,7 +1070,7 @@ Compiled by Robbbert - + @@ -1083,7 +1083,7 @@ Compiled by Robbbert - + @@ -1096,7 +1096,7 @@ Compiled by Robbbert - + @@ -1108,7 +1108,7 @@ Compiled by Robbbert - + @@ -1120,7 +1120,7 @@ Compiled by Robbbert - + @@ -1132,7 +1132,7 @@ Compiled by Robbbert - + @@ -1144,7 +1144,7 @@ Compiled by Robbbert - + @@ -1156,7 +1156,7 @@ Compiled by Robbbert - + @@ -1168,7 +1168,7 @@ Compiled by Robbbert - + @@ -1179,7 +1179,7 @@ Compiled by Robbbert - + diff --git a/src/emu/softlist.cpp b/src/emu/softlist.cpp index 1db2879fcda..494799a2992 100644 --- a/src/emu/softlist.cpp +++ b/src/emu/softlist.cpp @@ -694,10 +694,10 @@ void softlist_parser::parse_data_start(const char *tagname, const char **attribu std::string &value = attrvalues[5]; const std::string &status = attrvalues[6]; const std::string &loadflag = attrvalues[7]; - if (!sizestr.empty() && !offsetstr.empty()) + if (!sizestr.empty()) { u32 length = strtol(sizestr.c_str(), nullptr, 0); - u32 offset = strtol(offsetstr.c_str(), nullptr, 0); + u32 offset = !offsetstr.empty() ? 0 : strtol(offsetstr.c_str(), nullptr, 0); if (loadflag == "reload") add_rom_entry("", "", offset, length, ROMENTRYTYPE_RELOAD | ROM_INHERITFLAGS); @@ -707,6 +707,8 @@ void softlist_parser::parse_data_start(const char *tagname, const char **attribu add_rom_entry("", "", offset, length, ROMENTRYTYPE_CONTINUE | ROM_INHERITFLAGS); else if (loadflag == "fill") add_rom_entry("", std::move(value), offset, length, ROMENTRYTYPE_FILL); + else if (loadflag == "ignore") + add_rom_entry("", "", 0, length, ROMENTRYTYPE_IGNORE | ROM_INHERITFLAGS); else if (!name.empty()) { bool baddump = (status == "baddump"); @@ -745,11 +747,6 @@ void softlist_parser::parse_data_start(const char *tagname, const char **attribu else parse_error("Rom name missing"); } - else if (!sizestr.empty() && !loadflag.empty() && loadflag == "ignore") - { - u32 length = strtol(sizestr.c_str(), nullptr, 0); - add_rom_entry("", "", 0, length, ROMENTRYTYPE_IGNORE | ROM_INHERITFLAGS); - } else parse_error("Incomplete rom definition"); }