From 977285b8aa3757cf3a5f3c13e216e8f6a8080cea Mon Sep 17 00:00:00 2001 From: Andrew Kesterson Date: Sun, 25 Jan 2015 17:53:17 -0800 Subject: [PATCH] Added readme --- README.md | 34 ++++++++++++++++++++++++++++++++++ media/screenshot.png | Bin 0 -> 11567 bytes 2 files changed, 34 insertions(+) create mode 100644 README.md create mode 100644 media/screenshot.png diff --git a/README.md b/README.md new file mode 100644 index 0000000..97a8bc4 --- /dev/null +++ b/README.md @@ -0,0 +1,34 @@ +Piquant +==== + +Piquant is a little toy operating system I'm building. + +Why? +===== + +Because it's fun. Don't you like to have fun? Ogre. + +What does it do? +===== + +Right now, not much of anything at all. It boots from a 1.44mB floppy disk, throws some text to the screen, and enters a primitive REPL (where you can do nothing but display a help message, HALT the machine, or RESET the machine). + +![Image of Piquant v0.1](media/screenshot.png) + +I think I'm going to expand the basic REPL into a BASIC interpreter, just like the classic machines of the 80s. "Operating System? Oh, you mean the BASIC ROM, right?" :) + +How can I run it? +===== + +You have to build it to run it. To build it, you need: + +* bcc (bruce's c compiler - check your OS's package repositories) +* nasm +* gnu make +* ld86, objdump86, as86 + +To run it, you can use anything, but the makefile assumes you have 'bochs' installed. + + make clean test + +This will rebuild all of the sources and fire up the bochs emulator. Have fun. \ No newline at end of file diff --git a/media/screenshot.png b/media/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..6aba617d6a13fb68560dd0d9d894d042cad7e222 GIT binary patch literal 11567 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 literal 0 HcmV?d00001