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