What the....!!!!!!!! How is this possible? Where can I find more info on this? I mean, degree of compatibility, speed, features etc? I'll certainly mention it on the wiki!
But I can't believe how a Z80 processor can emulate another Z80-based system running at the same speed...! I take it it only runs on 128k machines and it can only emulate the x64, or maybe an expanded E able to emulate the 6128? But how is memory paging done, since you need to keep the entire guest machine in memory PLUS the emulating code? Amazing... Please do tell me where I can read more!
PS I downloaded and read the documentation, it answers some of the questions, but not others... maybe I'll have to download an E emu and try it on it...
Welcome here.
The speed of the emulator is the same as CPC, and those programs are running on it, which do not use direct CPC port I/O, or special interrupt routine (the problem here is that enterprise need an interrupt clear in all interrupt, otherwise if an interrupt ends, then the next will start).
It is only a software emulator, CPC664 rom has been modified to use enterprise ports (keyboard, sound, printer, screen, memory paging), the CPC load routines has been replaced with Enterprise Load EXOS load routines.
Enterprise port usage is much simpler than CPC, therefore I had a lot of space for the modification, and removal of CPC load routine gave me another 1,5 kb.
Enterprise memory paging is very flexible, any 16K segment can be placed onto any page, it is also possibe to page in the same 16k to all four pages.
Yes, the modified CPC ROM is loaded into the memory, another 64Kb is required for CPC memory, and another 4,5 Kb on an additional 16K is required for Line Parameter Table, which emulate the CPC screen, this is the reason why the emulator is running on an expanded EP 64 only, in this case EP128
, but this emu would run on your EP64 too, if you have memory expansion.
I hope I answered your questions
, but if you have any further question, do not hesitate.