about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2021-03-23 21:53:41 -0700
committerKartik K. Agaram <vc@akkartik.com>2021-03-23 21:53:41 -0700
commit21263b2edd5013a84b0f277bdb7b42639dea5684 (patch)
tree1ce4d721d82dc5579ba5c502113a5caae3ac66ae
parent55adbda2d9004d5d7afb69650a53d9c5dafde568 (diff)
downloadmu-21263b2edd5013a84b0f277bdb7b42639dea5684.tar.gz
bochs support for disk drives
-rw-r--r--bochsrc.2disks16
-rw-r--r--shell/README.md8
2 files changed, 24 insertions, 0 deletions
diff --git a/bochsrc.2disks b/bochsrc.2disks
new file mode 100644
index 00000000..c3e99ba9
--- /dev/null
+++ b/bochsrc.2disks
@@ -0,0 +1,16 @@
+# Configuration for the Bochs x86 CPU emulator to run baremetal Mu programs
+# See boot.subx for more details.
+#
+# Installing Bochs:
+#   On Mac OS:
+#     brew install bochs
+#   On Ubuntu Linux 20.04:
+#     sudo apt install bochs bochs-sdl bochsbios vgabios
+
+display_library: sdl2
+
+ata0-master: type=disk, path="disk.img", mode=flat, cylinders=20, heads=16, spt=63  # 10MB, 512 bytes per sector
+ata0-slave: type=disk, path="data.img", mode=flat, cylinders=20, heads=16, spt=63  # 10MB, 512 bytes per sector
+boot: disk
+mouse: enabled=1, toggle=ctrl+f10
+log: -
diff --git a/shell/README.md b/shell/README.md
index be95b54e..76ecccea 100644
--- a/shell/README.md
+++ b/shell/README.md
@@ -11,6 +11,10 @@ $ ./translate shell/*.mu      # generates disk.img
 ```sh
 $ qemu-system-i386 disk.img
 ```
+or:
+```
+$ bochs -f bochsrc
+```
 
 To save typing in a large s-expression, create a secondary disk for data:
 ```sh
@@ -26,6 +30,10 @@ Now run with both code and data disks:
 ```sh
 $ qemu-system-i386 -hda disk.img -hdb data.img
 ```
+or:
+```
+$ bochs -f bochsrc.2disks
+```
 
 You can type in expressions, hit `ctrl-s` to see their results, and hit `Tab`
 to focus on the `...` below and browse how the results were computed. [Here's