View Full Version : Starting with Emu programming

July 16th, 2002, 05:16
I am familar with C/C++, x86 Asm and other programming languages. I am realy interested in programming f.ex. an emulator. I never done something like that. Now i am searching a system which is well documentated and build realy easy, so i can get in touch with the art of emu programming. Is there maybe any material of easy (realy realy realy [...] easy) emu programming, so that somebody can learn how everything is going on, and learn the principles of emulating anything. The best is a system that is so easy build that you can get first results fast. Has maybe someone any Tips and some pages/tutorials/faqs/....???

This would realy helpfull and maybe helps other very well. (It is not realy helpfull to start with a high and system like n64 or a non documented system like xbox)

Maybe there are some sources from realy easy emulators out there??

Thank you very much for every help you can give me

July 16th, 2002, 05:33
What do u mean by fast results ?

There's no system that you could emulated in one hours...
Anyway, i think the easier system is the nes because it is really well documented and you don't have speed issues with it...

July 16th, 2002, 05:41
I also dont think that i can emulate something in one hour but maybe in a good time, because i am a newbie on emu programming (maybe it is better to say, i am a noby ;) ). I thought that Z80 or 6502 are easy. NES have to many things to challenge (to many for a noby).

July 16th, 2002, 08:12
Well, it is always suggested that you do other thing before you start working on an mulator. So you get to know the languages better so that when you start the emulator you are more experienced. I myself am learning C++ right now and I wanna do a gfx plugin. But I'll probably do something more simple before that ;).

July 16th, 2002, 08:27
Ähm, i am working with C/C++ and x86 Asm quite a long time. Also I have basic ideas how to do a cpu emulator (interpreting, etc). But the problem is, that i want to try it on something more easy. so i can test everything on a basic way. I dont want to write a high and mega fast PS2 emu, but i want to write a easy emulator (maybe it is better to write befor a realy fast disassembler) and than test more ideas. Maybe after this I can (if i was succesful) test to write more complicant stuff.

July 16th, 2002, 09:49
um, you said the 6502 is easy to emulate in your opinion, but you don't want to emulate the nes because it is too hard, but the nes uses the 6502 processor, soo r u confused?

July 16th, 2002, 09:58
Moshroum, while you are interested with N64 emu programming, but N64 system are not easy, neither is it well documented. There are many source code available, you can take a look of one of them, to see if you can understand it. It will not be easy or fast though.

July 16th, 2002, 18:12
Gameboy is very easy to emulate and has a lot of documentation. I even been able to do it in QuickBasic so in C it should be a piece of cake ! You get results fast because video isn't complicated.

July 16th, 2002, 18:51
@mesman00. thx i didnt know this (i never read a sys spec about nes. i only heard that exist some ugly problems with some games. dunno more.) Maybe I real try to do something with nes. first thing is maybe to get the rom format and than doing a good and fast disassembler. Am i right?? Thx for your help
@Rice. i am not interested in making a "super high end mega fast and revolutionary" emulator, but in making a easy, maybe often done before emulator for getting the basics. Maybe it is real helpfull to look at a more complicant emulator to know how they done this and that. Also thx to you

July 16th, 2002, 18:53
@Jyzero, hm, gameboy sounds better than nes (dunno why but it sounds easier :) ). I hope your right. But what is it with an old arcade system. Are they are more complicate than a gameboy??

July 16th, 2002, 21:55
im not sure about this one, but the older arcade systems may not have as much documentation which makes them a little harder to emulate?? i'm not really sure though

July 17th, 2002, 01:42
Originally posted by Moshroum
@Jyzero, hm, gameboy sounds better than nes (dunno why but it sounds easier :) ). I hope your right. But what is it with an old arcade system. Are they are more complicate than a gameboy??

I've done both Gameboy and NES emulators ;)

In my opinion the Gameboy was much easier to emulate than the NES. Z80 is a VERY simple instruction set to work with and is easier to understand while debugging. Also, timing is easier to get correct (eg, it has a scanline coincidence flag rather than purely doing it based on timing or sprites colliding with the background o_O). It is also easier to draw the graphics because that vram index register on the NES (i've only heard it called the loopy register O_o) is not needed for games to work. Plus, there are less MBCs for gameboy than there are mappers for the NES.

So basically, I think Gameboy would make a whole lot more sense to you. Here is a document that should hold most everything you'd need to know about the gameboy system:


Have fun, and good luck!

July 17th, 2002, 01:51
woooof this is fantastic. I dont think i can thank you so much as it need for our help. This thread is so helpful.

Big Big Big [...] THX to everyone.

July 19th, 2002, 10:19
I have many documents related to the GB that I have found over the net. By far the most comprehensive guide has been.


Also the Otaku No GameBoy cribsheet is a good reference.


Some other good documents (sound, gbc stuff) at...


Jeff Frohwein has a nice website geared toward GameBoy development at...


Also, take a look at source code from open source emulators.

Good Luck,

P.S. GameBoy was my first emulation project.

July 21st, 2002, 21:47
Originally posted by Moshroum
woooof this is fantastic. I dont think i can thank you so much as it need for our help. This thread is so helpful.

Big Big Big [...] THX to everyone.

Yeah! Those guys are fantastic. Reading theirs posts are really interesting.

September 29th, 2006, 13:08
I tried at first nes emulation but it was a bit difficult to understand. I can program quite well but i don`t have much knowledge about how the cpu works, the timers and stuff like this, so my 6502 is not finished yet. Can anyone explain this to me.

September 29th, 2006, 17:54
EDIT: @pegasus001, this thread died 4 years ago, don't bump old threads. Doing so is a recipe for disaster. ;)

September 30th, 2006, 13:38
we have a gb emu thread for gameboy documentations as well as a chip 8 thread for programming chip 8 emulators...

i wonder why there are so many threads like this which are everytime containing the same questions about emulator programming O_o

September 30th, 2006, 21:55
First Necromancing 4 year old threads is not a good idea ESPECIALLY since THIS THREAD exists for the NES (http://www.emutalk.net/programming/25700-nes.html). Please post questions on that thread.
Second thread is now closed.

Third I won't issue you a warning but please read the stickies first since you couldn't miss it at the top of the screen where they reside, I'm not sure why you revived a dead thread.

I'll try to copy your querry to that thread.