

GoldenEye (N64) has a fully-functional ZX Spectrum 48x emulator built into it. - emillon
http://www.therwp.com/forums/showthread.php?t=48139

======
strags
I wrote a NES emulator for ExciteBike 64, so that the original 8-bit
ExciteBike could be played as an unlockable level. The hardest part was
getting the audio to sound approximately right!

Fun fact: NES Excitebike supported saving and loading your custom tracks to
the Famicom Data Recorder. The USA version of the FDR was never released, but
the USA version of NES Excitebike still had all the save/load
code+functionality built in. When you tried to save a track it would just hang
for a while before returning to the menu. After figuring out where the
save/load routines were, and where the track was stored in RAM, we were able
to put hooks in the emulator to save the tracks to the N64 cart.

~~~
jcurbo
Audio seems to be a problem in a lot of emulators... SNES emulators had issues
with sound for years. (wind blowing in FF3 (6j) being the one I always
remember) I guess it's because of trying to support the capabilities of the
actual sound chip?

Also the bit about the track saving is fantastic. Thanks for sharing!

~~~
nickloewen
> I guess it's because of trying to support the capabilities of the actual
> sound chip?

This may be the case for some emulators -- such as the NES emulator in
excitebike. However, (if I understand everything I've read correctly) the SNES
didn't have a 'sound chip' in the same sense that the NES (or GameBoy, C64,
etc.) did. The NES and all of Nintendo's other hardware used to synthesize its
sound in real-time, but that changed with the SNES, which introduced sample-
based audio instead. (Fun fact: some people suggest that the N64's sampled
audio can meet -- or exceed -- CD quality!)

These pages know more about SNES audio than I do:

