Hacker News new | ask | show | jobs
by mrcactu5 4659 days ago
What is the point of learning 6502 now?

I've wanted to try writing for NES. Learning 6502 seems like a fun intellectual exercise - certainly the most fun way to learn assembly.

Even if I could write NES code, I probably can't find working NES hardware to test it on. There are emulators, at which point I may as well write in another language.

2 comments

Why do people have Renaissance fairs, use film cameras, paint instead of using Photoshop, etc? Why do anything? It's fine if it doesn't interest you, but it's not like you need a practical reason to have fun making something.

>Even if I could write NES code, I probably can't find working NES hardware to test it on.

NESes themselves are readily available. Flashcarts like the PowerPak and the Everdrive-N8 are somewhat expensive, but not outrageously so. Some people also gut old games or buy repro PCBs to create test cartridges with somewhat easily-rewritable EEPROMs.

>There are emulators, at which point I may as well write in another language.

As long as you periodically test on the real deal, I fail to see how this would be a problem. It's certainly faster to load a ROM in an emulator than it is to copy it to an SD card or rewrite an EEPROM. Not to mention, there are obvious advantages to having access to a software debugger.

One of the nice benefits of writing for an old console like the NES is that emulators are often the first things ported to new platforms - you effectively get all the portability of writing for a virtual machine, along with the ease of running on only one type of hardware. Most of the hardware/compatibility concerns (Can I maintain a proper framerate on this hardware? Is the screen large enough? What kind of controller does the user have?) are on the person porting the emulator, not the developer. Also, for the user, this means any configuration only needs to be done once for all of the games on that platform.

As for hardware, if you can't find an NES, you can always use a third-party retro console, like the Retron 3.[1]

Also, if you're worried about compatibility, Byuu's cycle-accurate SNES emulator[2] has been expanded to run NES, Gameboy, and Gameboy Advance games, so testing on actual hardware is a lot less necessary than it used to be.

[1] http://www.thinkgeek.com/product/13f8/ [2] http://byuu.org/higan/