RB - Splitting up my mods into another file seems a bit more tricky than I anticipated :p My aim was to put all my mods in specz80.h and specz80.cpp. In doing so I had to create another file (I called it z80_common.h) to move some defines from z80.cpp so that specz80.cpp could see them (At first I put all the defines into z80.h but that meant some other drivers failed to compile due to conflicting defines). Also, some of my specz80.cpp member functions failed to compile because they called z80_device member functions that were defined as 'inline' in z80.cpp. I got around this by removing the inline keyword from various z80_device member functions (but I'm not sure if this was the best approach?). Anyways, here is what I've done so far (and it all compiles/works) so see what you think, I don't mind going back to the drawing board again smile

attempt take 5

Also, I just want mention that I don't think I've quite nailed my implementation for the +2a/+3 models. Specifically, there is a demo called 'Mescaline' that MetalliC suggested I try a while back. There are a few builds of this demo (one for the 128K/+2 models, and one for the +2a/+3 models). The 128K/+2 build looks good on mame, but the +2a/+3 build doesn't. So I probably need to take a second look at this.