maurice 1.3.0

Maurice, a Thomson MO5 emulator
Documentation
<!DOCTYPE html>
<html lang="en">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

<!-- Disable zooming: -->
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
<head>
    <title>Maurice</title>
    <style>
        html,
        body {
            width: 100%;
            height: 100%;
        }

        canvas {
            margin: 8px;
            padding: 8px;
            width: 960px;
            height: 600px;
        }
    </style>
    <meta charset="utf-8"/>
    
<script type="module">
import init, * as bindings from '/Maurice/maurice.js';
const wasm = await init({ module_or_path: '/Maurice/maurice_bg.wasm' });


window.wasmBindings = bindings;


dispatchEvent(new CustomEvent("TrunkApplicationStarted", {detail: {wasm}}));

</script>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
<link rel="modulepreload" href="/Maurice/maurice.js" crossorigin="anonymous" integrity="sha384-8iQhySqCGvBuRip1fKRxfqDGYGG8IQP8KchbweqU+Zog6pUUnQeWbktLqSL9/Jey"><link rel="preload" href="/Maurice/maurice_bg.wasm" crossorigin="anonymous" integrity="sha384-s0BGJE5956nRlwAzbryczyuC8clEBmAfuxVAfFozQoiUvFUyDOg1wnJY9VllDPlL" as="fetch" type="application/wasm"></head>
<body data-bs-theme="dark">
<nav class="navbar navbar-expand-lg navbar-dark bg-body-tertiary">
    <div class="navbar-brand">Maurice</div>
    <a class="nav-link" href="https://github.com/kpouer/Maurice" target="_blank">GitHub</a>
</nav>
<div class="container">
    Maurice is a Thomson MO5 emulator written in Rust.
</div>
<div class="container">
    It is a port of Marcel o Cinq MO5 Emulator (Java version).
    Of course, it is opensource, and you can browse them at <a href="https://github.com/kpouer/Maurice" target="_blank">https://github.com/kpouer/Maurice</a>
</div>
<canvas id="the_canvas_id"></canvas>
<script>

    // The `--no-modules`-generated JS from `wasm-bindgen` attempts to use
    // `WebAssembly.instantiateStreaming` to instantiate the wasm module,
    // but this doesn't work with `file://` urls. This example is frequently
    // viewed by simply opening `index.html` in a browser (with a `file://`
    // url), so it would fail if we were to call this function!
    //
    // Work around this for now by deleting the function to ensure that the
    // `no_modules.js` script doesn't have access to it. You won't need this
    // hack when deploying over HTTP.
    delete WebAssembly.instantiateStreaming;
</script>
<div class="container">
    You can drop a tape file (MO5 was mostly using tapes, usually named .k7) then type
    <ul>
        <li>LOAD</li>
        <li>RUN</li>
    </ul>
    et voilĂ 
</div>
</body>
</html>