Avoid ram allocation if state is restored
This commit is contained in:
parent
9d1dc4de96
commit
7a6dc0f7e5
|
@ -176,9 +176,6 @@
|
|||
|
||||
start_emulation({
|
||||
settings: settings,
|
||||
done: function(emulator) {
|
||||
emulator.run();
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
|
@ -408,11 +405,13 @@
|
|||
|
||||
function done(emulator)
|
||||
{
|
||||
emulator.run();
|
||||
|
||||
if(query_args["c"])
|
||||
{
|
||||
emulator.serial0_send(query_args["c"] + "\n");
|
||||
setTimeout(function()
|
||||
{
|
||||
//emulator.serial0_send(query_args["c"] + "\n");
|
||||
emulator.keyboard_send_text(query_args["c"] + "\n");
|
||||
}, 25);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -568,6 +567,8 @@
|
|||
|
||||
"initial_state": settings.initial_state,
|
||||
"filesystem": settings.filesystem || {},
|
||||
|
||||
"autostart": true,
|
||||
});
|
||||
|
||||
emulator.add_listener("emulator-ready", function()
|
||||
|
@ -579,7 +580,7 @@
|
|||
|
||||
init_ui(settings, emulator);
|
||||
|
||||
result.done(emulator);
|
||||
result.done && result.done(emulator);
|
||||
});
|
||||
|
||||
emulator.add_listener("download-progress", function(e)
|
||||
|
|
|
@ -356,6 +356,11 @@ function V86Starter(options)
|
|||
|
||||
function done()
|
||||
{
|
||||
if(settings.initial_state)
|
||||
{
|
||||
settings.no_initial_alloc = true;
|
||||
}
|
||||
|
||||
this.bus.send("cpu-init", settings);
|
||||
|
||||
setTimeout(function()
|
||||
|
|
|
@ -562,7 +562,7 @@ CPU.prototype.reset = function()
|
|||
CPU.prototype.init = function(settings, device_bus)
|
||||
{
|
||||
this.memory_size = settings.memory_size || 1024 * 1024 * 64;
|
||||
this.memory = new Memory(this.memory_size);
|
||||
this.memory = new Memory(this.memory_size, settings.no_initial_alloc);
|
||||
|
||||
this.reset();
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
* @constructor
|
||||
* @param {number} memory_size
|
||||
*/
|
||||
function Memory(memory_size)
|
||||
function Memory(memory_size, no_alloc)
|
||||
{
|
||||
this.size = memory_size;
|
||||
|
||||
|
@ -24,11 +24,22 @@ function Memory(memory_size)
|
|||
|
||||
dbg_assert((memory_size & MMAP_BLOCK_SIZE - 1) === 0);
|
||||
|
||||
var buffer = new ArrayBuffer(memory_size);
|
||||
if(no_alloc)
|
||||
{
|
||||
var buffer = new ArrayBuffer(0);
|
||||
|
||||
this.mem8 = new Uint8Array(buffer);
|
||||
this.mem16 = new Uint16Array(buffer);
|
||||
this.mem32s = new Int32Array(buffer);
|
||||
this.mem8 = new Uint8Array(buffer);
|
||||
this.mem16 = new Uint16Array(buffer);
|
||||
this.mem32s = new Int32Array(buffer);
|
||||
}
|
||||
else
|
||||
{
|
||||
var buffer = new ArrayBuffer(memory_size);
|
||||
|
||||
this.mem8 = new Uint8Array(buffer);
|
||||
this.mem16 = new Uint16Array(buffer);
|
||||
this.mem32s = new Int32Array(buffer);
|
||||
}
|
||||
};
|
||||
|
||||
Memory.prototype.get_state = function()
|
||||
|
|
Loading…
Reference in a new issue