#!/bin/bash

mkdir web
wget https://github.com/copy/v86/releases/download/latest/libv86.js  \
    --directory-prefix web
wget https://github.com/copy/v86/releases/download/latest/v86.wasm  \
    --directory-prefix web
wget https://github.com/copy/v86/releases/download/latest/v86-fallback.wasm  \
    --directory-prefix web
wget https://github.com/copy/v86/archive/refs/tags/latest.tar.gz  \
    --output-document -  \
| tar -xz --strip-components 2 --directory web  \
    v86-latest/bios/seabios.bin  \
    v86-latest/bios/vgabios.bin

cat >web/index.html <<EOF
<!DOCTYPE html>
<meta charset="utf8">
<title>Emulator</title>
<body bgcolor="#101010">

<div id="screen_container">
    <div style="white-space: pre; font: 14px monospace; line-height: 14px"></div>
    <canvas hidden></canvas>
</div>

<script src="/libv86.js"></script>
<script>
var emulator = new V86Starter({
    wasm_path        : "/v86.wasm",
    memory_size      : 64 * 1024 * 1024,  // 64 MB memory ought to be enough for anyone
    vga_memory_size  : 2 * 1024 * 1024,
    screen_container : screen_container,
    bios             : {url: "/seabios.bin"},
    vga_bios         : {url: "/vgabios.bin"},
    cdrom            : {url: "/basekernel.iso"},
    filesystem       : {},
    autostart        : true
})
</script>
EOF