- Emulator Programming- NES-

Posted on 2003-03-10
Medium Priority
Last Modified: 2008-03-17

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.
Question by:hcf
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions

Accepted Solution

joachimc earned 100 total points
ID: 8126014
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.

Assisted Solution

TascoDLX earned 200 total points
ID: 8149402
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.


Expert Comment

ID: 9464247
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

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

As game developers, we quickly learn that Artificial Intelligence (AI) doesn’t need to be so tough.  To reference Space Ghost: “Moltar, I have a giant brain that is able to reduce any complex machine into a simple yes or no answer. (http://www.youtu…
Recently, in one of the tech-blogs I usually read, I saw a post about the best-selling video games through history. The first place in the list is for the classic, extremely addictive Tetris. Well, a long time ago, in a galaxy far far away, I was…
This tutorial will teach you the special effect of super speed similar to the fictional character Wally West aka "The Flash" After Shake : http://www.videocopilot.net/presets/after_shake/ All lightning effects with instructions : http://www.mediaf…
Visualize your data even better in Access queries. Given a date and a value, this lesson shows how to compare that value with the previous value, calculate the difference, and display a circle if the value is the same, an up triangle if it increased…
Suggested Courses

765 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question