View previous topic :: View next topic |
Author |
Message |
airzonk81 Member

Joined: 04 Apr 2005 Posts: 38 Location: Oakland, California, US
|
Posted: Thu May 22, 2008 4:26 pm Post subject: How are console emulators developed? |
|
|
This question has never adequately been answered; and I am pretty darn curious.
It applies to MagicEngine, but also say, ZSNES and others.
You lack documentation on how the chips work. You have hardware and software, what is the process from there? Are most emulators developed with leaked documentation from the hardware manufacturers? How do you go from hardware to emulating undocumented chips in software?
Anyone care to comment?
BTW: Thanks for the ME update, David and Cedric!
--Gabe |
|
Back to top |
|
 |
ReyVGM Member

Joined: 18 Sep 2004 Posts: 73
|
Posted: Fri May 23, 2008 5:32 am Post subject: |
|
|
I would also love to know how they get done, without going into technical stuff of course. _________________ liebe |
|
Back to top |
|
 |
dmichel Admin

Joined: 04 Apr 2002 Posts: 1166 Location: France
|
Posted: Fri May 23, 2008 3:50 pm Post subject: |
|
|
For older machines (8 and 16-bit) documentation was rarely available in the beginning, so the only way was reverse engineering, which is not that difficult, with some assembly language knowledge, a bit of hacking talent, lots of tries and errors, it's pretty easy to figure how the hardware works. Also the hardware of consoles is not that much different from computers, it's just a bit more powerful, any previous knowledge of low level programming on 8-bit computers will help a lot.
The key to success is to choose a very simple game for starting and to go step by step. The first step is to get the CPU emulated and to find out how the memory is mapped, once you got that working you try to figure how the VRAM works, then which graphics format is used, and quickly you have something that starts to appear on the screen.
After it's just a matter of work and perseverance.
Emulating correctly the machine is not too difficult, but quickly you will find out that quite a few games do weird things with the hardware, that's at this moment that the true fun begins. Actually a lot of games use undocumented features of the hardware or rely on hardware bugs to work. And here even if you have documentation this won't help you.
About the documentation, usualy it starts to appear once the first emulator project has been started, but the documentation alone is not enough, a good emulator can't be written with only the documentation, often it contains errors and not everything is documented. For more recent machines (32-bit) the documentation is almost required though, as their hardware start to be complex and more specialized. _________________ David Michel |
|
Back to top |
|
 |
ReyVGM Member

Joined: 18 Sep 2004 Posts: 73
|
Posted: Wed May 28, 2008 6:06 pm Post subject: |
|
|
I see. Thanks for the explanation  _________________ liebe |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|