mirror of
https://github.com/pkimpel/retro-b5500.git
synced 2026-02-12 03:07:30 +00:00
83 lines
2.3 KiB
HTML
83 lines
2.3 KiB
HTML
<!DOCTYPE html>
|
|
<head>
|
|
<title>B5500 Emulator Fix StorageNames</title>
|
|
<meta name="Author" content="Nigel Williams & Paul Kimpel">
|
|
<!--
|
|
2014-08-30 Original version
|
|
2015-04-17 Add "db=" URL parameter
|
|
-->
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
<meta http-equiv="Content-Script-Type" content="text/javascript">
|
|
<meta http-equiv="Content-Style-Type" content="text/css">
|
|
|
|
<script>
|
|
var configName = "retro-B5500-Config";
|
|
var storageName = "B5500DiskUnit";
|
|
|
|
window.addEventListener("load", function(ev) {
|
|
var req;
|
|
|
|
/**************************************/
|
|
function getDBName(defaultName) {
|
|
/* Parses the URL query string for a "db=name" parameter. If "db" is
|
|
found, returns the corresponding name; if not found, returns "defaultName" */
|
|
var args;
|
|
var i;
|
|
var name;
|
|
var search = location.search.substring(1); // drop the "?"
|
|
var value = defaultName;
|
|
var x;
|
|
|
|
args = search.split("&");
|
|
for (x=args.length-1; x>=0; --x) {
|
|
i = args[x].indexOf("=");
|
|
if (i > 0 ) {
|
|
name = decodeURIComponent(args[x].substring(0, i));
|
|
if (name.toLowerCase() == "db") {
|
|
value = decodeURIComponent(args[x].substring(i+1));
|
|
break; // out of for loop
|
|
}
|
|
}
|
|
}
|
|
|
|
return value;
|
|
}
|
|
|
|
/***************************************/
|
|
|
|
storageName = getDBName(storageName);
|
|
|
|
req = window.indexedDB.open(configName);
|
|
|
|
req.onerror = function(ev) {
|
|
alert("Cannot open \"" + configName + "\" database:\n" + ev.target.error);
|
|
};
|
|
|
|
req.onblocked = function(ev) {
|
|
alert("Database open is BLOCKED");
|
|
};
|
|
|
|
req.onsuccess = function(ev) {
|
|
var db = ev.target.result;
|
|
var req;
|
|
var txn = db.transaction("StorageNames", "readwrite");
|
|
|
|
db.onerror = function(ev) {
|
|
alert("Database error: " + ev.target.error);
|
|
};
|
|
|
|
req = txn.objectStore("StorageNames").put(storageName);
|
|
|
|
txn.oncomplete = function(ev) {
|
|
alert("Disk Storage name \"" + storageName + "\"\n successfully added.");
|
|
};
|
|
};
|
|
});
|
|
</script>
|
|
</head>
|
|
|
|
<body>
|
|
<h2>Fix System Config StorageNames Store!</h2>
|
|
|
|
</body>
|
|
</html> |