<http://chipmusic.org/forums/topic/217/so-super-nintendo/>
[http://en.wikipedia.org/wiki/Super_Nintendo_Entertainment_Sy...](http://en.wikipedia.org/wiki/Super_Nintendo_Entertainment_System#Audio)

I suspect issues with SNES emulation are simply that all of the SNES emulators
we have are fairly poor in _all regards_, it's just that it's easier to notice
in the sound than in things like timing.

Here are some examples of the other failings of many SNES emulators:

<http://byuu.org/bsnes/accuracy>

~~~
BlackAura
The SNES sound hardware was a little bit more complicated than that.

It has a control CPU, and it's own RAM, with no access to the contents of the
cartridge, or to main RAM. Obviously, you have to emulate all of that
accurately, or the code that controls the sound output might not work
correctly.

The actual hardware is more complicated than just a sample mixer. It's
implemented as a custom DSP, which does sample decompression, high quality
resampling, mixing, has an envelope generator, several effects (programmable
FIR filter, echo, panning), and a noise generator.

Older SNES emulators didn't really emulate any of this. They treated it as if
it were a simple sample playback device. This worked OK for most games,
because they didn't use those features. However, when a game actually used
those features, everything sounded wrong.

Later, they started supporting the effects, but nobody understood how the DSP
was actually implementing those effects, so they didn't sound quite right.
They just implemented stuff that sounded about right on the games they were
testing on. Reverse-engineering all the hardware, so this stuff could be
emulated accurately, took a very long time.

Right now, the SNES audio hardware is completely understood. We have several
emulators that are perfectly accurate, both in terms of timing, and output.
For example:

<http://www.slack.net/~ant/libs/audio.html#snes_spc>

Both ZSNES and bsnes use that library, and I believe that Snes9x is nearly as
accurate now.

That said, I don't think anyone's actually dumped the DSP's program code.

------
JonnieCache
The amount of stuff that lies hidden in video game codebases for decades never
ceases to amaze me.

See <http://tvtropes.org/pmwiki/pmwiki.php/Main/DummiedOut>

If this kind of thing interests you, then you will very probably enjoy the
story of the legendary Ocarina of Time Debug Cart

[http://www.assemblergames.com/forums/showthread.php?23285-Or...](http://www.assemblergames.com/forums/showthread.php?23285-Origins-
of-Zelda-Master-Quest-Debug-Rom)

[http://tcrf.net/The_Legend_of_Zelda:_Ocarina_of_Time_(Debug_...](http://tcrf.net/The_Legend_of_Zelda:_Ocarina_of_Time_\(Debug_version\))

Also, I'd just like to take a moment to show some appreciation for Rareware,
one of the greatest game dev houses ever. They're responsible for so many
great childhood memories, as well as breaking many technical and artistic
boundaries.

~~~
shinratdr
> See <http://tvtropes.org/pmwiki/pmwiki.php/Main/DummiedOut>

You bastard.

> The Cutting Room Floor is a site dedicated to unearthing and researching
> unused and cut content from video games.

Seriously, stop it. I have things I have to do like eat and sleep. If I'm
found starved to death at my computer, you'll know who to blame.

> <http://tcrf.net/Final_Fantasy_VII/Debug_Room>

"In the latest case of video game related violence, shinratdr was found dead
at his house today, after spending two straight weeks reading about content
cut from various video games. He was about to quit when he stumbled upon the
page for the FFVII debug room and all hope was instantly lost. He will be
missed, I guess."

~~~
JonnieCache
Yeah sorry about that. Should've given some warning.

------
leoh
Looks like the server is busy with requests. Here's a cached version:
[http://webcache.googleusercontent.com/search?q=cache:http://...](http://webcache.googleusercontent.com/search?q=cache:http://www.therwp.com/forums/showthread.php%3Ft=48139&ie=UTF-8&oe=UTF-8&hl=en&client=safari)

------
polshaw
Neat. Jetpac actually shipped as a playable sub-game in Donkey Kong 64, so I
guess this emulator was ultimately used there.

~~~
coroxout
I remember a friend being excited before Donkey Kong 64's release because he'd
heard about the Jetpac sub-game - I wonder if he already had Goldeneye...

I just felt old on realising that the N64, which I remember reading previews
of in Edge magazine, is as old now as the 48k Spectrum (treasured artefact of
my childhood) was when the N64 came out. It helps a little that I didn't see
an N64 in action until 3 years after its Japanese release.

~~~
vidarh
The N64 is actually the only console I've ever played... I had a Commodore 64
and then Amiga all they way through the "early console years", and only played
some N64 stuff because a house mate bought one.

Then I sort of fell out of gaming apart from a bit of simulation and strategy
games... Getting tempted again these days when I see how far they've gotten.
With a young son taking up my time I suspect it'll be him that'll be the
excuse...

------
kranner
Very nice, but do they mean ZX Spectrum 48K? I've never heard of a 48x.

~~~
ertdfgcb
Yeah, it looks like a typo. A Google search for "ZX Spectrum 48x" shows this
article as the top result, and the Wikipedia page only lists the 48k and 16k.

------
earbitscom
This was the greatest video game ever made.

~~~
Torn
Was? Until what?

~~~
freehunter
Perfect Dark, which was basically the same game but with updated graphics and
an alien plotline.

~~~
oinksoft
That game always seemed like a choppy, blurry GoldenEye to me.

~~~
davidwtbuxton
Perfect Dark benefited greatly from the N64 expansion pack, and was a lot less
fun without it. I'm not certain it was better than Golden Eye (mostly because
I found the second level very frustrating) but it had better graphics and a
much more ambitious style of play.

------
Permit
Looks like a video of this in use can be found here:
<http://www.youtube.com/watch?v=ONJtqf2lIIM>

------
intsunny
Hrrm, being that cartridge space is absolutely premium, and the size of the
games affected their profitability, I wonder if this code was left in there
with the space trade off of other features. (Golden Eye was a 96 megabit/12
megabyte cartridge.)

~~~
smackfu
My guess is that it was just a screw-up, and cost them $x0,000 over all the
cartridges.

~~~
vshade
The cartridges have a fixed size, so if the game was made to fit in a bit less
than 12MB but more than 8MB(or 10MB I didn't lookup the size of rom chips)
then the cartridge would cost the same

------
gazrogers
Excellent! Now all I need is an N64 emulator...

~~~
bandy
The N64 is inexpensive enough and readily available at secondhand shops. I got
mine so I could play Road Rash 64 - in my experience, the best version ever,
having played all of the RR titles.

~~~
joelhaus
Or you can try this app, which Google appears to have removed today (cache:
[http://webcache.googleusercontent.com/search?q=cache:https%3...](http://webcache.googleusercontent.com/search?q=cache:https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.emudev.n64))
-- installed it, but haven't tried it yet... here's a backup of the .apk from
my phone:
[http://dl.dropbox.com/u/32510284/N64%20Player%28Free%20N64%2...](http://dl.dropbox.com/u/32510284/N64%20Player%28Free%20N64%20Emulator%29-15.apk)

It's also hosted on Github: <https://github.com/emudeveloper/N64-Player--
Mupen64plus->

------
sycren
I remember the legality of emulators being rather spotty until this ruling was
made:
[http://en.wikipedia.org/wiki/Lewis_Galoob_Toys,_Inc._v._Nint...](http://en.wikipedia.org/wiki/Lewis_Galoob_Toys,_Inc._v._Nintendo_of_America,_Inc).
Since Nintendo are against emulators:
<http://www.nintendo.com/corp/legal.jsp#emulator> I wonder what they think
about the ZX Spectrum emulator and the roms that it contains that the player
did not specifically buy..

~~~
jamesu
With the exception of the "Monitor Program" (which "was not supposed to be
included"), the games included were all developed by Tim and Chris Stamper,
co-founders of Rare.

Provided they own their own IP, i don't see how this could be a problem.

