Commit 9372b32a by Jessica Hawkwell

Initial documentation page

1 parent cb682f53
Pipeline #216 passed
in 1 minute 8 seconds
Showing with 61 additions and 0 deletions
# K Architecture
_Short for "Kitty" :smiley_cat:_
---
The K architecture features a 16-bit CPU with 16-bit memory addressing, and a 32-bit math co-processor.
The instruction set is relatively simple, for details, see [Writing Kasm](doc/kasm/writing.md).
# Building the Emulator
---
Building the emulator is a fairly straightforward process. Just grab the source and build it.
## Required Software
* Java - JDK 8 (either [Oracle JDK][jdk] or [OpenJDK][openjdk])
* [Apache Maven][mvn] 3.0.0 (version 3.3.0 is recommended)
[`git`][git] is completely optional. Without git, you can download the sources directly from the repository using the
<span aria-hidden="true" class="fa fa-download"></span> menu at the top.
[jdk]: https://java.com/en/download/faq/develop.xml
[openjdk]: http://openjdk.java.net/
[mvn]: http://maven.apache.org/
[git]: https://git-scm.com/
## Build It!
All of these steps require shell access. This means you will be using a Terminal of some sort
(or possibly quitting Xorg and just using the system console).
### Obtain the Source
If you are using `git`, the source can be obtained easily:
```
git checkout https://[email protected]/LadySerenaKitty/kcpu.git
```
Or you can download the source directly from the repository. Be sure you rename the extracted folder to `kcpu`.
### Compiling
Compiling the source is the easy part. Thankfully, `mvn` makes it really easy.
```
mvn package
```
That's it! The program JAR is now located in `target/` along with the JavaDoc JAR.
# Running the Emulator
After building the emulator, you probably want to run it. There's one extra step you need before it will run.
```
mvn dependency:copy-dependencies
```
This will place the runtime dependencies into the appropriate folder. You can now run the emulator.
```
java -jar target/kcpu-1.0-SNAPSHOT.jar
```
You probably won't see anything and that's okay. Add the `-v` or `--verbose` command line options to watch the
processor executing instructions.
```
java -jar target/kcpu-1.0-SNAPSHOT.jar -v
```
There are some other options which may be useful:
```
java -jar target/kcpu-1.0-SNAPSHOT.jar -h
```
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!