2006-02-21 11:54:53 +00:00
|
|
|
\subsection{\label{ref:Chip8emulator}Chip{}-8 Emulator}
|
2006-03-11 07:52:11 +00:00
|
|
|
Chip8 is a kind of assembly language for a long-gone architecture.
|
|
|
|
This plugin runs games written using the chip8 instructions.
|
2006-06-28 17:23:48 +00:00
|
|
|
To start a game open a \fname{.ch8} file in the \setting{File Browser}
|
2006-02-21 11:54:53 +00:00
|
|
|
|
|
|
|
There are lots of tiny Chip8 games (usually only about 256 bytes to a
|
|
|
|
couple of KB) which were made popular by the HP48
|
|
|
|
calculator's emulator for them. The original Chip8 had
|
|
|
|
64x32 pixel graphics, and the new superchip emulator supports 128x64
|
2006-03-11 07:52:11 +00:00
|
|
|
graphics.
|
|
|
|
|
|
|
|
The only problem is that they are based on a 4x4 keyboard, but since most
|
2006-02-21 11:54:53 +00:00
|
|
|
games do not use all of the buttons, this can easily be worked around.
|
|
|
|
|
2006-06-28 17:23:48 +00:00
|
|
|
To do this, one may put a \fname{``.c8k''} file with the same name as the
|
|
|
|
original program which contains new key mappings (for \fname{BLINKY.ch8}, one
|
|
|
|
writes a \fname{BLINKY.c8k} file). That \fname{.c8k} file contains 16
|
|
|
|
characters describing the mapping from the Chip8 keyboard to the default key
|
2006-03-11 07:52:11 +00:00
|
|
|
mapping (that way, several Chip8 keys can be pressed using only one
|
|
|
|
Rockbox key). For example, a file containing the single line:\\\\
|
|
|
|
\textbf{0122458469ABCDEF}\\\\
|
|
|
|
would correspond to the following non-default mappings:\\\\
|
2006-06-28 17:23:48 +00:00
|
|
|
3 $\rightarrow$ 2\hspace{1cm} 6 $\rightarrow$ 8\hspace{1cm} 7 $\rightarrow$
|
|
|
|
4\hspace{1cm} 8 $\rightarrow$ 6\\\\
|
2006-03-11 07:52:11 +00:00
|
|
|
Default keymappings:
|
2006-04-03 22:45:01 +00:00
|
|
|
\begin{table}
|
2006-03-11 07:52:11 +00:00
|
|
|
\begin{center}
|
|
|
|
\begin{footnotesize}
|
2006-06-28 17:23:48 +00:00
|
|
|
\begin{tabular}{@{}*{17}{@{\hspace{1mm}}c@{\hspace{1mm}}|}@{\hspace{1mm}}
|
|
|
|
c@{}}\toprule
|
|
|
|
\textbf{Chip8 key} & Off & 0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & A & B
|
|
|
|
& C & D & E & F\\
|
2006-03-11 07:52:11 +00:00
|
|
|
\textbf{Key} &
|
2006-06-28 17:23:48 +00:00
|
|
|
\opt{RECORDER_PAD}{\ButtonOff & & \ButtonFOne & \ButtonUp &
|
|
|
|
\ButtonFThree & \ButtonLeft & \ButtonPlay & \ButtonRight &
|
|
|
|
\ButtonFTwo & \ButtonDown & \ButtonOn & & & & & &}
|
|
|
|
\opt{ONDIO_PAD}{\ButtonOff & & & \ButtonUp & & \ButtonLeft & \ButtonMenu
|
|
|
|
& \ButtonRight & & \ButtonDown & & & & & & &}
|
|
|
|
\opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff & & \ButtonUp & &
|
|
|
|
\ButtonLeft & \ButtonSelect & \ButtonRight & & \ButtonDown & & & &
|
|
|
|
& & &}
|
2006-08-23 17:10:08 +00:00
|
|
|
\opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu & & & \ButtonScrollBack & & \ButtonLeft &
|
2006-06-28 17:23:48 +00:00
|
|
|
\ButtonPlay & \ButtonRight & & \ButtonScrollFwd & & & & & & &}
|
|
|
|
\opt{IAUDIO_X5_PAD}{\ButtonPower & & & \ButtonUp & & \ButtonLeft &
|
|
|
|
\ButtonSelect & \ButtonRight & & \ButtonDown & & & & & & &}
|
2006-03-11 07:52:11 +00:00
|
|
|
\\\bottomrule
|
|
|
|
\end{tabular}
|
|
|
|
\end{footnotesize}
|
|
|
|
\end{center}
|
|
|
|
\end{table}
|
2006-02-21 11:54:53 +00:00
|
|
|
|
2006-06-28 17:23:48 +00:00
|
|
|
Some places where can you can find \fname{.ch8} files:
|
2006-02-21 11:54:53 +00:00
|
|
|
\begin{itemize}
|
2006-03-11 07:52:11 +00:00
|
|
|
\item The PluginChip8 page on www.rockbox.org has several attached:
|
2006-07-22 14:02:07 +00:00
|
|
|
\wikilink{PluginChip8}
|
2006-02-21 11:54:53 +00:00
|
|
|
\item Check out the HP48 chip games section:
|
|
|
|
\url{http://www.hpcalc.org/hp48/games/chip/}
|
2006-03-11 07:52:11 +00:00
|
|
|
\item PC emulator by the guy who wrote the HP48 emulator:
|
2006-02-21 11:54:53 +00:00
|
|
|
\url{http://www.pdc.kth.se/~lfo/chip8/CHIP8.htm}
|
|
|
|
\item Links to other chip8 emulators:
|
|
|
|
\url{http://www.zophar.net/chip8.html}
|
|
|
|
\end{itemize}
|