
(C)1994-2008 Igor A. Maznitsa (igor.maznitsa@igormaznitsa.com)
News:
------------------------------------
21-FEB-2008 : The ZX-Poly sprite corrector v 1.00 has been placed on the site and can be download
17-FEB-2008 : The version 1.16 of the emulator has been placed in the net. Really increased compatibility with a real ZX-Spectrum. A lot of bugs have been fixed. The error in WD2793 save data emulation has been fixed. Increased multiprocessing work stability.
12-JAN-2007 : The first version of the ZX-Poly emulator was placed in the net.
MAY-1994 : The birthmonth of the platform conception
------------------------------------
The introduction
-------------------------
In 1994 I was arrived at an idea how to increase the ZX-Spectrum color depth and save the compatibility with old game and system software (developed for ZX-48 and ZX-128), moreover the color depth increase can be made without any changes in run-unit of the modified software. In1999 I had written an article and posted it in the FidoNet, the article was named "Color extender for ZX-Spectrum", moreover I was interviewed by a Portuguesse spectrum-amateur who had placed the interview on his web page. I had called the platform ZM-Polyhedron. I wrote a small emulator to check the idea and modified (a bit) a well-known game "After The War" for the platform, I had coloured a few sprites from the game but it gave me to understand that it is a right idea.

(The picture above was grabbed from the emulator in 1999)

(The picture above was grabbed from the current ZX-Poly emulator)
Unfortunately the end of 90-th was the"sunset" time period for ZX-Spectrum in Russia thus I stoped all works in the area.
In the New Yeas's 2007 vacation I had got a lot of free time and wrote a Java emulator for the platform and the detailed description of the architecture where described principle of operation (unfortunately only in russian). So I had written the Test-ROM to check the emulator's work

ROM.........................32 kB (the standart tape based ZX-Spectrum 128 SOS)
RAM..........................512 kB
CPU...........................4xZ80 (3.5MHz)
The system has four Z80 processors working in 3.5 MHz. That processors called CPU0, CPU1, CPU2,CPU3. A processor which has less number has more priority than a processor with more number. CPU0 is the driver of the system and can manage other CPU modules, thus there are a few of synchronization mechanisms which allow to start and stop processors and make notifications in the system.
I'd like to explain that the system does not have both hardware accelerator and video controller so it is very controllable for a programmer and all speed of extended graphic works made with parallel work of CPU modules.
The mode has standart ZX-Spectrum color mode (2 from 16 colors for a block 8x8 pixels) but can use 8 memory pages for output vs. 2 memory pages in standart ZX-Spectrum.
The mode allows 16 colors for every point (!). It is possible to colour old games and start them in the mode, because the mode is full compatible with the standard ZX-Spectrum mode, moreover old coloured games will work without any speed decrease (!).
The mode is an attribute video mode but it allows to make old games to have graphics with more resolution than 256x192.
----
The platform allows a programmer to make the "aerobatics" :) in programming for multiprocessor systems because all parts of the platform are controllable and there are not any hardware controillers to increase the system productivity, all only in software decisions. Very "ivolved" communication of CPU in the platform enables to emulate absentee perephiral equipment (as an example the AY) .
The ZX-Poly sprite corrector utility
---------------------------------------------------

P.S.
Sorry for my English.. but I hope that common ideas have been understood by you after read this document.. if you have any questions for it, contact me via email.