The ZX-Poly™ multiprocessor platform
(It is the world first four-core ZX-Spectrum clone)

zxpolylogo

© 1994-2011 Igor A. Maznitsa. All Rights reserved.

News:
------------------------------------

29-MAY-2011 : The platform description has been reviewed and reworked. (the PDF file).

09-MAY-2009 : Small bugfixing of assembler macroses, added TAP support as storage, results are placed into current distributive of the emulator. New version 1.0.2 of the sprite corrector utility is available, now it supports TAP files import/export and a few small bugs fixed. 

23-APR-2009 : Small bugfixing in the emulator and the 1.8.1 version has been produced and accessible. I had figured out that the emulator worked not correctly under Windows Vista. 

26-JAN-2009 : The english version of  the platform description  is placed in the network.  I hope that it will be understandable :)

15-OCT-2008 : The emulator version 1.18 was placed in the network.  The ZX-Poly sprite  corrector 1.01 was placed in the net, the ZX  512x384 mode now supported by the utility.

14-SEP-2008 : The emulator version 1.17 was placed in the network. The emulation speed increased. The small potential bug of the graphic 512x384 mode had been fixed.

21-FEB-2008 : The ZX-Poly sprite corrector v 1.00 was placed on the site.

17-FEB-2008 : The  version 1.16  of the platform emulator was placed in the net.

12-JAN-2007 : The  first version of the ZX-Poly emulator was placed in the net.

MAY-1994 :  The birthmonth of the platform and the idea

------------------------------------

The introduction
-------------------------

     In 1994 the idea "how to increase the color resolution of the ZX and save the compatibility" was arrived at my mind. In1999 I wrote an article and posted it in the russian side of the FidoNet, the article was titled as "a Color extender for ZX-Spectrum", Also I was interviewed by a Portuguese spectrum fan who placed the interview on his web page in the internet.  Because the "color extender" sounds a bit sombre, I called  the development as the "ZM-Polyhedron" platform. I wrote a small emulator in Delphi to check the idea and then  modified (I made very small modifications) a well-known game "After The War", I colored only a few game sprites but it gave me right point to understand that my idea works and I am on the right way.

ATW_99

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

ATW on ZX-Pol emulator in 2008

(The picture above was grabbed from the current ZX-Poly emulator in 2007)

Unfortunately in 90th the ZX-Spectrum's time passed away and I stopped attempts to make a hardware implementation of the platform.

    On the New Year 2007 vacation I had got enough free time to write  the new version of the emulator (Java version) and to make a detailed description of the platform idea. Also I wrote the platform test-ROM to make possible the some  testing for it.


The technical reference
-------------------------------------
    The complete technical reference of the platform you can download here (it is a PDF file).
   
The platform emulator
-------------------------------------
     I have written a Java version of the ZX-Poly emulator (it emulates a ZX-Poly based computer with the TR-DOS and TAP support), it works under Java 1.6 or later. The last version of the emulator can be downloaded FROM HERE (Just click the link to load a zip archive). A screenshot of the emulator work you can see below.

A screenshot from the ZX-Poly emulator

The platform performance characteristics

ROM.........................32 kB (the standard  ZX-Spectrum 128 SOS)
RAM..........................512 kB
CPU...........................4xZ80 (3.5MHz)

The system contains four processor modules, each module has own Z80 CPU chip working in 3.5 MHz. That processor modules called CPU0, CPU1, CPU2,CPU3. A processor with a less index has the bigger system priority (as you understand the CPU0 has got the bigges priority). The CPU0 (remember please that mainly I mean a processor module not a chip because the chip is a part of the module) is the system manager and it can manage other modules. There are a few synchronizing features in the platform, but you can read about it in the platform describing PDF.

I would like to explain (one more time) that the platform does not have any fantastic smart hardware controllers or a transcendent CPU chips (with 64 bit registers as I saw in some developments). All graphic work is organized like the standard ZX-Spectrum and there is not any sprite-accelerator inside in the system. The platform shows that we could get very powerful and cheap multiprocessor home platform in the 80th.

Video modes

1. The standard ZX-Spectrum mode

TestROM Sreen

The mode works as the standard ZX-Spectrum video mode (yes, it uses attribute graphic and allows only 2 color for a pixel block 8x8 pixels) but a programmer can use 8 memory pages instead 2 pages on the standard platform.

2. The ZX-Poly video mode 4

ZXPoly videomode 4

The mode allows 16 colors for every pixel (!). It is possible to colorize old games and start them in the mode because the mode is fully compatible with the standard ZX-Spectrum mode. Moreover, the old colored  games will be working without any loss in their speed (!).

3. The ZX-Poly video mode 5

512x384

The mode is an attribute video mode (it seems as the video modes 0,1,2,3) but it allows to bring a high-resolution into old games and utilities.

To check the platform possibilities and its compatibility with old-software, I adapted the ZX-Word text editor to be working in the the video 5th mode (512x384), I corrected only the font data and the loader), the result you can see below:
The standard ZX-Spectrum 256x192 screen The ZX-Poly  512x384 mode (without any corrections in the executing code)
ZX-Word on a standart ZX-Spectrum in 256x192 resolution mode ZX Word on ZX-Poly in 512x384

----

The platform allows a programmer to show an "aerobatics" in multithread multicpu developments because all parts and modules of the platform are controllable and there are not any uncontrollable hardware to increase the system productivity. Also it is possible to emulate unexistent IO devices through some features provided by the platform.

The ZX-Poly sprite corrector utility
---------------------------------------------------

    The utility allows to find sprites in a Hobeta ZX-Spectrum file, colorize them and save the result as four data blocks for each processor module (also you can save them as Hobeta files of course). The utility has been written with Java 1.6 and you should have the JRE installed on your computer to start the utility (you can download the Java Runtime Environment (SE edition) from the SUN site) The archive containinig the utlity is placed here.

The ZX-Poly sprite corrector utility


© 1994-2010 Igor A. Maznitsa. All Rights reserved.