Enterprise Forever

:UK => Summaries from the Hungarian topics => Topic started by: Zozosoft on 2009.February.26. 19:32:22

Title: CPC emulation on Enterprise
Post by: Zozosoft on 2009.February.26. 19:32:22
active in the CPC scene (and maintainer of cpcwiki.com)
Needed to write new article: CPC emulator on Enterprise! :-) (See the Latest developments for Enterprise (http://enterpriseforever.com/summaries_from_the_hungarian_topics/latest_developments_for_enterprise-t91.0.html;msg13738#msg13738) topic.)
[attachthumb=1]
Title: Re: CPC emulation on Enterprise
Post by: Gryzor on 2009.February.26. 20:05:12
Needed to write new article: CPC emulator on Enterprise! :-) (See the Latest developments for Enterprise (http://enterpriseforever.com/summaries_from_the_hungarian_topics/latest_developments_for_enterprise-t91.0.html;msg13738#msg13738) topic.)
(Attachment Link)

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...
Title: Re: CPC emulation on Enterprise
Post by: Zozosoft on 2009.February.26. 20:33:16
there is the list of tested, and working games. (http://www.ep128.hu/Ep_Games/Leiras/Amstrad_CPC_Program_Pack.htm)
These are tested with the first version, some more games will running the new 1.2 version of the CPC Emu, the list will be expanded.
Title: Re: CPC emulation on Enterprise
Post by: Zozosoft on 2009.February.26. 21:55:56
maybe I'll have to download an E emu and try it on it...
Good idea :)

I hope the writer of the emulator will shortly come here and answer for your all questions!

Some general words: The Enterprise is a very flexible programable machine! Easy to set up the video chip to generate the screen as the CPC or ZX Spectrum or etc... then the screen is done, the graphics routines of the games running native, no additional Z80 code need.
Th emulator program set up the video chip as CPC, allocate RAM segments for as CPC memory, and load and run a modified CPC ROM. In this ROM the low level hw routines (keyboard, sound, int, etc) and LOAD routine modified for the Enterprise.
Then all games which are using the ROM for accessing the CPC hw will run on the emulator.

Title: Re: CPC emulation on Enterprise
Post by: geco on 2009.February.27. 08:53:27
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 :D, 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. :)