mirror of
https://github.com/copy/v86.git
synced 2026-01-06 15:31:59 +00:00
Allow restoring state via user interface
This commit is contained in:
parent
25e5a5bafb
commit
4fbd4603a0
3 changed files with 49 additions and 1 deletions
|
|
@ -135,7 +135,8 @@
|
|||
<input type="button" value="Get HDA image" id="get_hda_image">
|
||||
<input type="button" value="Get HDB image" id="get_hdb_image">
|
||||
<input type="button" value="Save State" id="save_state">
|
||||
<input type="button" value="Memory Dump" id="memory_dump">
|
||||
<input type="button" value="Load State" id="load_state"> <input type="file" style="display: none" id="load_state_input">
|
||||
<input type="button" value="Memory Dump (raw)" id="memory_dump">
|
||||
<input type="button" value="Disable mouse" id="toggle_mouse">
|
||||
<input type="button" value="Lock mouse" id="lock_mouse">
|
||||
<input type="button" value="Go fullscreen" id="fullscreen">
|
||||
|
|
|
|||
|
|
@ -106,6 +106,7 @@
|
|||
<input type="button" value="Get HDA image" id="get_hda_image">
|
||||
<input type="button" value="Get HDB image" id="get_hdb_image">
|
||||
<input type="button" value="Save State" id="save_state">
|
||||
<input type="button" value="Load State" id="load_state"> <input type="file" style="display: none" id="load_state_input">
|
||||
<input type="button" value="Memory Dump" id="memory_dump">
|
||||
<input type="button" value="Disable mouse" id="toggle_mouse">
|
||||
<input type="button" value="Lock mouse" id="lock_mouse">
|
||||
|
|
|
|||
|
|
@ -905,6 +905,52 @@
|
|||
$("save_state").blur();
|
||||
};
|
||||
|
||||
$("load_state").onclick = function()
|
||||
{
|
||||
$("load_state_input").click();
|
||||
$("load_state").blur();
|
||||
};
|
||||
|
||||
$("load_state_input").onchange = function()
|
||||
{
|
||||
var file = this.files[0];
|
||||
|
||||
if(!file)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var was_running = emulator.is_running();
|
||||
|
||||
if(was_running)
|
||||
{
|
||||
emulator.stop();
|
||||
}
|
||||
|
||||
var filereader = new FileReader();
|
||||
filereader.onload = function(e)
|
||||
{
|
||||
try
|
||||
{
|
||||
emulator.restore_state(e.target.result);
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
alert("Something bad happened while restoring the state:\n" + e + "\n\n" +
|
||||
"Note that the current configuration must be the same as the original");
|
||||
throw e;
|
||||
}
|
||||
|
||||
if(was_running)
|
||||
{
|
||||
emulator.run();
|
||||
}
|
||||
};
|
||||
filereader.readAsArrayBuffer(file);
|
||||
|
||||
this.value = "";
|
||||
};
|
||||
|
||||
$("ctrlaltdel").onclick = function()
|
||||
{
|
||||
emulator.keyboard_send_scancodes([
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue