mirror of
https://github.com/whscullin/apple2js.git
synced 2024-01-12 14:14:38 +00:00
Support loading dsk files via http
This commit is contained in:
parent
9e4da2c153
commit
635f33a209
|
@ -243,6 +243,30 @@ function openManage() {
|
||||||
$("#manage").dialog("open");
|
$("#manage").dialog("open");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function loadHTTP(url, cb) {
|
||||||
|
loading = true;
|
||||||
|
$("#loading").dialog("open");
|
||||||
|
|
||||||
|
var req = new XMLHttpRequest();
|
||||||
|
req.open("GET", url, true);
|
||||||
|
req.responseType = "arraybuffer";
|
||||||
|
|
||||||
|
req.onload = function(event) {
|
||||||
|
var parts = url.split(/[\/\.]/);
|
||||||
|
var name = decodeURIComponent(parts[parts.length - 2]);
|
||||||
|
var ext = parts[parts.length - 1].toLowerCase();
|
||||||
|
if (disk2.setBinary(_saveDrive, name, ext, req.response)) {
|
||||||
|
$("#disklabel" + _saveDrive).text(name);
|
||||||
|
$("#loading").dialog("close");
|
||||||
|
loading = false;
|
||||||
|
if (cb) {
|
||||||
|
cb();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
req.send(null);
|
||||||
|
}
|
||||||
|
|
||||||
var prefs = new Prefs();
|
var prefs = new Prefs();
|
||||||
var runTimer = null;
|
var runTimer = null;
|
||||||
var cpu = new CPU6502();
|
var cpu = new CPU6502();
|
||||||
|
@ -488,9 +512,13 @@ function run(pc) {
|
||||||
hashtag = document.location.hash;
|
hashtag = document.location.hash;
|
||||||
filename = hup()
|
filename = hup()
|
||||||
if (filename) {
|
if (filename) {
|
||||||
|
if (filename.indexOf("://") > 0) {
|
||||||
|
loadHTTP(disk);
|
||||||
|
} else {
|
||||||
loadAjax("json/disks/" + filename + ".json");
|
loadAjax("json/disks/" + filename + ".json");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (!loading) {
|
if (!loading) {
|
||||||
running = true;
|
running = true;
|
||||||
cpu.stepCycles(step);
|
cpu.stepCycles(step);
|
||||||
|
@ -914,12 +942,12 @@ $(function() {
|
||||||
|
|
||||||
// Check for disks in hashtag
|
// Check for disks in hashtag
|
||||||
|
|
||||||
var disk = gup("disk") || hup();
|
var filename = gup("disk") || hup();
|
||||||
if (disk) {
|
if (filename) {
|
||||||
if (disk.indexOf("://") > 0) {
|
if (filename.indexOf("://") > 0) {
|
||||||
loadAjax(disk);
|
loadHTTP(filename);
|
||||||
} else {
|
} else {
|
||||||
loadAjax("json/disks/" + disk + ".json");
|
loadAjax("json/disks/" + filename + ".json");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -932,9 +960,6 @@ $(function() {
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div style="margin: auto; width: 604px">
|
<div style="margin: auto; width: 604px">
|
||||||
<!--
|
|
||||||
<span style="font-size: 24px" class="motter">apple ][js</span>
|
|
||||||
-->
|
|
||||||
<a href="http://www.w3.org/html/logo/"><img src="http://www.w3.org/html/logo/badge/html5-badge-h-solo.png" width="63" height="64" alt="HTML5 Powered" title="HTML5 Powered" style="float: right"></a>
|
<a href="http://www.w3.org/html/logo/"><img src="http://www.w3.org/html/logo/badge/html5-badge-h-solo.png" width="63" height="64" alt="HTML5 Powered" title="HTML5 Powered" style="float: right"></a>
|
||||||
<a href="about.html" target="_blank">
|
<a href="about.html" target="_blank">
|
||||||
<img src="img/badge.png" id="badge" />
|
<img src="img/badge.png" id="badge" />
|
||||||
|
|
|
@ -486,9 +486,13 @@ function run(pc) {
|
||||||
hashtag = document.location.hash;
|
hashtag = document.location.hash;
|
||||||
filename = hup()
|
filename = hup()
|
||||||
if (filename) {
|
if (filename) {
|
||||||
|
if (filename.indexOf("://") > 0) {
|
||||||
|
loadHTTP(disk);
|
||||||
|
} else {
|
||||||
loadAjax("json/disks/" + filename + ".json");
|
loadAjax("json/disks/" + filename + ".json");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (!loading) {
|
if (!loading) {
|
||||||
mmu.resetVB();
|
mmu.resetVB();
|
||||||
running = true;
|
running = true;
|
||||||
|
@ -925,12 +929,12 @@ $(function() {
|
||||||
|
|
||||||
// Check for disks in hashtag
|
// Check for disks in hashtag
|
||||||
|
|
||||||
var disk = gup("disk") || hup();
|
var filename = gup("disk") || hup();
|
||||||
if (disk) {
|
if (filename) {
|
||||||
if (disk.indexOf("://") > 0) {
|
if (filename.indexOf("://") > 0) {
|
||||||
loadAjax(disk);
|
loadHTTP(filename);
|
||||||
} else {
|
} else {
|
||||||
loadAjax("json/disks/" + disk + ".json");
|
loadAjax("json/disks/" + filename + ".json");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user