2012/4/13 Simon Owen <[email protected]>: > While I'm happy to stop short of bus signals for my emulation habit, I > do see the appeal in going down to that level to learn more about how > things work. An incredibly accurate emulation is just a handy byproduct > of the learning process :)
I've enjoyed it because it makes everything fundamentally and unshakeably modular, just like the real chips, so you explicitly can't start cheating. So e.g. the ZX80 is able to use the R register for memory addressing only because it's exposed during the refresh cycle, rather than because I've given external components magical inner sight into my Z80. The design questions that arise from, essentially, making the bus the thing with agency are quite interesting. The major disadvantage is that because it's so compute intensive, it's just not a very popular way to proceed, meaning that the available documentation isn't always as helpful as if you were writing the traditional sort of emulator. So e.g. the situations triggering contention on the Spectrum are easy to express but when you've actually got to implement the floating bus as a floating bus that's a whole other set of considerations. This is, I think, the first time where I've had to read a schematic to implement an emulator.
