From 1347154bb3026da689eb17dad6cc46162b60cf69 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Sun, 5 Mar 2017 22:14:47 +0100 Subject: created doc --- doc/report/build/notes.pdf | Bin 0 -> 28265 bytes doc/report/build/z80uPC.pdf | Bin 0 -> 29047 bytes doc/report/makefile | 29 +++++++ doc/report/notes.tex | 90 ++++++++++++++++++++ doc/report/res/addrspace.pdf | Bin 0 -> 6465 bytes doc/report/res/addrspace.svg | 190 +++++++++++++++++++++++++++++++++++++++++++ doc/report/z80uPC.tex | 10 +++ 7 files changed, 319 insertions(+) create mode 100644 doc/report/build/notes.pdf create mode 100644 doc/report/build/z80uPC.pdf create mode 100644 doc/report/makefile create mode 100644 doc/report/notes.tex create mode 100644 doc/report/res/addrspace.pdf create mode 100644 doc/report/res/addrspace.svg create mode 100644 doc/report/z80uPC.tex (limited to 'doc/report') diff --git a/doc/report/build/notes.pdf b/doc/report/build/notes.pdf new file mode 100644 index 0000000..d895c04 Binary files /dev/null and b/doc/report/build/notes.pdf differ diff --git a/doc/report/build/z80uPC.pdf b/doc/report/build/z80uPC.pdf new file mode 100644 index 0000000..38b7bcd Binary files /dev/null and b/doc/report/build/z80uPC.pdf differ diff --git a/doc/report/makefile b/doc/report/makefile new file mode 100644 index 0000000..e10c0b9 --- /dev/null +++ b/doc/report/makefile @@ -0,0 +1,29 @@ +# documents +BUILD_DIR := build +RES_DIR := res + +SOURCES := z80uPC.tex notes.tex +DOCUMENTS := $(patsubst %.tex,$(BUILD_DIR)/%.pdf,$(SOURCES)) + +RES_SRC := $(wildcard $(RES_DIR)/*.svg) +RES := $(patsubst %.svg,%.pdf,$(RES_SRC)) + +# compiler settings +TEX := texfot lualatex + +# recipes +.PHONY: all dir clean +all: $(DOCUMENTS) + +$(DOCUMENTS): $(BUILD_DIR)/%.pdf: %.tex $(SOURCES) $(RES) dir + @printf "\nBuilding $< \n\n" + $(TEX) --output-directory=$(BUILD_DIR) $< + +$(RES): $(RES_DIR)/%.pdf: $(RES_DIR)/%.svg $(RES_SRC) dir + inkscape -z -D --file=$< --export-pdf=$@ + +dir: + mkdir -p $(BUILD_DIR) + +clean: + rm $(BUILD_DIR)/* diff --git a/doc/report/notes.tex b/doc/report/notes.tex new file mode 100644 index 0000000..971d85b --- /dev/null +++ b/doc/report/notes.tex @@ -0,0 +1,90 @@ +\documentclass[final, ms, a4paper, 11pt]{memoir} + +\usepackage[a4paper, inner=3cm, outer=3cm, marginpar=0pt]{geometry} +\usepackage[explicit]{titlesec} +\usepackage{wrapfig} +\usepackage{graphicx} +\usepackage{xcolor} % + +% set line height +\renewcommand{\baselinestretch}{1} +% font hyphenation +\usepackage{everysel} +\EverySelectfont{% +\fontdimen2\font=0.6em % interword space +\fontdimen3\font=0.2em % interword stretch +\fontdimen4\font=0.1em % interword shrink +\fontdimen7\font=0.9em % extra space +\hyphenchar\font=`\-% to allow hyphenation +} + + +% set section style +% \newcommand{\secstyle}[2]{[ #2 ] \textcolor{red!50!black}{\MakeUppercase{#1}}} +% \renewcommand*\thesection{\arabic{section}} % hide chapter + +\newcommand\ddate{01.01.1970} +\titleformat{\section} + {\normalfont}{- \ddate{}:}{1em} + {\textcolor{red!50!black}{\MakeUppercase{#1}} -} +% monochrome +% \titleformat{\section} +% {\normalfont}{\thesection}{1em}{\MakeUppercase{#1}} + +\begin{document} +\noindent {\Large Z80 Single Board Computer: Note e Diario di Lavoro} \\\\ +\noindent SAM Bellinzona 2016/2017 \\ +\noindent REF: Daniele Kamm \\ +\noindent PIF: Naoki Pross \\ +\vspace{5mm} + +\renewcommand\ddate{30.01.2017} +\section{Perch\`e uno Z80?} +Originariamente questo progetto era un esperimento per costruire una +cartridge per il GameBoy Classic (DMZ-01) che conteneva dell'hardware +aggiuntivo che avrebbe potuto interfacciare dell'hardware esterno con la CPU +del GameBoy. Successivamente per\`o il progetto si \`e rivelato pi\`u +complicato del previsto a causa della complessa struttura del GB (GameBoy) e +la difficolt\`a per ritrovare l'hardware stesso. Quindi sotto consiglio del +docente ho cambiato il progetto in un Single Board Computer dato che sono +interessato in informatica di basso livello e la CPU del GB era basata sul +processore Z80 con un instruction set e assembly simile. + +\renewcommand\ddate{09.02.2017} +\section{Hardware} +Dopo una ricerca abbastanza intensiva dal magazzino della scuola abbiamo trovato +i seguenti componenti principali del che utilizzer\`o per costruire il computer. +\begin{table}[h!] \centering +\begin{tabular}{ l l l l } + Z8400AB1 (Z80ACPU) & Zilog & x1 & CPU \\ + Z8420AB1 (Z80APIO) & Zilog & x1 & Port Interface \\ + Z8430AB1 (Z80ACTC) & Zilog & x1 & Timer Clock \\ + M28C64 & ST & x2 & EEPROM \\ + HM62256B & HITACHI & x1 & SRAM \\ + TL16C550C & TI & x1 & Seriale (UART / RS232) \\ +\end{tabular} +\end{table} + +Tutti gli altri componenti secondati come porte logiche e circuiti combinatori +integrati saranno indicati in una lista finale nella documentazione riassuntiva. + +\renewcommand\ddate{13.02.2017} +\section{Address space} +\begin{wrapfigure}{R}{.35\linewidth} \centering + \includegraphics[width=.9\linewidth]{res/addrspace.pdf} +\end{wrapfigure} +Come prima cosa dopo aver deciso il processore (Z80) \`e necessario definire +l'address space per decidere come collegare l'hardware. Si vede chiaramente che +la RAM usa la maggior parte dell'address space mentre la rom \`e solamente di +16KB, ma questo non \`e un problema perch\`e ho intenzione di aggiungere delle +interfacce esterne per poter collegare dispositivi di memoria come per esempio +le uSD. Dunque questa EEPROM vicina al processore sar\`a utilizzata unicamente +per il bootloader e per un sistema operativo molto basilare. + +\renewcommand\ddate{23.02.2017} +\section{Banchi di memoria} + +\renewcommand\ddate{04.03.2017} +\section{Standards e Norme} + +\end{document} diff --git a/doc/report/res/addrspace.pdf b/doc/report/res/addrspace.pdf new file mode 100644 index 0000000..2689fca Binary files /dev/null and b/doc/report/res/addrspace.pdf differ diff --git a/doc/report/res/addrspace.svg b/doc/report/res/addrspace.svg new file mode 100644 index 0000000..6af7e7f --- /dev/null +++ b/doc/report/res/addrspace.svg @@ -0,0 +1,190 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + 0x0000 + 0x2000 + 0x4000 + 0x8000 + 0xFFFF + 32KB RAM + 16KB I/OSPACE + 8KB ROM + 8KB ROM + + diff --git a/doc/report/z80uPC.tex b/doc/report/z80uPC.tex new file mode 100644 index 0000000..aa5d13c --- /dev/null +++ b/doc/report/z80uPC.tex @@ -0,0 +1,10 @@ +\documentclass[a4paper, 11pt, twoside]{article} + + + +\title{Z80 Single Board Computer Development} +\author{Naoki Pross} + +\begin{document} + \maketitle +\end{document} -- cgit v1.2.1