Jump to content
  • Advertisement
Sign in to follow this  
meatbeef

writing an emulator?

This topic is 4760 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I'd like to try and write an emulator just for the learning experience. Something simple like an atari 2600 and maybe if I get it done try my hand at writing one for the snes. What are good sites to learn about the process of writing an emulator? It appears there's not much information on this (or at least I can't find anything on the subject).

Share this post


Link to post
Share on other sites
Advertisement
And... many emulators out there are open source and you can browse the code freely. I haven't looked but there must be some that have well documented code an enterprising young coder could learn from.

Share this post


Link to post
Share on other sites
to do something like that you have to be i imaging amazing with how computers and programming languages work, i mean if youve just read beginners c++i n 20 mins then you may as well go an dig urself an early grave, hoever if you just read assembler for the pros and hacked nasa last night then it will be a doddle i can imagine

all u have to ask urself is can i program a console blackjack game with classes in c++, if the answer is no . . or even maybe, then no, i doubt u have enough knoe how to create an emulator

Share this post


Link to post
Share on other sites
alright thanks,

@zero: Is only for the learning experience I don't care if I get it finished or not, just as long as I get it half working at least. I have some experience in programming c++ around 5+ years and have experience in some other languages as well, nothing special really :/

Again thank you, I appreciate the input.

Share this post


Link to post
Share on other sites
You really should learn a RISC assembly language before trying something like this. An emulator is essentially a software emulation of a set of chip and it's low-level programs like BIOS. There's no way you'll be able to build one until you can at least use one.

Share this post


Link to post
Share on other sites
its ok man, i was just saying i dont want you going down a road which is virtually impossible unless u are one of those crazy coder types, i dont think in 20 years id be good enough to do anything like that, im barely any good at dx after 6 months solid learning

Share this post


Link to post
Share on other sites
Seeing as how I'm probably the only one here making an emulator, I'll give you some advice:

You don't need to know how to make games in assembler. However you should be able to read and understand it as you will have to deal with. You'll need to know the assembler for the system you choose and x86 since lots of examples use inline asm. Also being able to make your own programs for the system is a huge bonus. Oh and if you don't know what an opcode is, well you're screwed.

As for what system to emulate, trust me that the early consoles are not "easy". For example the NES(and SNES and Atari, etc..) cartridges can contain extra processors and have specal memory mappers added on to an already retarded 8/16bit memory system.

I'd suggest going with a hand-held system like the Gameboy or GBA. Their memory model is flat for the most part(no silly "banking") and there's no co-processors to deal with.

Be sure you can find plenty of resources on the system you choose. And download the source to some open-source emulators, it can help a lot when starting out. Just be sure to get one written by someone sane(not ZSNES [lol])

Edit: and if someone tells you to use Python/VB/Java because C/C++/ASM is too hard, tell them to go to hell. You need every cycle you can get.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!