\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, % \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} \item 8 display modes \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 \item Controlled by a separate processor: SPC700, somewhat 6502-ish \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}