about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2021-01-12 23:04:06 -0800
committerKartik Agaram <vc@akkartik.com>2021-01-12 23:04:06 -0800
commit8a81faecbe3c4bb2dbcbfc427f694b7932a1c5e5 (patch)
tree9066ba533c0b412ce0e8c924f0f3fc8d5b916e6e
parentfcad74b7b102e68ecdc564fc03621b6dd6f495eb (diff)
downloadmu-8a81faecbe3c4bb2dbcbfc427f694b7932a1c5e5.tar.gz
7506
-rwxr-xr-xtranslate_mu_baremetal_emulated12
-rwxr-xr-xtranslate_subx_baremetal_emulated34
2 files changed, 46 insertions, 0 deletions
diff --git a/translate_mu_baremetal_emulated b/translate_mu_baremetal_emulated
new file mode 100755
index 00000000..d7ff2c6d
--- /dev/null
+++ b/translate_mu_baremetal_emulated
@@ -0,0 +1,12 @@
+#!/bin/sh
+# Translate a given Mu program to 'baremetal', a raw disk image that can boot
+# and run without any OS.
+#
+# This script uses emulation, so it does not require x86 or Linux. However it
+# is slow.
+
+set -e
+
+cat $* baremetal/[0-9]*.mu    |./bootstrap run apps/mu    > a.subx
+
+./translate_subx_baremetal_emulated baremetal/mu-init.subx baremetal/[0-9]*.subx a.subx
diff --git a/translate_subx_baremetal_emulated b/translate_subx_baremetal_emulated
new file mode 100755
index 00000000..6a75cac7
--- /dev/null
+++ b/translate_subx_baremetal_emulated
@@ -0,0 +1,34 @@
+#!/bin/sh
+# Translate given SubX files to 'baremetal', a raw disk image that can boot and
+# run without any OS.
+#
+# This script uses emulation, so it does not require x86 or Linux. However it
+# is slow.
+
+set -e
+
+./build
+
+cat $*          |./bootstrap run apps/braces            > a.braces
+
+cat a.braces    |./bootstrap run apps/calls             > a.calls
+
+cat a.calls     |./bootstrap run apps/sigils            > a.sigils
+
+cat a.sigils    |./bootstrap run apps/tests             > a.tests
+
+# no assort since baremetal SubX doesn't have segments yet
+
+cat a.tests     |./bootstrap run apps/dquotes           > a.dquotes
+
+cat a.dquotes   |./bootstrap run apps/pack              > a.pack
+
+cat a.pack      |./bootstrap run apps/survey_baremetal  > a.survey
+
+cat a.survey    |./bootstrap run apps/hex               > a.bin
+
+# Create disk.img containing baremetal/boot.hex and a.bin
+dd if=/dev/zero of=disk.img count=20160  # 512-byte sectors, so 10MB
+./bootstrap run apps/hex < baremetal/boot.hex  > boot.bin
+cat boot.bin a.bin > disk.bin
+dd if=disk.bin of=disk.img conv=notrunc