pres.tex 3.49 KB
Newer Older
PoroCYon's avatar
PoroCYon committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
\documentclass[english,aspectratio=169]{beamer} % TODO: for faster compilation: ,draft
% ,handout,notes=show
% ,notes=only

\newsavebox{\verbbox}

\usepackage{babel,url,graphicx,booktabs,alltt,xcolor,listings}
\usepackage{subfig,hyperref}
\usepackage[utf8]{inputenc}
\usepackage[normalem]{ulem}

\graphicspath{ {img/} }

% hack required for TeXLive 2018
\makeatletter
\let\@@magyar@captionfix\relax
\makeatother

% page numbers
\addtobeamertemplate{navigation symbols}{}{%
    \usebeamerfont{footline}%
    \usebeamercolor[fg]{footline}%
    \hspace{1em}%
    \insertframenumber/\inserttotalframenumber
}

\usepackage{perpage} %the perpage package
\MakePerPage{footnote} %the perpage package command

\title{\textbf{Lovebyte 256 second seminar: SNES Sizecoding}}
\author{\textbf{PoroCYon / K2\^{}TiTAN}}
\date{}

%\AtBeginSection[]
%{
%  \begin{frame}
%    \frametitle{Table of Contents}
%    \tableofcontents[currentsection]
%  \end{frame}
%}

\usetheme{Szeged}
\usecolortheme{seagull}

%\usetheme{Singapore}
%\usecolortheme{default}

%\usetheme{Hannover}
%\usecolortheme{default}

\begin{document}

\frame{\titlepage}

% frame options: plain (for large contents), shrink (lots of text), allowframebreaks, fragile
% \pause, <a-b>
% \begin{columns}[align] \begin{column}[align]{5cm} ...
% \begin{block,alertblock,exampleblock}
% \include, dan pas \input

\begin{frame}{What's a SNES?}
	\begin{itemize}
		\item 65816 @ 3.6 or 2.7 MHz (semi-16-bit 6502)
		\item Famous PPU: backgrounds, sprites, window/blend/mosaic effects, mode 7
		\item SPC700 for audio: sample-based!
		\item Lots of extension chips (DSP1, GSU/SuperFX, ...)
	\end{itemize}
\end{frame}

\begin{frame}{Toolchains}
	\begin{description}
		\item[Assembler]: wla-dx, ca65, xkas/xkas-plus, bass, ...
		\item[HW docs]: Fullsnes\footnote{\url{https://problemkaputt.de/fullsnes.htm}},
			SFC Dev Wiki\footnote{\url{https://wiki.superfamicom.org/}}
		\item[Emulator]: bsnes/higan, bsnes-plus, Mesen-S
	\end{description}
\end{frame}

\begin{frame}{Hurdle: ROM header}
	\begin{itemize}
		\item 16-bit address + 8-bit bank form a 24-bit address space
		\item A, X, Y registers can now be 8- or 16-bit (selectable)
		\item `Zero page' (6502) now movable (`direct page')
		\item Exact memory map depends on LoROM vs HiROM mapping... \\~\\
		\item Reset header just before \texttt{0x00:FFFF}, LoROM ROMs are
			loaded at \texttt{0x00:8000}.
			\pause
		\item Need to pad the start of the file with zeros!
	\end{itemize}
\end{frame}

\begin{frame}{Graphics}
	\begin{itemize}
PoroCYon's avatar
PoroCYon committed
94
		\item 8 display modes
PoroCYon's avatar
PoroCYon committed
95
96
97
98
99
100
101
102
103
104
105
106
		\item Differing combinations of backgrounds, colors, ... amount and size
		\item Sprites, palette, ... only accessable through DMA ports
		\item HDMA: cheap `copper', annoying to set up
		\item A number of things (eg. OAM) can \textit{not} be modified during
			hblank!
	\end{itemize}
\end{frame}

\begin{frame}{Sound}
	\begin{itemize}
		\item 8 `BRR' (ADPCM) channels
		\item ADSR, echo, noise, pitch modulation
PoroCYon's avatar
PoroCYon committed
107
		\item Controlled by a separate processor: SPC700, somewhat 6502-ish
PoroCYon's avatar
PoroCYon committed
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
		\item You need to upload code to it...
	\end{itemize}
\end{frame}

\begin{frame}{Example prod}
	\begin{center}
		{\large ``Super Keftendo''\footnote{\url{https://www.pouet.net/prod.php?which=70163}}
		by Revenant/Resistance\normalsize}

		\includegraphics[width=0.4\textwidth]{keftendo.png}
	\end{center}
\end{frame}

\begin{frame}{Conclusion}
	\begin{center}
		{\Huge \textbf{Go make an intro!}}
	\end{center}
\end{frame}

%\begin{frame}{Questions}
%	\begin{center}
%		\Huge \textbf{Questions?}
%	\end{center}
%\end{frame}

\end{document}