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

zxpolylogo

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

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

09-MAY-2009 : Small bugfixing of assembler macroses to develop for ZX-Poly platform and use TAP as storage, they placed into current distributive of the emulator. New version 1.0.2 of the sprite corrector utility is available, now it supports import/export for TAP files and I had found and corrected small bugs in its work. 

23-APR-2009 : Small bugfixing in the emulator was made and the 1.8.1 version has been produced and accessible. just because I had found that the emulator was shown under Windows Vista not correctly enough. 

26-JAN-2009 : The english version of  the platform description  is placed in the network.  I hope that there are not so many mistakes in it to make the document misunderstood by you but anyway if you have any questions or remarks, do not hesitate to write me about them :)

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

14-SEP-2008 : The emulator version 1.17 was placed in the network. The speed of the ZX-Poly graphic mode simulation had been a bit 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 conception

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

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

    In 1994 the idea "how to increase the color resolution of the ZX and save the compatibility in the same time" was arrived at my mind. In1999 I had written an article and posted it in the russian side of the FidoNet, the article was titled as "a Color extender for ZX-Spectrum", as well I was interviewed by a Portuguesse spectrum-amateur who placed the interview on his web page in the internet.  Because the "color extender" sounds a bit sombre, I named  the development as the "ZM-Polyhedron" platform. I wrote a small emulator to check the idea and then  modified (I made very small modificationst) a well-known game (in the ZX community) "After The War", I had colored only a few sprites from the game but it gave me understanding that my idea was working very well and I was 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 nineties the ZX-Spectrum's time passed by, so I stopped any  activity to make a hardware implementation.

    On the New Yeas's 2007 vacation I had got enough free time to write  the new version of the emulator (with Java) and to make a detailed reference of the idea and the platform. Also I wrote the platform's test-ROM to make possible the testing.


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, every module has own Z80 CPU chip working in 3.5 MHz. That processors 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 cip is a composited part of the module) is the system manager and it can tune the work of other processor blocks. There are a few synchronizing mechanisms implemented  in the platform. and you can read about them in the PDF reference.

I would like to explain 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 as in the standard ZX-Spectrum and there is not any sprite-accelerator inside. The platform shows that we could get very powerful and cheap multiprocessor home platform in the 80-th. (how much we lost)..

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.

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 play them in the mode because the mode is full compatible with the standard ZX-Spectrum mode. Moreover, the old colored  games will be working without any speed decrease (!).

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 in 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 mode (512x384, I had corrected the font data inside only and the loader) and 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 development for multiprocessor systems because all parts and modules of the platform are controllable bye a programmer and there are not any hardware uncontrollable "stones" to increase the system productivity. There is a mechanism that allows to emulate unexistent IO devices and I think it is possible to make a software emulator of the AY music chip through the mechanism.

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

    The utility allows to find sprites in a Hobeta ZX-Spectrum file, to make colored its inside sprites and then you can save the work result as four data blocks for evey processor module (a Hobeta files too of  course). The utility has been written with Java 1.6 and you need to have the platform installed on your computer to start the work with the utility (you can download the Java Runtime Environment (SE edition) from the SUN site) The archive contains the utlity you can load here.

The ZX-Poly sprite corrector utility

P.S.
Sorry for my English but I hope that the common idea will be understood by you if you find time to read the PDF file.. if you have any questions about the platform, do not hesitate contact me.. :).

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