summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/emuopts.c
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2012-09-05 10:30:30 +0000
committer Miodrag Milanovic <mmicko@gmail.com>2012-09-05 10:30:30 +0000
commit913ee29d76c7334fa2a35e344028cd88cce59804 (patch)
tree585d4bb82abda142bfed890f613c533e5250b67f /src/emu/emuopts.c
parentf6c7aa39ba49bb71f9d46c89182bad85d84474ca (diff)
Made core able to use bios selection per slot device [Miodrag Milanovic]
Sample of usage : mess kc85_4 -exp d004gide,bios=v31 Will need to cleanup handling of sub options to make it more robust and able to validate
Diffstat (limited to 'src/emu/emuopts.c')
-rw-r--r--src/emu/emuopts.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/emu/emuopts.c b/src/emu/emuopts.c
index 193913ab8f4..3b35b59afe0 100644
--- a/src/emu/emuopts.c
+++ b/src/emu/emuopts.c
@@ -565,3 +565,31 @@ bool emu_options::parse_one_ini(const char *basename, int priority, astring *err
return result;
}
+
+
+const char *emu_options::main_value(astring &buffer, const char *name) const
+{
+ buffer = value(name);
+ int pos = buffer.chr(0,',');
+ if (pos!=-1) {
+ buffer = buffer.substr(0,pos);
+ }
+ return buffer.cstr();
+}
+
+const char *emu_options::sub_value(astring &buffer, const char *name, const char *subname) const
+{
+ astring tmp = ",";
+ tmp.cat(subname);
+ tmp.cat("=");
+ buffer = value(name);
+ int pos = buffer.find(0,tmp);
+ if (pos!=-1) {
+ int endpos = buffer.chr(pos+1,',');
+ if(endpos==-1) endpos = buffer.len();
+ buffer = buffer.substr(pos+tmp.len(),endpos-pos-tmp.len());
+ } else {
+ buffer ="";
+ }
+ return buffer.cstr();
+}