\documentclass{article}
\usepackage{common}
\usepackage{array}

\begin{document}
\begin{framed}

\pagehead{Memory Map}

Gameduino has 32 kbytes of memory, organized into different functions.
The background section controls background character graphics.
The sprite section controls the foreground sprite graphics.

\setlength{\byteheight}{4\baselineskip}

\begin{bytefield}{32}

\wordgroupl{Background}
\bitbox[]{8}{\texttt{0x0000} \\[2\baselineskip]
             \texttt{0x0fff}} &
\bitbox{24}{64$\times$64 character screen} \\

\bitbox[]{8}{\texttt{0x1000} \\[2\baselineskip]
             \texttt{0x1fff}} &
\bitbox{24}{character data \\ 256 characters of 8$\times$8 pixels} \\

\bitbox[]{8}{\texttt{0x2000} \\[2\baselineskip]
             \texttt{0x27ff}} &
\bitbox{24}{character palettes \\ 256 palettes of 4 colors}
\endwordgroupl \\

\wordgroupl{Control registers}
\bitbox[]{8}{\texttt{0x2800} \\[2\baselineskip]
             \texttt{0x2fff}} &
\bitbox{24}{control registers \\ collision RAM}
\endwordgroupl \\

\wordgroupl{Sprites}
\bitbox[]{8}{\texttt{0x3000} \\[2\baselineskip]
             \texttt{0x37ff}} &
\bitbox{24}{sprite control \\ 256$\times$4 bytes} \\

\bitbox[]{8}{\texttt{0x3800} \\[2\baselineskip]
             \texttt{0x3fff}} &
\bitbox{24}{sprite palette \\ 4 palettes of 256 colors } \\

\bitbox[]{8}{\texttt{0x4000} \\[2\baselineskip]
             \texttt{0x7fff}} &
\bitbox{24}{sprite images \\ 64 images of 16$\times$16 bytes }
\endwordgroupl \\


\end{bytefield}

\end{framed}
\end{document}

