|
Having started, but not completely finished (time constraints) a GameBoy emulator, I would actually say it's deceptively difficult. The "easiest" part is emulating the basic Z80 CPU operations, but even that implies the individual (truly) understands how a CPU works: registers, op codes, timing, MSB/LSB, addressing, program counters/jump instructions etc. Now, you have to add on how cartridges work: the various memory bank controller types, bank switching, save states, etc. Then, you have code to display video, emulate audio, and controls. Putting all that code together, in a nice OO organization, is top 5% coder level stuff. Anyone that did that would almost certainly get a 'hire' vote from me. It's probably 10-20X the complexity of most demo projects I've seen. |
There must be some subset of games that don't have a mapper. It's good to know when you start that it's something you might want to do later, but you can get tetris going with out it.