Expose memory dump and state in non-debug interface

This commit is contained in:
copy 2015-01-19 22:21:13 +01:00
parent 08637cf1ee
commit d7075f006c
3 changed files with 30 additions and 24 deletions

View file

@ -119,7 +119,6 @@
<input type="button" value="Dump GDT/LDT" id="dump_gdt">
<input type="button" value="Dump IDT" id="dump_idt">
<input type="button" value="Dump page tables" id="dump_pt">
<input type="button" value="Memory Dump" id="memory_dump">
<br>
<input type="button" value="Pause" id="run">
@ -132,6 +131,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="Memory Dump" 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">

View file

@ -110,6 +110,8 @@
<input type="button" value="Get floppy image" id="get_fdb_image">
<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="Disable mouse" id="toggle_mouse">
<input type="button" value="Lock mouse" id="lock_mouse">
<input type="button" value="Go fullscreen" id="fullscreen">

View file

@ -485,6 +485,10 @@
});
};
/**
* @param {Object} settings
* @param {V86Starter} emulator
*/
function init_ui(settings, emulator)
{
$("boot_options").style.display = "none";
@ -691,6 +695,29 @@
}
}
$("memory_dump").onclick = function()
{
dump_file(emulator.v86.cpu.memory.buffer, "v86memory.bin");
$("memory_dump").blur();
};
$("save_state").onclick = function()
{
emulator.save_state(function(error, result)
{
if(error)
{
console.log("Couldn't save state: ", error);
}
else
{
dump_file(result, "v86state.bin");
}
});
$("save_state").blur();
};
$("ctrlaltdel").onclick = function()
{
emulator.keyboard_send_scancodes([
@ -803,29 +830,6 @@
}
};
$("memory_dump").onclick = function()
{
dump_file(debug.get_memory_dump(), "v86-memory.bin");
$("memory_dump").blur();
};
$("save_state").onclick = function()
{
emulator.save_state(function(error, result)
{
if(error)
{
console.log("Couldn't save state: ", error);
}
else
{
dump_file(result, "v86state.bin");
}
});
$("save_state").blur();
};
// helps debugging
window.emulator = emulator;
window.cpu = emulator.v86.cpu;