mirror of
https://github.com/exoticorn/microw8.git
synced 2026-01-20 19:26:43 +01:00
Prepare 0.1.1 release
add devkit mode to web runtime add unpack and compile commands to uw8
This commit is contained in:
@@ -10,7 +10,7 @@
|
||||
</head>
|
||||
<body>
|
||||
<div id="uw8">
|
||||
<a href="https://exoticorn.github.io/microw8">MicroW8</a> 0.1.0
|
||||
<a href="https://exoticorn.github.io/microw8">MicroW8</a> 0.1.1
|
||||
</div>
|
||||
<div id="centered">
|
||||
<canvas id="screen" width="320" height="240">
|
||||
|
||||
@@ -13,6 +13,8 @@ let screen = document.getElementById('screen');
|
||||
let canvasCtx = screen.getContext('2d');
|
||||
let imageData = canvasCtx.createImageData(320, 240);
|
||||
|
||||
let devkitMode;
|
||||
|
||||
let cancelFunction;
|
||||
|
||||
let currentData;
|
||||
@@ -51,7 +53,7 @@ let keyHandler = (e) => {
|
||||
break;
|
||||
case 'KeyR':
|
||||
if (isKeyDown) {
|
||||
runModule(currentData);
|
||||
runModule(currentData, true);
|
||||
}
|
||||
break;
|
||||
case 'F9':
|
||||
@@ -110,7 +112,11 @@ async function runModule(data, keepUrl) {
|
||||
screen.width = screen.width;
|
||||
|
||||
try {
|
||||
let memory = new WebAssembly.Memory({ initial: 4, maximum: 4 });
|
||||
let memSize = { initial: 4 };
|
||||
if(!devkitMode) {
|
||||
memSize.maximum = 4;
|
||||
}
|
||||
let memory = new WebAssembly.Memory({ initial: 4, maximum: devkitMode ? 16 : 4 });
|
||||
let memU8 = U8(memory.buffer);
|
||||
|
||||
let importObject = {
|
||||
@@ -122,7 +128,7 @@ async function runModule(data, keepUrl) {
|
||||
let loader;
|
||||
|
||||
let loadModuleData = (data) => {
|
||||
if (U8(data)[0] != 0) {
|
||||
if (loader && (!devkitMode || U8(data)[0] != 0)) {
|
||||
memU8.set(U8(data));
|
||||
let length = loader.exports.load_uw8(data.byteLength);
|
||||
data = new ArrayBuffer(length);
|
||||
@@ -293,11 +299,16 @@ async function runModuleFromURL(url, keepUrl) {
|
||||
if(type && type.includes('html')) {
|
||||
throw false;
|
||||
}
|
||||
runModule(await response.arrayBuffer(), keepUrl);
|
||||
runModule(await response.arrayBuffer(), keepUrl || devkitMode);
|
||||
}
|
||||
|
||||
function runModuleFromHash() {
|
||||
let hash = window.location.hash.slice(1);
|
||||
if(hash == 'devkit') {
|
||||
devkitMode = true;
|
||||
return;
|
||||
}
|
||||
devkitMode = false;
|
||||
if (hash.length > 0) {
|
||||
if (hash.startsWith("url=")) {
|
||||
runModuleFromURL(hash.slice(4), true);
|
||||
|
||||
Reference in New Issue
Block a user