Live data from Hacker News

I made an NES emulator – What I learned about the original Nintendo

medium.com

1–10 of 42 posts

Re: I made an NES emulator – What I learned about the original Nintendo

#2
If you're into this kind of thing, just dig in and give it a shot! Old systems are surprisingly understandable after a few hours' research and fooling around.

There's a community that looks for unused content that remains in games. The main wiki for this community is http://tcrf.net/ >, which contains a fascinating amount of material. If you don't see your favorite old game on there, why not dissect it and try to find some unused stuff?

I did this for a favorite old game of mine called M.C. Kids. I reverse-engineered the game's level and graphics data formats and managed to create a level dumper for the game. Then, I did the same for a leaked prototype version of the game. I took the dumped images and made a page on TCRF comparing them:

http://tcrf.net/Proto:M.C._Kids

It took a few months on afternoons and weekends. It was very challenging, but I never felt overwhelmed by the details. There's really only so much you can do with three registers and little more than adding and branching instructions. If you're curious to see what a reverse-engineered level dumper looks like, the code is available at https://gitlab.com/mcmapper/mcmapper/blob/master/main.c >.

Re: I made an NES emulator – What I learned about the original Nintendo

#3
post #2

If you're into this kind of thing, just dig in and give it a shot! Old systems are surprisingly understandable after a few hours' research and fooling around. There's a community that looks for unused content that remains in games. The main wiki for this community is http://tcrf.net/ >, which contains a fascinating amount of material. If you don't see your favorite old game on there, why not dissect it and try to fin…

It's pretty fun to work on this kind of stuff. I wrote an OperaFS (3DO CD filesystem) extractor in Go to get at a video file that was contained in an old game.

Admittedly, I should get back to work - because I still don't know how to play the video file that I pulled out.

Re: I made an NES emulator – What I learned about the original Nintendo

#5
post #2

If you're into this kind of thing, just dig in and give it a shot! Old systems are surprisingly understandable after a few hours' research and fooling around. There's a community that looks for unused content that remains in games. The main wiki for this community is http://tcrf.net/ >, which contains a fascinating amount of material. If you don't see your favorite old game on there, why not dissect it and try to fin…

MC Kids was one of your favorite games? My wife and I actually played that the other night and wondered who actually bought it when it came out? Was it something you wanted or was it a random gift of some sort?

Re: I made an NES emulator – What I learned about the original Nintendo

#6
Watching the sprites in vram while the game runs is really neat, and shows a bit about how the game is put together. For instance in Kirby's Adventure, (IIRC)Kirby's walking sprites take up about half the available RAM, and they get swapped out for the flying sprites when he jumps.

Compare this to some of the early non bank switched games where the all sprites fit entirely in memory, with some creative tweaks (bushes are recolored clouds, etc).

It's a bit myopic of Nintendo that on-cartridge mappers had to be necessary, but on the other hand, it's early 80's consumer hardware; it was probably state of the art in the late 70's ... which makes it hilarious that Wario's Woods was released in 1994.

Re: I made an NES emulator – What I learned about the original Nintendo

#7
post #2

If you're into this kind of thing, just dig in and give it a shot! Old systems are surprisingly understandable after a few hours' research and fooling around. There's a community that looks for unused content that remains in games. The main wiki for this community is http://tcrf.net/ >, which contains a fascinating amount of material. If you don't see your favorite old game on there, why not dissect it and try to fin…

MC Kids was one of your favorite games? My wife and I actually played that the other night and wondered who actually bought it when it came out? Was it something you wanted or was it a random gift of some sort?

Honestly, I don't remember how we got it. I was four years old when it was released. My mom used to go into Funcoland and just buy whatever looked good, or maybe what an employee recommended. Actually, I should ask her if she remembers.

And yeah, I'm a big fan. Aside from just growing up with it, it's a really solid NES-era platformer. If you're curious to learn more about it, one of the developers actually maintains a blog and has written about it a few times. He also posts on HN infrequently.

http://games.greggman.com/game/m_c_kids/

http://games.greggman.com/game/programming_m_c__kids/

Also he & the other two primary developers actually signed my cartridge:

http://gamesplusone.com/mckidscart.jpg

I'm a dork.

Re: I made an NES emulator – What I learned about the original Nintendo

#8
post #6

Watching the sprites in vram while the game runs is really neat, and shows a bit about how the game is put together. For instance in Kirby's Adventure, (IIRC)Kirby's walking sprites take up about half the available RAM, and they get swapped out for the flying sprites when he jumps. Compare this to some of the early non bank switched games where the all sprites fit entirely in memory, with some creative tweaks (bushes…

That's really cool... I thought about writing a visualizer to display stuff like that but I haven't yet.

Re: I made an NES emulator – What I learned about the original Nintendo

#9
post #7

Earlier quoted context omitted.

MC Kids was one of your favorite games? My wife and I actually played that the other night and wondered who actually bought it when it came out? Was it something you wanted or was it a random gift of some sort?

Honestly, I don't remember how we got it. I was four years old when it was released. My mom used to go into Funcoland and just buy whatever looked good, or maybe what an employee recommended. Actually, I should ask her if she remembers. And yeah, I'm a big fan. Aside from just growing up with it, it's a really solid NES-era platformer. If you're curious to learn more about it, one of the developers actually maintains…

It was a solid game. It was dynamic enough to remain interesting. And the difficulty level was perfect for my ~6 year old self. Though, I don't think I ever actually beat it. Got stuck on Hamburgler too many times.

Re: I made an NES emulator – What I learned about the original Nintendo

#10
post #2

If you're into this kind of thing, just dig in and give it a shot! Old systems are surprisingly understandable after a few hours' research and fooling around. There's a community that looks for unused content that remains in games. The main wiki for this community is http://tcrf.net/ >, which contains a fascinating amount of material. If you don't see your favorite old game on there, why not dissect it and try to fin…

>Old systems are surprisingly understandable after a few hours' research and fooling around.

This is why I say old computers never die - their owners do! Old systems have lots of technology to engage the hacker mind.

By the way, my favourite emulator is Oriculator, which emulates the Oric-1/Atmos/Telestrat/Pravetz 8-bit machines that never had much of a chance in the 80's .. just look at this beautiful code, for example, of how to emulate a 6502:

https://code.google.com/p/oriculator/source/browse/trunk/650...

With the revival of emulation of these systems, we're even getting new software written for them - in the modern era, titles are being released for these old machines that we would never have though possible in the 80's. Just look at this beautiful collection for the Oric-1 - all made in the 21st Century - for example:

http://space1999.defence-force.org/

http://stormlord.defence-force.org/

http://1337.defence-force.org/

http://im.defence-force.org/

http://skooldaze.defence-force.org/

http://oricium.defence-force.org/

Featuring Gameplay and Graphics that we would never have thought possible in the 80's!

http://www.oric.org/software/pulsoids-1515.html

Check out this collection from Twilighte, who before his untimely departure was a real master of this platform in the 21st century:

http://www.oric.org/index.php?page=software&fille=softwarese...

So much fun to be had on these old machines!

Post reply on HN