Skip to content

Commit

Permalink
Fix up headers and appendix again
Browse files Browse the repository at this point in the history
  • Loading branch information
mwenge committed Oct 30, 2023
1 parent 8dca305 commit eb3e30d
Show file tree
Hide file tree
Showing 8 changed files with 29 additions and 24 deletions.
Binary file modified out/iatheory_scrapbook.pdf
Binary file not shown.
1 change: 1 addition & 0 deletions src/archaeo.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
\chapter{A Little Archaeology}
\label{sec:archaeo}
\lstset{style=6502Style}

Iridis Alpha was distributed on cassette tape by the publisher Hewson Consultants. Normally used
Expand Down
2 changes: 1 addition & 1 deletion src/book.tex
Original file line number Diff line number Diff line change
Expand Up @@ -481,7 +481,7 @@
% Obsolete
%\subfile{src/level_data_appendix_detail} % draft obsolete?

\printindex
%\printindex

\subfile{src/bib}

Expand Down
4 changes: 2 additions & 2 deletions src/bumph.tex
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
\chapter{Bumph}

\section{Cover}
\section*{Cover}
\begin{figure}[H]
{
\begin{adjustbox}{width=10cm,center}
Expand All @@ -17,7 +17,7 @@ \section{Cover}
}\caption[]{Back Cover}
\end{figure}

\section{Manual}
\section*{Manual}

\begin{figure}[H]
{
Expand Down
3 changes: 1 addition & 2 deletions src/copyright.tex
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,7 @@
\end{figure}

\vspace*{\fill}
\textcopyright\ Rob Hogan 2022-2023, All Rights Reserved.

\textcopyright\ Rob Hogan 2022-2023, All Rights Reserved. \\
'Iridis Alpha' \textcopyright\ Jeff Minter 1986.

\doclicenseThis
Expand Down
4 changes: 2 additions & 2 deletions src/planets.tex
Original file line number Diff line number Diff line change
Expand Up @@ -969,7 +969,7 @@ \section{Drawing the Lower Planet}
8 byte character set definition to position 5.}
\end{figure}

