The MagPi - July 2018

(Steven Felgate) #1

(^8) July 2018 raspberrypi.org/magpi
News
mulation is the process
of running older software
on newer, incompatible
hardware, but Tom Murphy VII,
a computer scientist from
Pittsburgh, PA, wanted to turn
that process on its head by
‘reverse-emulating’ a SNES.
The basic idea was to run SNES
games on a NES, to tell a joke
based on what Tom calls ‘improper
hierarchy’. It’s not funny to run old
software on new hardware, because
software is meant to get better over
time and older hardware is meant
to become obsolete. However,
Tom contends that it is funny
to run newer software on older
hardware, because that’s just an
absurd thing to do, or an example
of ‘improper hierarchy’.
The crux of Tom’s reverse-
emulation was to somehow fool
an unmodified NES into running
the SNES launch title Super
Mario World, which he achieved
by embedding a Raspberry Pi 3
into a NES game cartridge. The
Pi emulated the SNES game, but
then had to convert the graphics
into a form that the NES hardware
could display.
As Tom clarifies for us, the Pi is
acting “kind of like a downsampler,
although the SNES pixel resolution
is actually the same as the NES,
so it’s not downsampling in that
spatial sense.” Instead, the Pi has
to convert the larger numbers of
colours in the SNES game into
the limited colour palette of the
NES. “I prefer to think of it like
Pi plays SNES games on
unmodified NES
an absurdly advanced ‘memory
mapper’ within the cartridge,”
Tom tells us.
While Tom admits that he might
have had an easier build by using a
bespoke microcontroller, he reveals
that he used a Raspberry Pi so “I
can have my whole development
environment right on the device.”
Rather than “swapping chips into a
programmer, or even attaching an
ICSP cable,” Tom continues, the Pi
“really shortens the edit/compile/
test cycle.”
Tom explains the many
technical issues he had to solve
in his fascinating video at
youtu.be/ar9WRwCiSr0.
E
‘REVERSE-EMULATED’ NES
NES
I prefer to think of it like an
absurdly advanced ‘memory
mapper’ within the cartridge
‘REVERSE-EMULATED’
Right The project
required a
bespoke circuit
board, housing
the Raspberry Pi,
a reprogrammed
NES PPU chip,
and a Nintendo
CIC content
protection chip
Below To m
originally used
a Pi Zero W, but
found it a little
slow for the task
so upgraded
to a Pi 3 for the
final build

Free download pdf