From 88378503c457656427b8eba9c6087fe5d9adc5e0 Mon Sep 17 00:00:00 2001 From: Kartik Agaram Date: Tue, 15 Jun 2021 14:46:27 -0700 Subject: [PATCH] . --- shell/README.md | 67 +++++++++++++++++++++++++------------------------ 1 file changed, 34 insertions(+), 33 deletions(-) diff --git a/shell/README.md b/shell/README.md index 12dbdfc4..db38c761 100644 --- a/shell/README.md +++ b/shell/README.md @@ -3,54 +3,55 @@ Currently runs a tiny dialect of Lisp. Steps to run it from the top-level: 1. Build it: -```sh -$ ./translate shell/*.mu # generates code.img -``` -You can now already run it: -```sh -$ qemu-system-i386 code.img -``` + ```sh + $ ./translate shell/*.mu # generates code.img + ``` -But let's add some more 'meat' to play with. + You can now already run it: + ```sh + $ qemu-system-i386 code.img + ``` + + But let's add some more 'meat' to play with. 2. Create a data disk with a library of functions. -```sh -$ dd if=/dev/zero of=data.img count=20160 -$ cat shell/data.limg |dd of=data.img conv=notrunc -``` + ```sh + $ dd if=/dev/zero of=data.img count=20160 + $ cat shell/data.limg |dd of=data.img conv=notrunc + ``` -Run with data disk (and 2GB of RAM): -```sh -$ qemu-system-i386 -m 2G -hda code.img -hdb data.img -``` + Run with data disk (and 2GB of RAM): + ```sh + $ qemu-system-i386 -m 2G -hda code.img -hdb data.img + ``` -Try typing in some expressions and hitting `ctrl-s` to see their results. -Hit `ctrl-m` to focus on the `...` after a run, and browse how the results -were computed. [Here's a demo.](https://archive.org/details/akkartik-2min-2021-02-24) -The bottom of the screen shows context-dependent keyboard shortcuts. + Try typing in some expressions and hitting `ctrl-s` to see their results. + Hit `ctrl-m` to focus on the `...` after a run, and browse how the results + were computed. [Here's a demo.](https://archive.org/details/akkartik-2min-2021-02-24) + The bottom of the screen shows context-dependent keyboard shortcuts. 3. If your Qemu installation supports them, one of these commandline arguments may speed up emulation: -- `-enable-kvm` -- `-accel ___` (run with `-accel help` for a list of available options) + - `-enable-kvm` + - `-accel ___` (run with `-accel help` for a list of available options) -If you do this, I recommend also adjusting the `responsiveness` mask in -shell/evaluate.mu, which controls how frequently the fake screen updates. -Smaller values will seem more responsive, larger values will leave more time -to run your programs. I like to see the screen update about once a second. -Some suggested values depending on how fast your Qemu is running: + If you do this, I recommend also adjusting the `responsiveness` mask in + shell/evaluate.mu, which controls how frequently the fake screen updates. + Smaller values will seem more responsive, larger values will leave more time + to run your programs. I like to see the screen update about once a second. + Some suggested values depending on how fast your Qemu is running: -- `-enable-kvm` on a T420s running Linux: `0xffff/responsiveness=64k` -- `-accel tcg` on a 2019 Mac: `0xfff/responsiveness=4k` + - `-enable-kvm` on a T420s running Linux: `0xffff/responsiveness=64k` + - `-accel tcg` on a 2019 Mac: `0xfff/responsiveness=4k` -Putting it all together, here's the command I typically use on Linux: + Putting it all together, here's the command I typically use on Linux: -``` -$ qemu-system-i386 -m 2G -enable-kvm -hda code.img -hdb data.img -``` + ``` + $ qemu-system-i386 -m 2G -enable-kvm -hda code.img -hdb data.img + ``` *Known issues*