• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1170
  • Last Modified:

- Emulator Programming- NES-


Yeah, so I am masochistic enough to want to write an emulator for the NES. I know there are a bunch out there, but I want to do one on my own. I have the resources for NES system specs, 6502 Instruction Set and all. I was wondering if any of you out there have any pointers, websites to help me tackle the following topics. Any comments/suggestions are appreciated

1. Tools necessary: 6502 (dis)assembler(s), x86 assembler, profiling tool, C compiler
2. API programming: Basically I want to avoid using C++ at all costs. Do any of you know of other approaches?
3. Graphics rendering: Could I just program the graphics card via a DOS interrupt? Or should I use certain C libraries?
4. Sound programming: Similar to above, would I write to the sound card?

I'm really interested in this and would appreciate some help from the fellow bitpushers out there. Thanks.
2 Solutions
You should use DX or openGL to do it. Under no circumstances try to adress the graphics or sound card by yourself.

I can't see any reason to avoid using C++. Emulating the NES with modern hardware doesn't really require you to max out the machine with cryptic assembler routines so why do it?

I think you can find the source to several of the ones that are out there and see what they have done.
I assume you intend to write your emulator for DOS.

Here are some sites (this should cover most if not all of what you wanted):

-- nesdev.parodius.com

Alot of NES utilities (6502 assemblers/disassemblers, ROM tools, etc.)

-- www.zophar.net

Emulators and tools for a variety of platforms including NES

-- nasm.sourceforge.net

NASM - Great, free x86 assembler

-- www.delorie.com/djgpp/

DJGPP - Free 32-bit C/C++ dev suite (compiler and linker) based on GCC

-- www.rhide.com


-- alleg.sourceforge.net

Allegro - Very popular (and free) set of libraries for graphics, sound, user input, etc.

This old question needs to be finalized -- accept an answer, split points, or get a refund.  For information on your options, please click here-> http:/help/closing.jsp#1 
Post your closing recommendations!  No comment means you don't care.

Featured Post

Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now