\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}