Jump to content
  • Advertisement
Sign in to follow this  
SKREAMZ

emulation

This topic is 4731 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 want to start writing emulators but no idea where to start, i wanna start with something considered easy, and finnally want to write a nes emulator.

Share this post


Link to post
Share on other sites
Advertisement
first of all:

Do you know c++?

Do you know it well, and I mean VERY well?


:)


Emulators are a very hard thing to code, basicly you must create a function for every piece of hardware that the console is made of... then you must make sure these cooperate with each other in the way they should...
then either steal the bios ( ~ OS of the console) which is NOT recommended, or create a new one and make that work for your emulator...


Sorry if it's sounds like I'm an ass, but you should really try to make something more simple. Even a normal game like, say Halo would be easier composed by a single person than an emulator! :)

But if your serious, start programming a Game&Watch game... then perhaps some console with a lot of documentation!

cheers!


For lots of info and emulators, check out clicky;

Share this post


Link to post
Share on other sites
Quote:
Original post by Rasmadrak
first of all:

Do you know c++?

Do you know it well, and I mean VERY well?

Add some ASM to that. Would be hard to write an emulator without any knowledge of ASM in general (and of course, in particular on the platform you're emulating)

Share this post


Link to post
Share on other sites
Well I'm writing a GBA emulator right now(you can see some screenshots in my Journal. I need to make a new post :))

Anyway I don't think you need to know assembler. Currently I'm just using C++(you could use C too). I do plan on adding asm later though for speed but you can create a fully operational emulator without assembler.

As for what system to emulate, trust me that the early consoles are not "easy". For example the NES 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 source 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.

Share this post


Link to post
Share on other sites
Quote:
Original post by Scet
Anyway I don't think you need to know assembler. Currently I'm just using C++(you could use C too). I do plan on adding asm later though for speed but you can create a fully operational emulator without assembler.
Even if you use a pre-made processor core it'll still be next to impossible to debug the emulator unless you understand assembler.
Much of the debugging will consist of tracing through ROMs, trying to figure out what it does to be able to analyze why it doesn't work.

Share this post


Link to post
Share on other sites
Quote:
Original post by doynax
Quote:
Original post by Scet
Anyway I don't think you need to know assembler. Currently I'm just using C++(you could use C too). I do plan on adding asm later though for speed but you can create a fully operational emulator without assembler.
Even if you use a pre-made processor core it'll still be next to impossible to debug the emulator unless you understand assembler.


Well I meant he doesn't need to know x86 asm, but yes he will need to know how to read and understand asm mnemonics and opcodes. (Like Spoonbender said)

Share this post


Link to post
Share on other sites
yes i know c++ been writing app and gfx in in it for the past 7 years lol

chip-8 <-- ill have a look at that tnx

Share this post


Link to post
Share on other sites
Regardless of which system you intend to emulate I recommend that you start out by writing a few simple tech demos for it, to feeling for how the system works and how any games you'll be emulating is likely to work.
Although I guess that may be slightly overkill for a chip-8 emulator..

Quote:
Original post by Scet
Well I meant he doesn't need to know x86 asm, but yes he will need to know how to read and understand asm mnemonics and opcodes. (Like Spoonbender said)
Yeah, sorry.. I should've read your post more thoroughly.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Rasmadrak - C++ is not required to write an emulator at all. Any programming language will do. You WILL need to know ASM like the back of your hand, if not better though.

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!