about summary refs log tree commit diff stats
path: root/baremetal/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'baremetal/README.md')
-rw-r--r--baremetal/README.md22
1 files changed, 22 insertions, 0 deletions
diff --git a/baremetal/README.md b/baremetal/README.md
index af45760c..8a29a991 100644
--- a/baremetal/README.md
+++ b/baremetal/README.md
@@ -1,2 +1,24 @@
 Some apps written in SubX and Mu. Where the rest of this repo relies on a few
 Linux syscalls, the apps in this subdirectory interface directly with hardware.
+
+I'd like to eventually test these programs on real hardware, and to that end
+they are extremely parsimonious in the hardware they assume:
+  0. Lots (more than 640KB/1MB) of RAM
+  1. Pure-graphics video mode (1280x1024 pixels) in 256-color mode.
+  2. Keyboard
+
+That's it:
+  * No wifi, no networking
+  * No multitouch, no touchscreen, no mouse
+  * No graphics acceleration, no graphics
+  * No virtual memory, no memory reclamation
+Just your processor, gigabytes of RAM, a moderately-sized monitor and a
+keyboard.
+
+These programs don't convert to ELF, so there's also currently no code/data
+segment separation. Just labels and bytes.
+
+Most programs here assume `main` starts at address 0x8000 (1KB or 2 disk
+sectors past the BIOS entrypoint). See baremetal/boot.hex for details.
+
+So far the programs have only been tested in Qemu and Bochs emulators.