Update to v094r44 release.

byuu says:

Changelog:
- return open bus instead of mirroring addresses on the bus (fixes
  Mario&Luigi, Minish Cap, etc) [Jonas Quinn]
- add boolean flag to load requests for slotted game carts (fixes slot
  load prompts)
- rename BS-X Town cart from psram to ram
- icarus: add support for game database

Note: I didn't rename "bsx" to "mcc" in the database for icarus before
uploading that. But I just fixed it locally, so it'll be in the next
WIP. For now, make it create the manifest for you and then rename it
yourself. I did fix the PSRAM size to 256kbit.
This commit is contained in:
Tim Allen
2015-09-28 21:56:46 +10:00
parent 0c87bdabed
commit 483fc81356
57 changed files with 14259 additions and 719 deletions

View File

@@ -33,7 +33,7 @@ private:
};
auto CML::parse(const string& filename) -> string {
if(!settings.path) settings.path = filename.pathname();
if(!settings.path) settings.path = pathname(filename);
string document = settings.reader ? settings.reader(filename) : string::read(filename);
parseDocument(document, settings.path, 0);
return state.output;
@@ -61,7 +61,7 @@ auto CML::parseDocument(const string& filedata, const string& pathname, unsigned
name.ltrim("include ", 1L);
string filename{pathname, name};
string document = settings.reader ? settings.reader(filename) : string::read(filename);
parseDocument(document, filename.pathname(), depth + 1);
parseDocument(document, nall::pathname(filename), depth + 1);
continue;
}
@@ -80,10 +80,10 @@ auto CML::parseDocument(const string& filedata, const string& pathname, unsigned
while(auto offset = value.find("var(")) {
bool found = false;
if(auto length = value.findFrom(*offset, ")")) {
string name = value.slice(*offset + 4, *length - 4);
string name = slice(value, *offset + 4, *length - 4);
for(auto& variable : variables) {
if(variable.name == name) {
value = {value.slice(0, *offset), variable.value, value.slice(*offset + *length + 1)};
value = {slice(value, 0, *offset), variable.value, slice(value, *offset + *length + 1)};
found = true;
break;
}