\subsection{1. Flipping the Byte}
\subsection{Flipping the Byte}
The first of these requirements is the more elaborate of the two. We need to look at each of the four bit-pairs in the
byte and move it to its corresponding 'inverted' position in the byte. So in a way we treat one half of they byte as
a mirror of the other and move the bit pair there as in the following examples.
Expand Down Expand Up @@ -1330,7 +1330,7 @@ \subsection{1. Flipping the Byte}
}\caption{The result of our bit-shifting, \icode{AND}'ing\, and \icode{OR}ing.}
\end{figure}

\subsection{2. Flipping the Byte's Position}
\subsection{Flipping the Byte's Position}
The remaining steps for the other two bit-pairs in the byte are similar. In the case of our
example they will have no effect as the result will be always be zero for them. We've
effectively mirrored our bitpair already.
Expand Down
38 changes: 21 additions & 17 deletions src/preface.tex
Original file line number Diff line number Diff line change
@@ -1,28 +1,27 @@
\chapter{Preface}
\chapter*{About This Book}
This book describes the inner workings of a relatively obscure video game created
by an eccentric Englishman in 1986 for the Commodore 64.
by an eccentric Englishman by the name of Jeff Minter in 1986 for the Commodore 64.

If you are curious about old computers such as the C64 or the detailed mechanics
If you are curious about old computers such as the Commodore 64 or the detailed mechanics
of making a glorified digital breadboard produce something on a screen that flashes, bleeps,
and fascinates then this book is hopefully for you. Iridis Alpha was not an enormous success on its release
but it is widely regarded as one of the great achievements on the Commodore 64 hardware. It embodies an 8-bit arcade aesthetic that was
unique to its time, it was slightly mad in its concept and execution, and its emphasis on speed and unforgiving gameplay influenced
generations of game developers in the years that followed.

Since the source code of Iridis Alpha is no longer available, I have had to unpack and reinterpret it
from the game binary Jeff Minter released into the public domain in 2019. I describe this
Since the source code of Iridis Alpha is no longer available, I have had to \href{https://github.com/mwenge/iridisalpha}{\textcolor{blue}{unpack and reinterpret}} it
from the game binary Jeff Minter \href{https://www.llamasoftarchive.org/oldsite/llamasoft/cbm64/IridisAlpha.zip}{\textcolor{blue}{released into the public domain in 2019}}. I describe this
reverse-engineering process in the opening chapters because I think it is an interesting exercise in and of it self to go from
a binary blob to a set of fully commented source code that provides insight to the inner workings of the game. Hopefully
you will enjoy it too.
a binary blob to a set of fully commented source code that provides insight to the inner workings of the game.
\hyperref[sec:archaeo]{\textcolor{blue}{A Little Archaeology}} describes how we extract the game binary from the cassette
tape it was originally distributed. \hyperref[sec:dis]{\textcolor{blue}{Some Disassembly Required}} shows you how to go from
a very long list of bytes to a full source code listing. Hopefully you are here because you enjoy this kind of gory detail too.

The full source code is available in \href{https://github.com/mwenge/iridisalpha}{\textcolor{blue}{its own Github repository}}.
You should find that it matches exactly the snippets of code provided in the book, though in some cases the extracts in the book have been edited
and reformatted for brevity.

If you are just interested in learning about the mechanics of the game you can flick straight to \hyperref[sec:first16]{\textcolor{blue}{The First 16 Milliseconds}},
which begins by covering the first few milliseconds of loading the title screen and all that goes on in there. \hyperref[sec:planets]{\textcolor{blue}{Making Planets for Nigel}},
If you are just interested in learning about the mechanics of the game itself you can flick straight to \hyperref[sec:first16]{\textcolor{blue}{The First 16 Milliseconds}},
which begins by covering the loading the title screen and all that goes on in there. \hyperref[sec:planets]{\textcolor{blue}{Making Planets for Nigel}},
\hyperref[sec:blast]{\textcolor{blue}{Blasting Fast and Slow}}, and \hyperref[sec:level]{\textcolor{blue}{Enemies and Their Discontents}} cover the main gameplay
and dive into how the game levels are created and how the speed of the game is achieved.
and dive into how the game levels are created and how the speed of the game is achieved. These chapters go deep into the game's reassembled code and look closely at how
Jeff Minter designed its core engine.

I dedicate a full chapter \hyperref[sec:first16]{\textcolor{blue}{A Hundred Thousand Billion Theme Tunes}} to the ingenious procedural programming behind Iridis Alpha's theme
tunes and trace its inspiration back to an article 'Musical Fractals' in a 1986 issue of Byte magazine. \hyperref[sec:torusmusic]{\textcolor{blue}{Another 16\textsuperscript{4} Tunes}} looks
Expand All @@ -37,17 +36,22 @@ \chapter{Preface}
As a final coda, \hyperref[sec:bugs]{\textcolor{blue}{Iridis Oops!}} takes a look at some of the bugs that slipped through to the final release.

If you are reading the PDF version of this book the \hyperref[sec:appendices]{\textcolor{blue}{Appendices}} contain a data dump of sprite sheets, character sets, maps and tables that
should provide hours of rewarding bedtime reading.
should provide hours of rewarding bedtime reading, or more likely, deep undisturbed sleep.

\section{Note on the Text}
\section*{Note on the Text}
The version you are reading is little more than a scrapbook still many revisions away from a
finished product. If you find the writing hard going or the attempts to explain things difficult
to follow, by all means \href{https://github.com/mwenge/iatheory/issues}{\textcolor{blue}{leave me a note}} and
I will gratefully accept your complaint. In the meantime, please skip over any blemishes
to the next pretty picture or promising-looking block of text.

The full source code is available in \href{https://github.com/mwenge/iridisalpha}{\textcolor{blue}{its own Github repository}}.
You should find that it matches exactly the snippets of code provided in the book, though in some cases the extracts in the book have been edited
and reformatted for brevity.


- Rob Hogan 2023 \href{https://mastodon.social/@mwenge}{\textcolor{blue}{@mwenge}}
Rob Hogan, Dublin 2022-2023 \\
\href{https://mastodon.social/@mwenge}{\textcolor{blue}{@mwenge}}
\clearpage
\vspace*{\fill}
\begin{figure}[H]
Expand Down
1 change: 1 addition & 0 deletions src/sprite_appendix.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
\chapter{Sprite Atlas}
\label{sec:appendices}

% \newdate{..label..}{..date..}{..info..}
\newcommand\newrow[2]%
Expand Down

0 comments on commit eb3e30d

Please sign in to comment.