emulation
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.
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;
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;
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)
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.
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.
Quote:Original post by ScetEven if you use a pre-made processor core it'll still be next to impossible to debug the emulator unless you understand assembler.
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.
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.
Quote:Original post by doynaxQuote:Original post by ScetEven if you use a pre-made processor core it'll still be next to impossible to debug the emulator unless you understand assembler.
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.
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)
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
chip-8 <-- ill have a look at that tnx
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..
Although I guess that may be slightly overkill for a chip-8 emulator..
Quote:Original post by ScetYeah, sorry.. I should've read your post more thoroughly.
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)
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.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement