This patch does two things. Firstly it adds awareness of the ZX Bus to the emulator. This is needed because the IORQ on a system with a ZXBus device added is routed through the ZXBus and only ripples as far as the first card to claim the ports. Without this things like NemoIDE just don't work as they clash with the banking registers. I've made the bus explicit and limited the per peripheral changes to defining the bus type. ZX Bus devices get put first and the iterator knows that a ZX bus device stops further device responses.
The second part adds the NemoIDE interface itself which is a fairly typical IDE interface with a latch port for the other 8bits of the data. I believe the behaviour is correct at this point based both upon the documentation and also the behaviour of my related ZX Evolution machine which has an inbult 'improved' NemoIDE.
No ROM images are needed. NemoIDE hard disk boot is supported by MrGluk which is already in your Pentagon ROM images.
It's possibly NemoIDE ought to be tied to the Russian machines with ZXBUS slots but it seems unnecessary to restrict it this way as it works fine with others - also as one of the Russian hackers pointed out 'We normally plug things in with a soldering iron....'
Alan