basekernel/webv86/makeit.sh

43 lines
1.3 KiB
Bash

#!/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