Thread: Writeing an emulator?

  1. #1
    Registered User
    Join Date
    Aug 2001
    Posts
    411

    Writeing an emulator?

    Im thinking of trying to write an NES emulator, anyone get me started? More than just an emulator i want to make a program that just runs the rame, not necessarally emulates the NES hardware. Surely the rom contains all the data about how the game is played.

  2. #2
    Banned master5001's Avatar
    Join Date
    Aug 2001
    Location
    Visalia, CA, USA
    Posts
    3,685
    The term used for something that runs a game without emulating the hardware is "wrapper." And I'll try and point you in the right direction. My guess is that you don't want to backwards engineer an NES so what you'll want to do is find someone who can tell you how to decode an NES rom. Once you know what the binary is "saying" you can just write a program to do what the program is asking the nes to do.

    As for writing an actual emulator. Get the full specs of an NES. And then look for the best way to utilize your hardware to act as if it were an actual NES.

    On a side note. Nintendo looks very unkindly towards the development of any program/hardware that exploits its patented technologies. On a moral note, making emulators for anything is usually illegal. On a legal note, emulating anything Nintendo made should be pretty secret.

  3. #3
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    On another note you should have an extremely good handle on assembler if you really want to do an emulator. Most emulators load the rom into memory and then run it. The emulator is like a driver in memory that emulates the platform for the game. This is not a simple task at all unless you are a pro at assembly language. There are some things needed for an emulator that C just cannot do or do very well.

    The legal and moral aspects, however, should be enough for you to abandon this project and move on to something more legal and ethical.

    Thanks Eber for pointing out the legal and moral ramifications of this.

  4. #4
    C > C++ duders ggs's Avatar
    Join Date
    Aug 2001
    Posts
    435
    legal ramifications certainly, but is there really anything wrong with wanting to play ten year old games? and what if you own a nintendo (I do)? My nintendo still works, but I'm not so sure about the games... does my licensed right to the games run out when they wear out? Same goes for the nintendo? Hell, nintendo games are fun and I'm sure with the gamecube out and free gameboy advance emulators/development systems already out there, nintendo's legal department has bigger fish to fry.
    .sect signature

  5. #5
    Registered User
    Join Date
    Aug 2001
    Posts
    411
    If its such a big deal why is there so many NES emulators out there, i personally have a dozen N64 emulators, not to mention NES SNES NEO-GEO SEGA MAME and other emulators.

    There is alot of grey aera in the whole emulation thing, I understand that as long as you dont attempt to sell an emulator its ok. As for roms, you are allowed a 'backup copy' of only games that you own.

    Nintendo is cracking down on the N64 emus and roms, but I havent heard anything about problems with NES or SNES emulation lately.

    I want to develop a way to give the nes games a facelift, I have had several ideas on how to this, some might be easy, others more complex. If I could figure out what exactly is on a .nes file i might could do something.

  6. #6
    Banned master5001's Avatar
    Join Date
    Aug 2001
    Location
    Visalia, CA, USA
    Posts
    3,685
    An important note to make about emulators and NES or any other nintendo platform is that Nintendo strictly prohibits making backups of games. So no matter how you look at it is, or at least nintendo says it is, theft. Bubba is right on about how an emulator works (usually). Since your cpu isn't the same as a NES'sit would be impossible for the game to run off of your hardware without making mario move at the speed of light. If you make a wrapper, then you should write a threading system that calls they cpu after a length of time as to simulate a 1.79mhz NES cpu. Since NES had a mere 4k of ram (thats including vram!) memory will not be an issue. Anyways, making an emulator is like writing a virus. Many programmers will do it merely because they can.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Console, Terminal and Terminal Emulator
    By lehe in forum C Programming
    Replies: 4
    Last Post: 02-15-2009, 09:59 PM
  2. x86 assembly emulator
    By maxorator in forum Tech Board
    Replies: 5
    Last Post: 12-01-2008, 08:21 AM
  3. Emulator Programming
    By Matt3000 in forum C Programming
    Replies: 2
    Last Post: 07-13-2006, 05:20 PM
  4. How do terminal emulator work?
    By Roaring_Tiger in forum C Programming
    Replies: 1
    Last Post: 04-15-2003, 08:20 PM
  5. Porting the NES emulator from DOS to Linux
    By billholm in forum Game Programming
    Replies: 14
    Last Post: 08-03-2002, 01:48 AM