Creating Emulators?

Fr0gman

New member
Hello! I have been coding Bukkit plugins for Minecraft, in Java, for about 2 years now. I want to start getting into the world of making Emulators. I know how to use them, but I want to MAKE one. Is there any video someone can send me to where I can learn how emulators work, how game consoles work, what I need to know to make one, and any other links that will possibly help me.

Thanks,
Fr0gman.
 

Lefteris_D

Administrator
Staff member
Unlike bukkit, where you needed understanding of just the API for the most part to make the plugins, emulators require knowing the architecture of the system hardware as well.

How about you start with something simple? Halfnes is an NES emulator written in JAVA which should be a familiar language to you, here is the github page: https://github.com/andrew-hoffman/halfnes

I hope that looking at the source can get you started :)
 

Fr0gman

New member
Thank You,
So in order to make my own emulator I need to understand op-codes, etc, and how the hardware and software work together?
 

Lefteris_D

Administrator
Staff member
Well, since it will be your first attempt I would suggest something simpler such as the 8 bit systems (NES, Master System etc), it would be silly of me to recommend things that support 3D straight off the bat! Those systems on the other hand, given their age, are well documented by now and there are also open source projects out there that can let you peak to the code for ideas.

Also the reason I suggested Halfnes earlier is because you mentioned Bukkit and I assumed it would be a good stepping stone to check out another Java based project. You will see that most emulators out there are based on C++ (and variants like VisualC) with some parts written in ASM for more advanced projects.
 

Fr0gman

New member
Alright, I'll do my research on the NES and see if I can figure out the HalfNES emulator, then go ahead an attempt to make my own.
 

Touko White

I'm cute, aren't I?
A bit of a bump but good programming languages for emulators are the C languages, and if you want to make a multi-platform, go with Java.

A lot of C or C++ based emulators are very good, and indeed both languages seem to let you do anything you wish with the program. I have no experience but I have heard this. :)
 

jeruka9-san

Rookie Developer >_> <_<
good info from nesdev somepeople from here (skilled programers,people who test your build) java,c++,c,vb and net(microsoft) im think those are the best for write emulators example:nestopia,fakenes,fceux (c++))
im recomend info about emualting as mappers halfnes is junk for me have problems with play music normaly from lode runner
best mappers have fakenes nestopia also fceux fceux suck ppu nestopia better but have few bad mappers(cpu jam) that was in nestopia 1.40 im not recomend jnes daren randali posted code of nester good ppu and apu bad mappers fakenes latest is frozen on my xp im will try make mix of those good also as sound and video is nintendolator but as emulator have few problems
you can also use visual c++ or visual basic m dont know object pascal (delphi) or clear freebasic compiler or freepascal are good for write i will recomend those languages above actualy i have full info of nes and all source codes also full nes roms pack but not post here roms (illegal) but im dont want make angry noone as im pirate thats all
 
Last edited:

jeruka9-san

Rookie Developer >_> <_<
:) i was choose c++ now im recomend tools like codeblocks if you dont have money or you not pirate devc++ is also good : https://sourceforge.net/projects/orwelldevcpp/
A new and improved fork of Bloodshed Dev-C++
for more info and hack find book reverse engering for beginers link here ist free book :http://beginners.re/
Q: Why this book is free? You've done great job. This is suspicious, as many other free things.
A: To my own experience, authors of technical literature do this mostly for self-advertisement purposes. It's not possible to gain any decent money from such work.
this book is used at least in:

Texas A&M University
Comenius University in Bratislava
Masaryk University
Technical University of Munich
Hasso Plattner Institute
Ivanovo Power Engineering Institute
Chelyabinsk State University
Aalto University .
happy hacking :)
 
Last edited:
Top