Added a LaTex document to put in writing how the machine should behave.

This commit is contained in:
2022-09-21 16:23:11 +00:00
parent 0b58e0124f
commit f5c82d1c36
2 changed files with 44 additions and 1 deletions
+3 -1
View File
@@ -1,4 +1,6 @@
assm
obj/
bin/
*.bin
*.bin
docs/*
!docs/*.tex
+41
View File
@@ -0,0 +1,41 @@
\documentclass{book}
\usepackage{tikz}
\title{Unnamed Machine}
\author{A Very Terrible 16-bit Machine}
\begin{document}
\maketitle
\tableofcontents
\chapter{Overview}
\section{Introduction}
\section{Registers}
The following are the general purpose registers that can be used.
\begin{itemize}
\item[] R1
\item[] ...
\item[] R8
\end{itemize}
\section{Memory Model}
Memory will be implicitly mapped I/O. The bottom 3201 bytes of memory will be reserved for the keyboard input and graphics.
A single byte is reserved for the keyboard's input. The current key will be stored in byte 0xF37E, with the most significant bit being a flag indicating that the keyboard
is ready to be read from. This means that the character encoding is actually 7 bits.
Video memory starts at 0xF37F (62335 decimal), and every byte represents an ASCII character in monochrome.
\begin{figure}
\centering
\begin{tikzpicture}
\fill[gray!5] (0,0)rectangle(5,10);
%\draw (0,10) .. controls (-2,6) and (-2,4) .. (0,1);
%\draw (0,10) arc (0:180:3cm);
\draw (0,10) -- (5,10);
\draw (0,1) -- node[above] {Video 0xF37F} (5,1);
\draw (0,0) -- (5,0);
\node[label=right:Top 0x0000] at (5,10) {};
\node[label=right:Bottom 0xFFFF] at (5,0) {};
\end{tikzpicture}
\caption{Memory Layout}
\end{figure}
\chapter{ISA}
\section{COPY}
\section{CMP}
\end{document}