5 ms·
How to Program an NES game in C
- dpflan 11y agoIf you're interested in programming Gameboy Advance games: While in college, one intro course on lower-level computer programming had a few projects for programming for a Gameboy Advance emulator. This site was heavily used for reference and guidance: http://www.coranac.com/tonc/text/toc.htm http://www.coranac.com/tonc/text/toc.htm Also, here are some materials (from the course) and even examples of created projects: _ Related Course Materials 1. Main Reference: http://www.coranac.com/tonc/text/toc.htm http://www.coranac.com/tonc/text/toc.htm 2. GBA Installation: https://github.com/nuppan/Georgia-Tech/tree/master/2nd%20Year/CS%202110/Linux%20Assignments/CS2110/GBA%20Installation https://github.com/nuppan/Georgia-Tech/tree/master/2nd%20Yea... 2. Another site: http://www.loirak.com/gameboy/gbatutor.php http://www.loirak.com/gameboy/gbatutor.php _ Projects 1. "Duckhunt" - https://github.com/jabelman/duck_hunt-gba https://github.com/jabelman/duck_hunt-gba 2. "Pacman" - https://github.com/zjhzyyk/gba-pacman https://github.com/zjhzyyk/gba-pacman 3. Video of "The Snuggler" - https://www.youtube.com/watch?v=wxnEY3RRPp4 https://www.youtube.com/watch?v=wxnEY3RRPp4 4. Video of "Samurai Jack" - https://www.youtube.com/watch?v=fgIeKCxAfSk https://www.youtube.com/watch?v=fgIeKCxAfSk
- sdegutis 11y agoIs it possible to somehow "copy" an NES game that you've compiled onto a real NES cartridge so that it can be played on a real NES? That could make this an incredibly fun hobby. Especially as a parent of kids who actually enjoy NES and SNES games.
- dpflan 11y agoThis seems like a good resource: http://callanbrown.com/index.php/basic-nes-reproduction http://callanbrown.com/index.php/basic-nes-reproduction
- aji 11y agoThe NES EverDrive is probably a good bet: http://shop.krikzz.com/EverDrive-N8-NES-EDN8NES.htm http://shop.krikzz.com/EverDrive-N8-NES-EDN8NES.htm
- edlinfan 11y agoThe simplest way to deploy your homebrew ROMs to a real NES is to use something called a "flash cartridge"[1]. This is equivalent to a real NES cartridge except it is backed by rewritable flash memory instead of a permanent ROM. It contains all of the necessary glue logic[2] so the console can't tell the difference. You can rewrite the flash if you connect the cart to your computer via USB. The magical thing to google if you want to do your own research is "NES flash cart". The "EverDrive" that aji suggests is, indeed, an example of a flash cart. It may or may not be the best one for the NES - I honestly don't know, all of my experience is with the GameBoy. dpflan's approach of erasing and reprogramming a REAL NES cart is also possible, if you enjoy pain and suffering in the name of being lavishly historically accurate. (I know I do sometimes.) [1] https://en.wikipedia.org/wiki/Flash_cartridge [2] https://en.wikipedia.org/wiki/Memory_management_controller
- dustmop 11y agoYes, a few folks in the NES homebrew scene have managed it. Here's a cartridge my team released this year: http://starversus.com http://starversus.com (currently sold out, hope to have more soon) and there's many more at RetroUSB: http://www.retrousb.com/index.php?cPath=30&osCsid=ff2d40cb263f5d9bc0cdda412fc833f6 http://www.retrousb.com/index.php?cPath=30&osCsid=ff2d40cb26...
- mikejmoffitt 11y agoFor testing, some of the available flash or RAM cartridges are good bets. For distributing in small hand-built volumes, an NES cartridge is really just some parallel storage for the 6502 CPU(be it an EPROM, or a FLASH 29-series ROM (easier)) and another chip for the CHR graphics on the PPU bus (a similar ROM). RAM may be used in place of CHR ROM, and bankswitching "mappers" are commonplace, as the 6502 can not address much as-is.