ZX-PolySH platform

ZXNet echo conference «hardware.zx»

From Raydac To All 12 January 2007

Hello, All (C)1994-2007 I.A. Maznitsa (igor.maznitsa@igormaznitsa.com) In 1994, I came up with the idea of ​​increasing color resolution (and or rather the ability to remove the attribute restriction) for a household platform ZX-Spectrum. The idea made it possible to achieve 16 colors for each point and save (!) compatibility with existing software, making it possible to coloring existing games without interfering with the executable code. In 1999 I wrote an article on this matter, which I posted on FidoNet, it was also given a short interview (in the worst English that exists) to one To the Portuguese spektrumist who posted my outpourings about the platform online ZM-Polyhedron (as the idea was proudly called back then). Hastily written emulator received a screenshot from the game After The War, where I painted a couple sprites. Attempts to obtain a hardware version of the platform did not lead to anything. for a completely understandable reason - the end of the 90s was the sunset for the Spectrum as a household platforms and no one has any commercial interest in these works experienced. Picture: http://www.igormaznitsa.com/zxpoly/atw_99year.gif During the New Year holidays of 2007, looking at the hardware development torment video processors and video accelerators of Spectrum fans, I blew the dust off this development and wrote an emulator (in Java) with a test version of the ROM. Nameddevelopment of ZX-Poly, which sounds nicer and shorter than ZM-Polyhedron. It worked a "virtual" device with the following characteristics: Video Modes: a) 256 by 192 (attributes like the standard Spectrum) Picture: http://www.igormaznitsa.com/zxpoly/testromscr.gif a) 256 by 192 (16 colors for each point) Picture: http://www.igormaznitsa.com/zxpoly/video256x192x16.gif b) 512 by 384 (attributes like the standard Spectrum) Picture: http://www.igormaznitsa.com/zxpoly/video512x384.gif Memory: 512 kBt RAM 32 kBt ROM (firmware from a standard ZX-Spectrum 128 tape recorder) CPU: Four Z80 3.5 MHz processors The platform is multiprocessor, designed to give the programmer the maximum possible number of use cases. Allows you to organize multi-threaded applications and simulate non-existent peripherals (for example You can write your own version of music. processor). All this is done only programmatically, due to the clever connection of processors to each other, I note that no calculations were made for implementation in the FPGA, i.e. platform is suitable to assembly using strict logic (although of course this is not an easy task). According to the old traditions of the ZX-128, all innovations can be programmatically blocked to increase compatibility (after all, there is no escape, there may be programsconflicting). The main highlight of the platform, in addition to multitasking, is the ability to manipulate areas of the screen in graphic modes with the same speed (without loss of performance), although of course it is not so simple, like having a special video coprocessor, but it leaves a lot places for imagination and creativity. Since the platform is designed to be simple, means for separating processor access to memory and ports are reduced to minimum. The document describing the architecture is located here: ZXPoly russian reference in Russian (.PDF) [http://www.igormaznitsa.com/zxpoly/zxpoly_rus.pdf] (C) 1994-2007 Igor A. Maznitsa (C) 2007 Raydac Research Group Ltd.

From Anton Yakovlev To All 12 January 2007

Hello, Raydac :v2_jawdr:

From Dmitry Malychev To All 12 January 2007

Hello Raydac As many as four percent just for coloring toys - “disproportionate use of force," as they say. IMHO the time for such monstrations has passed - purely as a slot machine it may be of interest, but not as a "development" Spectrum". Multithreading is not effective for all tasks, this time (it’s better stick one stone in quickly). Use streams simultaneously with the new 16-color You can’t use graphics (at least it’s very inconvenient), that’s two. Focus only on old screen size and crappy addressing - also very bad and does not add efficiency, that's three. Yes, and all sorts of 512x192 etc. have already been done... I advise anyone interested in bitplane modes to read the EGA docs (not paying attention to the insanity in detail) to understand - you don’t need four (etc.) processor to maintain the speed of old toys, and even modifications to them you will also need a minimum (instead of redrawing sprites on all planes you need will insert one-time color selection commands). The only catch is software scrolling, but even taking these difficulties into account, even simplified to the limit option "one Z80 at 21 MHz + EGA-like (not "ATMEGA"!) mode" looks like more versatile and promising than “four Z80s at 3.5 MHz (yes, no matter how many was) + four processes". Not that I’m exactly in favor of just such a scheme... ;) Of course there is a certain"threshold of monstrousness", crossing which it becomes unprofitable to use rigid logic (as my fellow iron workers convinced me of). Yes, it’s time to tie it up with a bunch of overly “original” clones and finally switch to slot architecture (to develop not “new Spectrums” as a whole, but the periphery). Ray> By the way, my scheme allows you to avoid attribute troubles Oh well? ---> Cit> Spec256 works on the same principle, only there are 8 Spectrum Cit> work in parallel, creating 256 colors. But, unfortunately, such Cit> implementation has a detrimental effect on those games where the sprites are the same, but Cit> are colored with attributes. In other cases it may turn out to be Cit> critical. This will not stop there. Loading graphics in multi-level toys - already problems. Packed data is the same. Any computed graphics (3D in including, but not only) - it won’t work either. The scope of application is too narrow device, if we really want to do without digging into the code. Although, as I already wrote, in As a kind of machine for “retrogaming” - it’s quite suitable. If the emulator doesn't stick. :) P.S. Ray> According to this scheme, 24 percent will produce TrueColor with unmeasured Ray> speed... :D

From Raydac To All 12 January 2007

Hello, CityAceE Cit> Spec256 works on the same principle, only there are 8 Spectrum Cit> work in parallel, creating 256 colors. But, unfortunately, such Cit> implementation has a detrimental effect on those games where the sprites are the same, but Cit> are colored with attributes. In other cases it may turn out to be Cit> critical. According to this scheme, 24 percent will produce TrueColor at an incredible speed, The problem is that the platform must not only handle this Use case, but also: 1) be adequate in programming 2) not be super difficult to assemble 3) Be able to work not only in the emulsion phase I looked that 4 percent is the most optimal

From Raydac To All 12 January 2007

Hello, Error404 Err> Yeah, that’s what I didn’t catch when I looked “diagonally” at the description. Err> "General block" - is it all 512k? Then this is what you need. And some Err> have hardware stands already been made (at least someday) for this? Or this Err> only the model for now? In 1999 there was an attempt to make hardware, but there was a catastrophic lack of time and I had to leave it all at the level of theory :( so all that is available is description of the architectural solution, emulator, screenshots, ROM test (by the way, it should admit that writing multi-threaded programs on this platform is not difficult, as it turned out well). It is also very convenient when the space of another CPU becomes external device and addressed through ports, essentially like a RAM disk you can use it..

From Raydac To All 12 January 2007

Hello, Error404 Err> That is. you need 1 dispatcher at 64k or 4 simultaneously and independently Err> 16k working dispatchers (each in its own window: 0..3FFF, Err> 4000..7FFF, 8000..BFFF, C000..FFFF). Err> -- Err> What I liked - finally there is the ability to turn off the stupid one Err> ROM, occupying a quarter of the address space. And screen mode, on Err> which can be used to organize a normal 80x25 terminal. The processor can easily switch the offset of its RAM in a common block, the only problem is to prepare the transition so as not to fly into the void :), Also, according to the architecture, all 4th percentiles can be pushed into one address space, which gives rise to downright perverted use cases :) up to an attempt to combine for parallel 32-bit processing.. By the way the proposed 512 by 384 scheme allows you to optimize existing text editors are only at the level of character drawings and this will be enough to they worked in this resolution..

From Raydac To All 12 January 2007

Hello Lethargeek Let> As many as four percent just for coloring toys - Let> "disproportionate use of force", as they say. IMHO it's time Let> such monsters have passed - You either didn’t read it well or didn’t understand it well, the coloring of old toys is there - one of the possible architectural effects, multithreading and simultaneous output color graphics are quite real.. If I wanted a very convenient piece of hardware :) then I would certainly make a very convenient piece of hardware, but I just needed Spectrum :) and not EGA with Z80 at 21 MHz. As for slot computers, Speck after all, not quite from their class and I tried not to meet the threshold of “monstrousness” move on :) because “what is complicated is not necessary” :) I would call this specification no more a Speck clone than Spec 128 was a Spec 48 clone :)

From Raydac To All 12 January 2007

Hello Raydac I looked at the site for SPEC 256, unfortunately I have to admit that “the quality not my manufacture", quote from their website: The idea is; in; one hand we´ve got the speccy emulator with its memory zone, and in the other we emulate a Z80 which works with 64 bit registers instead of 8 bit, and with a memory map with positions of 64 bit instead of 8. That is You can assemble this miracle in hardware only with a Z80 that has 64-bit registers, my version is not so perverted, because it does not contain science fiction things, although of course this does not detract from the importance and interest of the Spec 256 concept. p.s. By the way, my scheme allows you to avoid attribute troubles :)

From Raydac To All 12 January 2007

Hello andrews and> does 24 percent also have an emulsion? I would like to use emulators and> work...collect in loose iron? maybe there will be and> those interested, what is the cost? in hardware you can simply assemble it then... take 24 specs, a common clock generator, general reset, wait on them sequentially, load into active part with graphics modified for it, and they are connected to the video via an RGB DAC 888.. many old games will be able to be painted, but other than downloading and playing nothing more can be done with this, so cost = 24 spec boards + 50 tanks (switch) + ZX keyboard + Kempston + switch in series issuing wait and reset (also 50 tanks).. but this cannot be called architecture, so how unprogrammable.. computers don’t communicate with each other at all then :)

From Raydac To All 12 January 2007

Hello, moroz1999 mor> how is sprite coloring implemented? The main idea of coloring old games is that four specs work simultaneously each outputs video information to its own bit plan, the video system takes information from these plans and converts it into color, for example in AfterTheWar I I just stupidly washed the sprites in different versions of the program loaded into different specs (not optimal, I know, but it was done for a while)

From Raydac To All 12 January 2007

Hello new art new> Yes, for how many years there are, Kay, Scopion, etc. new> But almost no one used it. I specifically included support for disabling ROM, since in combination with locks, this allows you to slightly adapt standard BASIC on the fly Spectrum to work in 16 color full graphics, write it to RAM0 and make it "working firmware".

From Stanislav Yudin To All 12 January 2007

Hello Raydac Ray> The main idea of coloring old games is that four work simultaneously Ray> each speck outputs video information to its own bit plan, Spec256 works on the same principle, only there are 8 Spectrums in parallel work hard to create 256 flowers. But, unfortunately, such an implementation is detrimental affects those games where the sprites are the same, but are colored with attributes. B in other cases this may be critical.

From moroz1999 To All 12 January 2007

Hello, scl^mc How is sprite coloring implemented?

From Andrey Savichev To All 12 January 2007

Hello Raydac Ray> According to this scheme, 24 percent will produce TrueColor with unmeasured Ray> speed, the problem is that the platform must not only handle Ray> this Use case, but also: Ray> 1) be adequate in programming Ray> 2) not be super difficult to assemble Ray> 3) Be able to work not only in the emulsion phase Ray> I looked that 4 percent is the most optimal Does 24 percent also have an emulsion? I would like to work with emulators... collect them in powdered iron? Perhaps there are people interested, what is the cost?

From Vyacheslav Kalinin To All 12 January 2007

Hello, Error404 Err> What I liked - finally there is the ability to turn off the stupid one Err> ROM, occupying a quarter of the address space. Yes, for how many years there are, Kay, Scopion, etc. But almost no one used it.

From Ivan Shishkin To All 12 January 2007

Hello, Error404 Well, honestly, if I used strict logic, I would have collected it. The most difficult thing is limited free time, difficulty ordering this very logic (city provincial, cheap logic, they won’t send such small change by mail), well... maybe be in the absence of a board for such a device. And so - my hands are just itching.

From Sergey Akimov To All 12 January 2007

Hello Raydac Ray> The processor can easily switch the offset of its RAM in a common block Ray> the only problem is to prepare the transition so as not to fly into Ray> emptiness Yeah, that’s what I didn’t catch when I looked “diagonally” at the description. "General block" - is it all 512k? Then this is what you need. Have any hardware stands already been made (at least someday) for this? Or is it just a model for now?

From Sergey Akimov To All 12 January 2007

Hello new art new> Yes, for how many years there are, Kay, Scopion, etc. new> But almost no one used it. Well, I don’t know anything about these models. How can you not use this if you can’t run CP/M normally without it (everything is there The software has been translated to work with 100h).

From Sergey Akimov To All 12 January 2007

Hello, scl^mc I read the pdf and thought a lot :) about why developers don’t like it so much dispatcher at 64k (or - what a strange love for the dispatcher at 16k in the only window, i.e. good for nothing except swapping for the only process). To write a MULTIPROCESS system, it is more useful than 4 processors (which, of course, is also not superfluous) and a dispatcher that allows for a minimum number clock cycles switch the entire context of the process (i.e., ideally, everything is shorter than 64k Z80 address space). Those. you need 1 dispatcher at 64k or 4 at the same time and independently working 16k dispatchers (each in its own window: 0..3FFF, 4000..7FFF, 8000..BFFF, C000..FFFF). -- What I liked - finally there is the ability to turn off the stupid ROM, occupying a quarter of the address space. And a screen mode where you can organize a normal 80x25 terminal.

From Andreas Kaiser To All 12 January 2007

Hello Raydac Ray> You either didn’t read it well or didn’t understand it well, coloring of old toys Ray> there - one of the possible effects of the architecture, multithreading and Ray> simultaneous output of color graphics is quite real.. If only I Ray> I wanted a very convenient piece of hardware :) then I would certainly do it very well Ray> a convenient piece of hardware, but I needed the Spectrum :) and not the EGA with Z80 Ray> at 21 MHz. As for slot computers, Speck is still not quite Ray> from their class and I tried not to cross the threshold of “monstrousness” :) so Ray> as "what's complicated is not necessary" :) I would call this specification no more Ray> a clone of Speck than Speck 128 was a clone of Speck 48th :) From the posted documentation it is completely unclear how this is done. synchronization of these same PMs. How is software downloaded? In every PM separately, that is, the same program with “different colors” for one and the same same address at four PM? And how then is synchronous execution carried out when? Do all 4 PMs have common highways (and judging by the description of the prerogatives of PM0 they should be), how are they organized, how is access to them organized? How in general Are common resources shared among all PMs?

From Andreas Kaiser To All 12 January 2007

Hello Raydac Ray> one of the scenarios: Ray> CPU0 loads the program block, then loads the modified graphics blocks into Ray> address space of other CPUs (which are on WAIT), after finishing Ray> RESET is transmitted to all processors with the recorded command Ray> transition to the start of the program, then they work synchronously, without Ray> interacting with each other.. of course there may be other options Ray> Ray> I'll add more to the document this weekend to clarify the questions, otherwise I need it Ray> is understandable at a low level, but I’ll try to write in more detail.. Hmm, I hope the completed document will answer many questions. "One of the scenarios,” I thought that since the late 90s this has all been thought out from top to bottom. Maybe Am I just having a hard time imagining things?

From Dmitry Malychev To All 12 January 2007

Hello Raydac Ray> What's wrong? I think that at 82 you would generally be in extremes Ray> are outraged by the nonlinear organization of video memory Gee, at 82 I didn’t know what a programmable calculator was, let alone a computer. :) Otherwise, of course, I would be outraged, but not by the “non-linear organization” itself, but just not the most effective option for implementing it. Ray> these are just little things I'm here, dear editors... :v2_wacko; But; if the main goal is to solder, then ok. ;) Ray> Speck is generally an inconvenient platform, this is his concept to some extent Hell of a blast!! :v2_clap2; :v2_clap2:; :v2_thumb; A; guys don’t know... 10,000+ software have been rolled out on him, masochists... :v2_laugh; Simple; - yes, but inconvenient - very debatable. Convenience with simplicity or power not related at all.

From Dmitry Malychev To All 12 January 2007

Hello Raydac Ray> multi-threading and simultaneous output of color graphics are quite possible Ray> is real... If you need to display something in full color on the screen, all four Z80s must work (and it is extremely desirable that it be synchronous), which means that it is necessary stop all four active processes if one of them needs it display something (even only in “your” window). Otherwise, you will need to write a special library with non-synchronous delayed writing only to the shadow screen - then There is actually a full-fledged video bios, and a very specific one. Either hang up the entire video output only on interrupts (in the queue), which is also not eat well.

From Raydac To All 12 January 2007

Hello, CHRV CHR> Igor, is the trademark (TM) "ZX-Poly" actually registered or CHR> is this so - between us? :). (TM) - this is not officially registered :) somehow it makes no sense register, otherwise it costs about one and a half tanks

From Raydac To All 12 January 2007

Hello Lethargeek Let> Gee, in 82 I didn’t know what a programmable calculator was, let alone Let> computer. :) My approach is simple :) an idea came to me, I refined it and implemented it, albeit emule and show the result.. If you have another idea, then formulate, describe, show... maybe you have a more sensible one... who's stopping you? :)

From Raydac To All 12 January 2007

Hello Lethargeek Let> If something in full color needs to be displayed on the screen, everything should work Let> four Z80 (and it is extremely desirable that they be synchronous), and this Let> means you need to stop all four active processes if one of them Let> there was an urge to display something from them (even only in “its own” window). Otherwise Let> - you will need to write a special library with non-synchronous What's wrong? I think that at 82 you would generally be extremely outraged nonlinear organization of video memory :) only these are little things, all if required quick easy development of some idea, you need it on Pisishka if you want show aerobatics using algorithms and squeezing out something from where it doesn’t exist, then on Spec.. Spec is generally an inconvenient platform :) this is his concept in some way degrees

From Raydac To All 12 January 2007

Hello icebear ice> From the posted documentation it is completely unclear how this is done ice> synchronization of these same PMs. How is software downloaded? B ice> each PM separately, that is, the same program with “different ice> flowers" at the same address in four PM? And what then ice> synchronous execution occurs when? Do all 4 PMs have common ice> highways (and judging by the description of the prerogatives of PM0 they should be), as ice> are they organized, how is access to them organized? How do they share? ice> shared resources between all PMs? one of the scenarios: CPU0 loads the program block, then loads the modified graphics blocks into the address space of other CPUs (which are on WAIT), after loading is completed on all RESET is transmitted to the processor with a recorded command to go to the start of the program, then they work synchronously, without interacting with each other.. of course they can there may be other options I’ll add more to the document this weekend to clarify the questions, otherwise it’s clear to me and at a low level, but I’ll try to write in more detail..

From Raydac To All 12 January 2007

Hello icebear ice> Hmm, I hope the completed document will answer many questions. Disturbing ice> "one of the scenarios", I thought that since the late 90s this is all already ice> is thought out from start to finish. Maybe I’m just having a hard time imagining everything? At the end of the 90s, the “adapted” ATW worked according to this scenario

From Roman Chunin To All 12 January 2007

Hello Raydac Igor, is the trademark (TM) “ZX-Poly” really registered or is it so - between us? :).

From Alexander Shabarshin To All 13 January 2007

Hello Raydac 4 specks in parallel to form bitplanes - that's 16 colors with loss attributes. If we also take into account the attributes, then the range of colors used will expand greatly - we will virtually get 16 colors within one familiarity from a virtual palette in 64K colors. The resulting color components can be count like this (composed of individual bits): B=I3,I2,I1,I0,B3,B2,B1,B0 R=I3,I2,I1,I0,R3,R2,R1,R0 G=I3,I2,I1,I0,G3,G2,G1,G0

From Dmitry Malychev To All 13 January 2007

Hello Raydac Yes, I propose, I describe... forum search rules... ;)

From moroz1999 To All 13 January 2007

Hello Raydac Ray> The main idea of coloring old games is that four work simultaneously Ray> each speck outputs video information to its own bit plan, Ray> the video system takes information from these plans and converts it into color Ray> for example, in AfterTheWar I just stupidly washed the sprites in different Ray> versions of the program loaded into different specs (not optimal, I know, but Ray> was done for a while) wow, everything is ingenious - simple :D

From Igor Maznitsa To All 13 January 2007

Hello, Jukov Juk> Where can I download the emulator or screenshots? The emulator needs to be finalized in order to be uploaded, otherwise I’m in the development environment I use it.. I posted screenshots from the tests here in the first message

From Konstantin Zhukov To All 13 January 2007

Hello Lethargeek Where can I download the emulator or screenshots?

From Igor Maznitsa To All 13 January 2007

Hello Shaos Sha> 4 specks in parallel to form bitplanes - that's 16 colors with Sha> loss of attributes. If we also take into account the attributes, then the range Sha> of the colors used will expand greatly - virtually we get 16 Sha> colors within one familiarity from a virtual palette in 64K Sha> colors. Yes, there is a lot of space for the palette (768 * 4 bytes), I thought about it, and in principle two more video modes are in reserve, but then I decided that this was already becoming more complicated... I I try to cram in only the necessary minimum

From pulsar To All 14 January 2007

Hello Raydac it seems like an interesting idea, but I don’t really like it, and is it even necessary? fence the garden for 16 flowers for each point = the whole system is at 4 percent... everything ingenious, as the proverb says, is simple, but here everything is not simple... Did anyone code multicolor? so how? you can... but hemorrhoids!? so do I the proposed system does not seem simpler, and everything has to be done from scratch, but so what? it will work out... in general imho, the skin is not worth the candle = yes, by the way, such a mode actually already exists (for those who didn’t know, read ig#8, 9) You can already play several games - pang is one of them. less existing I like the implementation better, and how much you can reinvent the wheel. if I would like to get a more productive multiprocessor spec for this mode, then it seems to me better to think about how to attach it to an existing hardware the second zilog is at 21MHz. As far as I know, I'm not the first to come up with such an idea. thought, but until recently I didn’t realize where in this a beautiful idea has a hidden problem (well, I’m not a hardware guy), but the problem is access to memory and input/output ports, of course, as an encoder, I understand that part problems can be solved programmatically, but some things still need to be solved hardware. about disabling ROM and connecting RAM instead. completely agree with newart = I just want to add that this is possible not only on scorpions and kayasachieve, but also on the pros, and I think I won’t be mistaken in saying that on the ATM, and perhaps on meter and half meter pentagons.

From Andrey Savichev To All 14 January 2007

Hello Raydac That's exactly what to do... and the above, as they say, give the money - and sleep well!

From Andrey Savichev To All 14 January 2007

Hello, pulsar pul> it seems better to think about how to attach it to existing hardware pul> second zilog at 21MHz or better yet, throw away the existing hardware, leaving only the z80 and that’s it intercept calls to him and pass them off as something else, modern and “correct” hardware :) which should be removed into the FPGA...the z80 itself should be left exclusively for execution of previously developed code, and even then not all, but least of all brake

From Igor Maznitsa To All 14 January 2007

Hello andrews and> or even better, throw out the existing hardware, leaving only the z80 and and> intercept all calls to it and pass them on to another, modern one and> and the “correct” hardware :) The "Porridge from an Ax" project is already several hundred years old :) .. there is an ax, but it is not needed :) .. the task is to make a Spectrum, but a Spectrum emulator can be used on make a pussy on both a PDA and a mobile phone.. there the hardware is not so correct, but ultra-modern...

From Igor Maznitsa To All 14 January 2007

Hello, pulsar pul> screw the second zilog to 21MHz. As far as I know, I'm not the first pul> who thought about such an idea, but until recently I pul> didn’t realize where the problem was hidden in this beautiful idea What prevents you from connecting the 4th 21 MHz Z80? It simply describes how they are connect programmatically, interact and carry out work :)

From Andreas Kaiser To All 15 January 2007

Hello Mike Mik> In order to attach a video card to the existing spec, you will need to solder a bunch Mik> snot, cut a bunch of tracks, etc. as usual, just a slot Mik> extensions won't get off. And if all these snot are spread on a new one Mik> mothers, so that no matter what they are, then this will be a new spec. And what if Mik> add regular PS/2 and IDE controllers, then you’ll get just that Mik> what the sprinters and under-PCs were doing (the latter, fortunately, are still doing now Mik> are engaged). This is, to put it mildly, not true :) Moreover, differently than through the system connector in general there shouldn't be.

From Dmitry Malychev To All 15 January 2007

Hello Raydac Ray> the task is to make the Spectrum, That's the trouble, everyone is constantly "making a new Spectrum" instead of create solutions suitable for use on any existing Spectrum (I'm only talking about video, of course).

From Mike To All 15 January 2007

Hello Lethargeek Let> That's the trouble, everyone is constantly "making a new Spectrum", instead Let> in order to create solutions suitable for use on any platform Let> existing Spectrum (I'm only talking about video, of course). In order to attach a vidya to the existing spec, you will need to solder a bunch of snot, cut a bunch of tracks, etc. as usual, just an expansion slot you'll get off. And if all these snot are spread on the new mother, so that they don’t was, then this will be a new spec. And if you add regular PS/2 and IDE - controllers, then the result will be exactly what the sprinters were doing, under-PC (fortunately, the latter are still doing it).

From Mike To All 15 January 2007

Hello andrews and> Therefore, the hardware must be redundantly powerful with reprogrammable and> modes, so that having assembled one computer, you can get from it at your own discretion and> any clone. Just don't swear, calling it an emulator. This is not and> emulator! Just individual hardware components support the heap and> modes and configured to the desired one. It’s just that some people are not allowed to sleep peacefully by the “ideology” about emulation and monster building. If they like to think of it as a monster, an emulator and everything crazy idea - their right, and those who are not bothered by such cockroaches, let them They develop and use it for pleasure, without going crazy over “ideologies.” The main thing is there is no need to turn this into a religion, he expressed an opinion - well done, but to impose it on each branch does not need it.

From Victor Romanchenko To All 15 January 2007

Hello Raydac Ray> Perhaps the problem is not that someone is constantly making a new Spectrum Ray> , the trouble is that someone does nothing at all This is right on point :) Igor, okay, this is all great, the idea is correct, I read the documentation - in in general terms you can get the impression and you can even imagine what it is really create, it will be able to color even more than 60% of existing toys, and will be in demand. Actually, now the question is - when do you plan to provide this at least in the form software emulator so that you can actually drive and test the idea (and seeing her in person is the best advertisement for the project), and what will happen further - I’m talking specifically about “iron implementation” - what and how you plan do (as I understand it, there will be an option for completely new hardware, but will there be option for a “gadget” to any existing spec?), and if you plan, how soon, and if not soon, then why - in general, as I understand it - initially this The topic is focused on evaluating your idea and subsequent attraction of investments for the development of an idea? ;)

From pulsar To All 15 January 2007

Hello Lethargeek I absolutely agree, I actually talked about this above.

From Andrey Savichev To All 15 January 2007

Hello Mike Therefore, the hardware must be redundantly powerful with reprogrammable modes, so that, having assembled one computer, you can get any clone from it at your discretion. Only No need to swear, calling it an emulator. This is not an emulator! Just separate Hardware components support a bunch of modes and are adjusted to the desired one.

From Igor Maznitsa To All 15 January 2007

Hello Lethargeek Let> That’s the trouble, everyone is constantly “making a new Spectrum” Perhaps the trouble is not that someone is constantly making a new Spectrum :), the trouble is that someone does nothing at all :)

From Igor Maznitsa To All 15 January 2007

Hello Mike Updated the description in the form of a PDF file using the old link. Included more graphics representations, I found several malicious (!) typos (after all, the document At the same time as writing the emulsion, it was done. I'll post the emulsion too, but a little later.. Repeated link to the document http://www.igormaznitsa.com/zxpoly/zxpoly_rus.pdf

From Andreas Kaiser To All 15 January 2007

Hello Mike Mik> If I'm wrong, show me an example of such a video. To show you an example, you need to have the video camera itself, but you don’t have it yet. However ZX-BUS has the entire set of necessary signals for connecting a video card. The only moment is if somehow cunningly/cleverly you want to make video access to host memory, you will have to cut it a little, but still, not much.

From Andreas Kaiser To All 15 January 2007

Hello Raydac Ray> The document says that there are 4 ports, which means four ports :) Ray> Simultaneous operation of processors with memory (if it is slow) Ray> you can enter WAIT signals, so that all devices can work at least with Ray> with one chip (and the video controller as well). I describe Ray> theoretical architecture, the fact that it can be implemented Ray> in hardware, how it will be implemented is the second task, since Ray> there are a lot of options. In short, essentially it’s just an idea, and when you wrote to me about it in 1999, it that was also an idea, right?

From Andreas Kaiser To All 15 January 2007

Hello Raydac Ray> Of course one video controller, sequentially displaying Ray> video area(s) according to memory window offset indicators Ray> processor modules.. i.e. just like on spec.. it doesn’t produce Ray> any accelerations, service functions or something similar.. Ray> simply stupidly enumerates addresses with given offsets and displays Ray> content In this case, the memory must be physically built on separate chips (say 4 pieces of 128K each) and reading from the video memory areas of each PM occurs in parallel, right? Do PMs have shared resources? If there is (and memory can no longer be a shared resource due to VK), how are they shared? Is there a lot of overhead costs? what happens if you actually have four 7FFD ports, etc.?

From Andreas Kaiser To All 15 January 2007

Hello Raydac Ray> Updated the description in the form of a PDF file using the old link. Included more Ray> graphical representations, found several malicious (!) typos Ray> (after all, the document was created at the same time as the emulsion was written. Emul Ray> I'll post it too, but a little later.. Ray> Repeated link to document Ray> http://www.igormaznitsa.com/zxpoly/zxpoly_rus.pdf Another question: how many video controllers, also 4? And if he is alone, how is he divided? access to video memory between it and four PMs? By the way, on p. 14 good drawing, I’ve been trying to get something like this from you, Lethargic, I don’t know how long.

From Mike To All 15 January 2007

Hello icebear ice> there should be no other way than through the system connector. Yes, that's understandable. But reality imposes its own adjustments. To the scorpions, Pentagons 1024, Kai and others that have a system connector are visible only through It’s still not possible to connect it without any snot. If I'm wrong, show me I need an example of such a video.

From Victor Romanchenko To All 15 January 2007

Hello Cooper andrews, your idea is also good, but it has no zest, other than just another implementation of what everyone has long done in bulk, and not beautifully in 2 chips. Maybe it's worth joining forces with Raydac again and working on one project? I don’t know if this is possible for your tactical reasons, it’s not I'll go deep, just thinking out loud.

From Victor Romanchenko To All 15 January 2007

Hello Raydac Ray> I think that when trying to commercialize the project, a very big project will arise Ray> many questions with copyright holders of adapted games and owners Ray> standard Spec OS. By the way, it’s not a fact, here it’s worth consulting a little with a good lawyer, if the moment of commercialization does come, it can be interpreted in different ways, There’s actually an interesting point here - this is not a remake, this is not a copyright violation, this is approximately at the level of connecting to the spec of a black-and-white or color TV - the visual just changes ;)

From Victor Romanchenko To All 15 January 2007

Hello Raydac Ray> Ok, then this week I’ll definitely post it.. some toys are not Ray> are launched for some reason (TAP files), but I suspect that they are crooked Ray> are written down because Unreal Speccy doesn't run them either.. Ray> Ray> I think if you do it on an FPGA, then the implementation of such an architecture is the month Ray> will take one and a half (if not based on ready-made modules), in 99 it was Ray> an attempt to develop a circuit for FPGAs, but here we need FPGA specialists Ray> ask because I, for example, basically use hard logic yes Ray> operated microcontrollers.. In general, we are waiting for a visual presentation in the form of an emulator, it would be very interesting Look, the fact that not everything starts is not a problem. Regarding implementation - yes, in our age it is clearly worth trying to implement it on FPGAs, and in as few packages as possible, and, of course, the most an interesting option would be - not in the form of a completely new computer, but precisely in the form additional module that can be attached to all main (known to us) like Specs, and as I understand it, the video output will be built into this card? Immediately make an implementation with the ability to connect a VGA monitor, timesTVs and old basins like MS have already passed. That's the idea then, I guess. will get quite an interesting development... BTW, pushing all the Z80s into PLISina is again not the most critical moment, not there will be a big problem if the processors are the ones installed, and the FPGA is in charge to the rest. Although, of course, the final implementation option is already a prerogative author. I really want to look at old masterpieces in normal coloring :v2_cheer:

From Victor Romanchenko To All 15 January 2007

Hello Raydac Ray> The emulator still needs to be brought into some kind of divine form, but I think that Ray> I will post the version this week, although it only works with TAP files Ray> and in Java it, the system for diagnosing what is happening is rudimentary.. Ray> I didn’t manage to get investment for it in 97-99, but now I’m thinking Ray> the situation is even worse, since from a commercial point of view ZX-Spectrum Ray> practically doesn't exist anymore, it's a fun-platform so topic Ray> is organized to familiarize others with the idea of getting sober Ray> ratings and listen to thoughts, if any of the iron workers want Ray> implement this architecture, then in the document conditions Ray> are defined. Just from everything that is nominated for the title of “new Ray> Russian Spectrum" this platform best fits the definition Ray> put forward by me in one of the forum threads about what can be called Ray> "spec" Yes, it doesn’t matter what the emulator looks like, in fact, the main thing is that you can launch it, play several dozen games on it, see howwill be, from here it will actually be immediately clear whether this is interesting or not, in in principle, this will probably even help attract investment, at least for a test hardware model. I just think this idea is the most interesting thing I've ever read. on this forum about hardware over the past few years. In terms of the platform itself, I am a staunch fan of only one Spectrum - Scorpio, at one time almost everything that was possible was created for him do. I got almost everything for myself, except GMX (no one wants to sell, but offered a lot of money :(

From Victor Romanchenko To All 15 January 2007

Hello andrews Raydac, you have to try, in the end. If you do it as a separate computer - then simplify to the point of disgrace - do not try to cram tape ports into the new spec, drive controllers, etc. - just limit yourself to a flash drive, which you can use will fill a bunch of images of toys and have fun. Well, a music processor is required. Here we go As a result, there will be a gaming computer with a huge number of ready-made games and software for it, It will completely occupy its niche among those who value this kind of thing and not games on PS2 (this just a separate contingent and a question in general). For the price - it doesn’t matter, even if the prototype does work, it will be brought to mind, will be able to really color at least 60% of the software, be with a flash drive (well, for the rest you can leave the system bus - no one canceled it) - even if it costs at least 300 Euro, I'll buy it. Look, for example, this is how MSX was implemented; http://www.bazix.nl/onechipmsx.html; Judging by the information, they were sold out at the pre-order level. And if you do something also beautiful and neat with speck, and even if it will recolor games simply on the fly - it will be a bomb, and not only for Russian market. The main thing is to try to implement it as simply as possible and focus precisely because this is a gaming computer - who wants to connect a full-fledged keyboard, beta disk, screw controller, etc. - for them it’s just a bus in the butt of the device and everything.

From Victor Romanchenko To All 15 January 2007

Hello andrews Competition is good in any case, the main thing is that the result is at least someone. No, the option with virtual disks is definitely unacceptable and will not work, unless what to do universally - both with a flash drive and with the ability to upload to a virtual one disk. I'll even explain why: Several childhood friends came to me who remember speck, I took out this device, I connected it to the plasma that hangs in the kitchen and we sat down to enjoy some beer. B version with a flash drive - I just brought the device into the kitchen, turned it on and that’s it. In option with virtual disks - it will be less convenient, of course I have all the computers the apartment is full, but there is no computer in the kitchen, and sitting there with a laptop is not interesting - I Then I’d better run the Amiga emulsion on the laptop for my friends. This is exactly the reasoning about marketing, it must be implemented as convenient as possible, and not as the developer decided for himself :)

From Andrey Savichev To All 15 January 2007

Hello Cooper Coo> both with a flash drive and with the ability to upload to a virtual disk. I'll even explain Coo> why: Coo> Several childhood friends came to me who remember the speck, I got this one Coo> device, connected it to the plasma that hangs in the kitchen and we sat down to have fun Coo> with beer. In the version with a flash drive - I just brought the device to the kitchen Coo> turned on and that's it. In the version with virtual disks there will be less Coo> convenient, of course my whole apartment is full of computers, but there’s none in the kitchen Coo> computer, but sitting there with a laptop is not interesting - then I have an emulsion on the laptop Coo> I’d rather launch the amigas to my friends. 8GB flash is now exclusive, costs more than 150 euros, A 120 GB disk in a laptop costs about the same. And the size of a modern laptop is inversely proportional to the thickness of the wallet. Question: how long do you have to sit with friends in the kitchen to scroll to 8GB? Spec's demos? And are there so many of them in nature? It is necessary to count as a word. Take 4-12 hours of viewing time and see what it interferes with my memory.

From Andrey Savichev To All 15 January 2007

Hello Cooper Healthy competition for the benefit of progress. Regarding disk devices...it's better to have mapped drives. Just clinging to your laptop or Write and upload what you need to virtual disks. With sufficient volume static memory and a good battery are not necessary and you don’t need to worry about sd controllers, but USB-device has a crust on the network. Yes, extra software for the pussy, you'll have to lightly sacrifice principles... so that not 10 people buy for 300 euros, but 300 people for 120, but it’s not for me to talk about it, Igor is a businessman, and this Every first-year student draws a squiggle (price-demand). All improvements come not from the first version.

From Andrey Savichev To All 15 January 2007

Hello Raydac Now, if you make a normal bunch on velvet, with 4 regular z80s, you’ll fit in 10-12 microcircuits and 60 euros for parts (excluding printed circuit board and constructive), then it will be a computer.

From Andrey Savichev To All 15 January 2007

Hello Raydac I’ll tell you as a specialist (considering my almost year-long collaboration with Actel.ru), that the 4th z80 will cost $35-40 and in 1.5 months (working every day for 10 hours) you don’t verify all this business.

From Andrey Savichev To All 15 January 2007

Hello andrews And let’s not forget about the time it takes to retrieve a list of files. 8GB fits more 8000000 10kb files, let the z80 steam with this or send a request via usb to writing, which in this task is a disproportionately larger server productivity? There is such a critical media capacity for the z80 at which such operations will not cause anything other than quiet insanity. A remember where something is (let’s not forget that the disks are even remote and virtual again, trdos ones)... I personally very actively use the operation on my computer search by keys.

From Andrey Savichev To All 15 January 2007

Hello andrews I think you’ll still leave some of the gates for multipliers (or even better “butterfly”) and you won’t forget about the normal external tire.

From Igor Maznitsa To All 15 January 2007

Hello Cooper Coo> Regarding the implementation - yes, in our age it is clearly worth trying Coo> be implemented on an FPGA, and in as few packages as possible, and, Coo> of course, the most interesting option would be - not in the form of a completely new one Coo> computer, namely in the form of an additional module that can Coo> attach to all the main (known to us) types of Specs, and like me Coo> I understand that the video output will be built into this card? Coo> Coo> I really want to look at old masterpieces in normal Coo> coloring :v2_cheer; Yes; before the iron curtain collapses again, better on FPGA :) Unfortunately, it is hardly possible to implement this architecture purely in hardware as an add-on to existing types, since the processor modules in it are too linked among themselves, I don’t think that any of the standard Specov tires will allow implement this... To be honest, I would rather have an adapted text editor in normal resolution (512 by 384) to see, not games :) According to my estimates, you can adapt Spec's BASIC to work in 16 color mode without global alterations..

From Igor Maznitsa To All 15 January 2007

Hello Cooper Coo> this is approximately at the level of connecting to a black-and-white or color spec Coo> TV - the visual only changes ;) No, here you are more likely to run into copyright related issues, in particular "processing rights"

From Igor Maznitsa To All 15 January 2007

Hello Cooper Coo> Raydac, you have to try, in the end. If done as a separate computer Coo> - then simplify to the point of disgrace I think that when trying to commercialize the project, a lot will arise questions with the copyright holders of the adapted games and the owners of the standard Spec's OS.

From Igor Maznitsa To All 15 January 2007

Hello Cooper Coo> This is the point :) Coo> as I understand it, this topic was initially aimed at assessing yours Coo> ideas and subsequent attraction of investments for the development of the idea? ;) The emulator still needs to be brought into some kind of divine form, but I think that the version is I’ll post it this week, although it only works with TAP files and it’s in Java, The system for diagnosing what is happening is rudimentary.. I didn’t manage to get investment for it in 97-99 :) but now I’m thinking the situation is even worse, since from a commercial point of view the ZX-Spectrum is already practically non-existent, it's a fun-platform :) so the topic is organized so that introduce others to the idea, get sober assessments and listen to reflections, if any of the hardware people want to implement this architecture, then the conditions are defined in the document. Just from everything that is put forward for the title "new Russian Spectrum" this platform best fits the definition put forward by me in one of the forum threads about what can be called a “spec”

From Igor Maznitsa To All 15 January 2007

Hello Cooper Coo> Yes, it doesn’t matter what the emulator looks like, in fact, the main thing is that Coo> you could run it and run several dozen on it Coo> games, let's see how it goes, from here it will be clear right away - Coo> Whether it’s interesting or not, in principle, it will probably even help attract Coo> investments, at least for a test model in hardware. Coo> Ok, then I’ll post it this week for sure.. why some toys don’t start then (TAP files), but I have a suspicion that they are recorded crookedly, since Unreal Speccy doesn't launch them either.. I think if you do it on an FPGA, then the implementation of such an architecture will take about a month and a half will take (if not based on ready-made modules), in 99 there was an attempt at a circuit for FPGA develop, but here you need to ask FPGA specialists :) since, for example, I’m in mostly operated with hard logic and microcontrollers...

From Igor Maznitsa To All 15 January 2007

Hello andrews and> I’ll tell you as a specialist (considering my almost year-long collaboration with and> Actel.ru) that the 4th z80 will cost $35-40 in 1.5 months and> (working 10 hours every day) you don’t do all this farming and> verify. I don’t suggest implementing the Z80 in an FPGA, there’s no point in that... but as for specialism, but I judge by myself... a normal person can take more time

From Igor Maznitsa To All 15 January 2007

Hello icebear ice> Isn't there a lot of overhead costs if you actually have ice> four 7FFD ports, etc.? The document says that there are 4 ports, which means four ports :) The simultaneous operation of processors with memory (if it is slow) can be introduced WAIT signals, so that all devices can work with at least one chip (and video controller as well). I am describing a theoretical architecture, the fact that it can be implemented in hardware, how it will be implemented is already the second task, since there are a lot of options.

From Igor Maznitsa To All 15 January 2007

Hello icebear ice> Another question: how many video controllers, also 4? And if he is alone, then how? ice> is access to video memory shared between it and four PMs? By the way, on p. ice> 14 good drawing, from you, Lethargic, I don’t get anything like this anymore ice> I know how much. Of course one video controller sequentially displaying the video area(s) according to the displacement indicators of the memory windows of processor modules... i.e. also like on a spec.. it does not produce any accelerations, service functions or something like that.. it just stupidly goes through the addresses with the given offsets and displays content

From Igor Maznitsa To All 15 January 2007

Hello icebear ice> In short, essentially it’s just an idea and when you wrote to me about it in 1999 ice> this was also an idea, right? This is not an idea, this is an architecture, with a description, an idea and an emulator.. just ideas here there are tons of them on the forum and they all usually start with “there’s an idea to push in a pleat and EGA mode, that's all for me"... :)

From Andrey Alexandrovich Titov To All 15 January 2007

Hello andrews and> A 120 GB disk in a laptop costs about the same. $110

From Mikhail Andreev To All 15 January 2007

Hello andrews and> And let's not forget about the time it takes to fetch a list of files. Fits 8GB and> more than 8,000,000 10kb files............... I have 512 MB flash. 80 percent full. and it’s literally impossible to find what you need, damn it... I had to use a method as ancient as the world - to catalog everything and make Excel file on the PDA. This was the only way to find something. In my opinion, I’ll burn GIGABYTES for nothing....

From Victor Romanchenko To All 15 January 2007

Hello Raydac Ray> No, here you can most likely run into the accompanying copyrights, in Ray> in particular “processing rights”.. I agree, you need to consult with lawyers to see what they will say :) and> 8GB flash is now exclusive, costs more than 150 euros and> A 120 GB disk in a laptop costs about the same. and> And the size of a modern laptop is inversely proportional to the thickness of the wallet. and> Question: how long do you have to sit with friends in the kitchen to scroll and> do they need 8GB of Spec's demos? and> And are there so many of them in nature? and> It is necessary to count as a word. Take 4-12 hours of viewing time and watch and> what memory does it fit into. I also agree, but the screw is not interesting in principle, neither to me nor to the overwhelming to most other potential users, although there is a price imbalance - I drunkenly drop the screw in the same kitchen and Khan, but the flash drive can withstand quite a lot of G (proven), 2 GB Mini-SD costs less than $40, it’s enough so that we go into a coma in my kitchen with friends ;) Plus the issue of mobility and size. But I’ll repeat it again - let there be a tire at the back - whoever needs it will turn it onThere's a screw controller there (and by the way, it would be nice to implement it on an FPGA too, huh? The size of a matchbox handkerchief) and you will get a buzz. I am in favor of having a flash controller on the board (this is more universal), but propeller controller as an option. That is, when creating such a platform, it is worth starting from miniaturization, I didn’t just give a link about One-Chip-MSX, it’s quite An interesting marketing and engineering example of a project. The flash drive access time is not critical; it will be higher than the disk access time in Beta-Disk. You can, of course, also mention the number of rewrite cycles per flash drive.. But I think there will be enough of them, or it costs quite a bit of money, to buy a new one. Let's continue further - this can be made into a relatively portable console - PSP type. In this case, the power consumption of the screw will differ significantly from flash drives.

From Victor Romanchenko To All 15 January 2007

Hello andrews and> you don't understand..."virtual disks" are just LINKS. When trying to and> contacts him, the message “connect me via USB to the gray one” appears and> new laptop"...the comment is created by a specific owner upon creation and> "disk" ...on the computer itself with a sufficiently large static memory c and> you can use batteries to have several “electronic disks”. I roughly understood, thanks for the explanation. But this is not convenient in all cases, but I just explained - that with the option of sitting in the kitchen (and more than 60% do this will use a potential new computer, in the kitchen, with friends from their childhood Species), Carrying a laptop with you will still be inconvenient. Of course this is a good option - but how expansion option, well, let it all be implemented on the board at once (not will greatly increase the cost of the design). But the flash drive is the main thing. The flash drive becomes de facto standard now, there are just a lot of advantages - reliability, consumption, form factor, etc.

From Andrey Savichev To All 15 January 2007

Hello Cooper Coo> I am in favor of having a flash controller on the board (this is more Coo> is universal), and the screw controller is an option. you don't understand..."virtual disks" are just LINKS. When trying to reach him contacts, the message appears “connect me via USB to the gray new laptop"...the comment is created by a specific owner when creating a "disk" ...on on the computer itself, with a sufficiently large static memory with batteries, you can have several "electronic disks".

From Andrey Savichev To All 15 January 2007

Hello, Mikka_A No matter how much memory you give...you know. It was only about the possibility of searching in array with Pentium IV and Z80 processors. The best way to organize your data is after some time, put all the most valuable things into folders, the rest or into archive the pile and put it out of sight, or straight into the trash. Ideally, you should change something in the file systems so that, in addition to the creation date, names and extensions, which for most people are uninformative given the huge number there was something else like in the html files in the "Keywords" field when first saving the system could group files not only by directory, but also hidden from user by content - then the search would be reduced in time. But for this Greater redundancy of disk memory is needed. What about non-text ones? files? Do not allow saving until the creator fills out a short form. A that music and graphics if you need to look for it - complete...

From Dmitry Malychev To All 16 January 2007

Hello Raydac Ray> Super.. You've already been discussing for several pages without even reading the docs The principle itself is described here, questions about feasibility, and then the details realization... What revelations will I find there? Coo> I just didn’t understand about emuzwin - he knows how to color something, or Coo> reproduce the original Spec? If it's original, then no. Coo> problems, there is also an original spec, I use not only emulators. "...before writing here, I studied the doc" :) - read the doc on EmuZWin (256 colors mode)... Or better yet, just run it and look ;)

From Igor Maznitsa To All 16 January 2007

Hello copperfeet cop> Tell me in more detail.. If I can imagine the rest, then cop> this mechanism is not. :frown; Well; then you need to quote the entire PDF here, since this is described there mechanism and proposed algorithms for its use :) I think that we need another synchronization mechanism; it would be a good idea to add it (I didn’t introduce it in order to simplify the process, since I didn’t make calculations for mechanisms for packing variegated data arrays, but which will make it difficult but the process of adapting a program with packed data is feasible), I’ll write it in today

From Igor Maznitsa To All 16 January 2007

Hello copperfeet cop> The docks don’t get around to reading either.. There are several. questions: cop> 1) How is it planned to synchronously load software into four almost cop> independent computer and start it synchronously? cop> For this purpose, a special mechanism has been introduced that allows everything to start synchronously processor from given addresses, however, you can start from a given address and selected processor cop> 2) What to do with compressed graphics? Four different bitplanes cop> will be compressed differently, for sure, when decompressing the operation will be synchronous cop> will be lost.. cop> Depends on the complexity of the unpacking implementation mechanism, but in general it is possible synchronize via halt or wait at a specific address. Those. here is the solution although difficult, it is possible to implement. cop> 3) Why are there so few colors - 16? This is not serious today. cop> Because the system has 4 processors, and the idea works with the calculation of 1 bit of color per one processor. There was no goal to make PCs compete, but the number of processors more than 4x would seriously complicate the management structure. cop> 4) polling of input ports will have to be done from all processors simultaneously. Notcop> will it fail? Polling ports will not fail, simultaneous writing to ports can lead to glitches, since the recording result is unpredictable (it is determined by the hardware implementation and not predicted by me).

From Igor Maznitsa To All 17 January 2007

Hello Raydac I posted a new PDF version using the old link. Added stop address mechanism for finer synchronization of processor modules with each other.

From Igor Maznitsa To All 19 January 2007

Hello, boo_boo boo> captivated by the coloring of games, it’s a pity that in the mode there are 16 colors per point boo> attributes are not taken into account. in many toys (dizzy for example) one and boo> the same sprite is repeated in different places with different colors What can you do... but maybe in such games a 512 by 384 pixels mode with attributes? those. the game will not be colored, but its graphics will be raised permission... unnoticed by her...

From Stanislav Lomakin To All 19 January 2007

Hello Raydac captivated by coloring games, it’s a pity that in the mode of 16 colors per point the attributes are not are taken into account. many toys (dizzy for example) have the same sprite repeated in different places with different colors

From Valery Tkachuck To All 19 January 2007

Hello, boo_boo boo> but IMHO if only there was another component to the mode with 4-bit plans boo> adding attributes would be cooler. you can screw it on if you want :), although the calculation of attributes will have to be done in games change. For example, do this so that every 4 bits are in 4 bytes attributes were responsible for 16 palettes for each pixel of the familiarity line, then we will have 16 coloring options for the same sprite in its specific line of a specific familiarity, but in general throughout the entire sprite there will be such options wild amount.

From Valery Tkachuck To All 19 January 2007

Hello, boo_boo boo> the same sprite is repeated in different places with different colors So, what’s stopping you from coloring the same thing differently in different places? sprite, or rather its copy?

From Stanislav Lomakin To All 19 January 2007

Hello Raydac Ray> What can you do... but maybe in such games the 512 mode will suit Ray> 384 points with attributes? those. the game will not be colored, but will be Ray> her graphic resolution has been raised... unnoticed by her... For some games it's just right. but IMHO if the mode with 4-bit plans also included an attribute component It would be cooler to add. :rolleyes:

From Dmitry Malychev To All 19 January 2007

Hello, Black_Cat boo> but IMHO if only there was another component to the mode with 4-bit plans boo> adding attributes would be cooler. Damn, a hundred years ago I proposed something similar with attributes on my topic... Specifically for ZX-Poly, it’s best to just make familiar quarters, working the same in both 256x192x4 and 512x384x1 modes; only in 256x192x4 attributes affect two colors out of 16 (for example 0 for PAPER and 15 for INK), and in 512x384 there are only two colors. Well, accordingly, if all quarters are the same, resulting in full attribute compatibility with the standard screen. And you don’t need to change anything in toys if you don’t want to. IMHO the total palette is enough for whole screen. Bla> ..and we get some kind of 4-processor similarity to SamCoupe Hehe, there the screen layout is completely different, so it won’t be “similar”.

From Valery Tkachuck To All 19 January 2007

Hello Lethargeek Let> so there will be no “similarity”. Yes, there was no goal, it’s just that there is similarity in the number of palette registers. The Lethargic version is of course simpler, but the picture quality in it is also simpler, because attributes are assigned to a quarter of the space (4x4), and in my version, each familiarity column (i.e. 1x8). Naturally, both options can be perverted and change the attributes of each line if the processor performance is enough, although in my version, rewriting 16 registers per line will be faster than 64 or 32 attribute. Although, of course, you can also pervert the hardware with line-by-line replacement or shuffling.

From Andreas Kaiser To All 19 January 2007

Hello Raydac Ray> What can you do... but maybe in such games the 512 mode will suit Ray> 384 points with attributes? those. the game will not be colored, but will be Ray> her graphic resolution has been raised... unnoticed by her... How will the graphic resolution increase? you will get it in the end scaly dizzy, no more.

From Igor Maznitsa To All 19 January 2007

Hello icebear ice> how will the graphic resolution increase? you will get in ice> as a result of scaled dizzy, no more. while for the 256x192x16 mode it is necessary to “light” or “extinguish” the point at graphic block to obtain a given color, 512x384 pixels are displayed checkerboard, i.e. by adjusting the graphics with the calculation of checkerboard and 2-fold magnification and placing the result in graphic blocks of the program, we get a game running at 512 by 384 with attributes, while for it physically it’s all the same same 256 by 192 with attributes, but all characters on the screen have double resolution.. by the way, playing with the checkerboard arrangement of shaded dots and attributes, you can mix colors in a block, as was once the case on BK0010, where it was possible to obtain up to 40 colors from 4 basic ones

From Igor Maznitsa To All 19 January 2007

Hello Raydac posted the ZX-Poly emulator on http://www.igormaznitsa.com/zxpoly/zxpoly.zip written in Java and please note that since rendering is done via GDI and Java, may slow down when working with spec video memory.. it is not for beauty but for testing the idea.. loads only TAP files P.S. The emulator requires Java to work. You can download the JRE here http://java.sun.com/javase/downloads/index.jsp

From Dmitry Malychev To All 21 January 2007

Hello Raydac Bla> Naturally, in both options you can distort every line Bla> change attributes if processor performance is sufficient, although in Bla> in my version, rewriting 16 registers per line will be faster than 64 Bla> or 32 attributes. Although, of course, you can also pervert the hardware with Bla> line-by-line replacement or shuffling. Well, who will do this? In the remaking of toys, such perversions are simply you can’t use it like that (in the sense, without tinkering with the code), and besides, raster interrupts are needed. But for new software, a normal video card is better, not requiring obligatory perversions to obtain a normal picture. Ray> while the 256x192x16 mode requires "light" or Ray> "extinguish" a point in the graphic block to obtain a given color, in Ray> 512x384 points are displayed in a checkerboard pattern, i.e. by adjusting the graphics with Ray> by calculating the checkerboard pattern and 2x magnification and placing the result in Ray> graphic blocks of the program, we get a game running at 512 by 384 s Ray> attributes, while for her physically it is still the same 256 by 192 sRay> attributes, but all characters on the screen have double resolution.. Again, is it necessary? Existing toys somehow lack standard resolution... unless you stretch the raster without a border on a large monitor... but then 256x192x4 will look disgusting (and at 512x384 there will still be slashing). Wire graphics like Elite will of course look prettier, but there you have to It's clear to get into the code. And for text, in principle, it’s enlarged enough The resolution is only horizontal, so you might want to think about four-color mode 512x192x2. Ray> by the way, playing with the checkerboard arrangement of shaded dots and attributes, Ray> you can mix colors in a block, as was once the case on BK0010, where Ray> it was possible to obtain up to 40 colors from 4 basic ones And where will high resolution go then? And the attributes are also “stratified” does it work? Some kind of perverted version of gigascreen, isn’t it better to just use the palette in 256x192 mode... It looks like for the author “aerobatics of programming” (read perversions) - truly an end in itself. However, this is a national trait - to create facing difficulties in order to then heroically overcome them. :) One phrase about the concept of Speck as an “inconvenient platform” is worth it...

From Valery Tkachuck To All 21 January 2007

Hello, Black_Cat I’ll try to formalize the problem statement a little in accordance with the criterion supplied by boo_boo - make it possible to use the same sprite in different objects with different attributes, which is a variant of RaydacTa 16 color per pixel did not provide. In the case of a reconstructed game, a minimum 8x8 sprite can have 15 color options in accordance with the set attributes. From this and we will proceed in the analysis of options. Option . In the version proposed by Lethargic there are 2 modes: with attributes, when r=g=b=i=0 or =1, and without attributes when rgbi are different. In the case of attribute mode we actually have a standard Speck mode, but with the attribute not on the familiar place is 8x8, and on 4x4. At the same time, we have all the disadvantages of the spec mode (flashing, 15 colors per quarter 4x4). Conclusion: the improvement is unsatisfactory because does not meet the task 16 color per pixel. Option . In my proposed version, 2 C modes with and without attributes are also possible. When this 4 bytes of attributes are divided into halves and distributed among everyone pixels of the familiarity row, so that each column of familiarity pixels a certain 4-bit attribute is assigned, which can serve as an identifier pixel palettes, i.e. We have 16 palette options. But because for the possibility15 options are enough for reconstruction, then the sixteenth may mean lack of attributes or additional option. The disadvantage of my option is the need to increase the bit depth of the color signal due to attribute bit depth, i.e. in fact, in this version we have 16 color per pixel from a palette of 256 colors, which will require installation in a video signal driver 8 bit DAC, on the other hand, this is even a plus :). It is possible allow all processors to manage their attributes, and the attribute the component will be directly fed to the DAC, but an option is possible implementations when the attribute only addresses one of the 16- and 4-bit registers palette, in such an implementation it is possible at low cost (write 8 bytes to palette registers) change the palette for the entire screen line at once. Conclusion: this option is more expensive (due to the introduction of a DAC), but the task achieved solves and even gives certain bonuses in the form of the 16th implementation option color and/or the ability to quickly change the palette for the entire line by rewriting 8 palette register byte. There is also an implementation option partially documented by Lethargic video controller on a separate board, but about the possibility of using it 4 I can’t judge processors. This is a question for the author. Also I can't judge the cost of remaking games for these three options. I ask you to evaluate this Lethargic andother game makers. It would be interesting to hear opinions on this matter.

From Valery Tkachuck To All 21 January 2007

Hello Lethargeek Let> However, this is a national trait - to create difficulties for yourself Let> and then heroically overcome them. Well, for now the academic possibility of creating difficulties is only being considered, and there is some benefit to this consideration. So it’s not worth it right away discard the option with 4 processors, but on the contrary it is worth discussing it opportunities, and not focus on the increase in the frequency of stones, because in some options, 4 slow stones are more useful/cheaper/more productive than one fast, and in such cases it is better to be able to combine useful properties. At least with this approach, the likelihood of reaching a dead end (as for example, P4 ran into a thermal barrier, and in the case of Spectrum such barriers price/technological availability, etc.) may become orders of magnitude lower, because growth productivity is possible in two dimensions - frequency and quantity processors.

From Dmitry Malychev To All 21 January 2007

Hello, Black_Cat Bla> Option . Bla> In the version proposed by Lethargic there are 2 modes: with Bla> with attributes when r=g=b=i=0 or =1, and without attributes when rgbi Bla> are different. In the case of the attribute mode, we actually have standard Bla> spec mode, but with the attribute not for the 8x8 familiar space, but for 4x4. When Bla> this also has all the disadvantages of the spec mode (flashing, 15 colors per Bla> quarter 4x4). Bla> Conclusion: the improvement is unsatisfactory because does not match Bla> assigned task 16 color per pixel. Blizzard! :mad; I; Well I clearly wrote that only two colors depend on the attribute, the remaining 14 are taken directly from the palette. Just say that for every eight points, the standard spinning top reads two bytes (one of which is an attribute), and in four-processor version - the same two bytes, but four times, that is, four bits per pixel, and four more attributes (of which in the version with quarters in only two are used per line).

From Dmitry Malychev To All 21 January 2007

Hello, Black_Cat Bla> Option . Bla> In the version proposed by Lethargic there are 2 modes: with Bla> with attributes when r=g=b=i=0 or =1, and without attributes when rgbi Bla> are different. In the case of the attribute mode, we actually have standard Bla> spec mode, but with the attribute not for the 8x8 familiar space, but for 4x4. When Bla> this also has all the disadvantages of the spec mode (flashing, 15 colors per Bla> quarter 4x4). Bla> Conclusion: the improvement is unsatisfactory because does not match Bla> assigned task 16 color per pixel. Blizzard! :mad; I; Well I clearly wrote that only two colors depend on the attribute, the remaining 14 are taken directly from the palette, where do they go? Fuck you, what's on every eight points a standard spinning top reads two bytes (one of which is attribute), and in the four-processor version - the same two bytes, but four times, that is, four bits per pixel, and four more attributes (of which in the version with only two quarters are used in one line). Conclusion: before posting such “conclusions”, you need to “think a lot” - (c) Bla> There is also an implementation option partially documented by LethargicBla> video controller on a separate board, but about the possibility of using it Bla> I can’t judge with 4 processors. This is a question for the author. The documentation mentioned is out of date. And here I wrote only regarding the subject - ZX-Poly. By definition, any option (not just mine) can be used as a “separate board” use it anywhere (the bus would be removed). Moreover, it will turn out to be significantly more productive for graphics than four ztniks. Bla> Also, I can’t judge the cost of remaking games for these three Bla> option T, I ask Lethargic and other game makers to evaluate this. Interesting Bla> it would be nice to get opinions on this matter. This needs a separate topic (and apparently still in “Programming”).

From Dmitry Malychev To All 21 January 2007

Hello, Black_Cat Bla> If the usual (albeit quadruple) attributes are always there, then they are there Bla> and flashing -> then this mode is worse than I thought Gee, why is it worse? If all attributes are the same, do it on the entire screen (with INK/PAPER, which do not match other colors of the palette), then it will finally turn out normal 16-color mode. :D So that there is no clashing (by the way, the correct name would be color spill, as in MSX) - use these two attribute colors only for the background, and you will be happy. Yes, and it will work out unnoticed with the attributes of 4x4... Another option is to switch several (depending on the DAC bit depth) colors in palette for one full (8x8) space. But here you already need to screw up VK - in difference from the “quartered” :) version, where the same attributes are correct work in both resolutions.

From Dmitry Malychev To All 21 January 2007

Hello, Black_Cat Bla> and with an increase in the processor clock rate of 6-8 times, won’t he feel better? What if Bla> pervert the hardware and make each processor a 32x2 buffer Bla> bytes, so that he could write there not only during the reverse stroke? B Bla> the first 32 are written without straining, and the second 32 are unloaded on time Bla> reverse. Will an unfortunate coder defend this? And the more sprites, the closer in memory costs alone, it will approach the 256-color mode, not speaking of speed... However, Raydac wants to force lazy coders engage in “aerobatics”, so he holds the cards. :D

From Dmitry Malychev To All 21 January 2007

Hello, Black_Cat Bla> is understandable, but according to the conditions of the task it does not work Don’t forget that “according to the conditions of the task” the 16-color mode should be “according to part-time" and standard (if the data matches in all four planes)! Bla> clearly, if there are four or five sprite colorings in total, then maybe it will work, Bla> and if it’s more, it doesn’t roll It will work for remaking toys - sprites can be easily distinguished one at a time “signal” color, especially if there are several. Bla> As a very specific solution - it will work, but it will not work as a general one ZX-Poly, in principle, does not lend itself to a “general solution”.

From Dmitry Malychev To All 21 January 2007

Hello, Black_Cat Bla> more details, didn’t move in Well, not 2 out of 16 in a 4x4 square, but let’s say 4 out of 16 in an 8x8 square (with a common palette 256 colors) or in the same place 5 out of 16 (palette of 64 colors, the remaining two attribute bits how else to use it)...

From Dmitry Malychev To All 21 January 2007

Hello, Black_Cat Bla> more correctly “can also be standard” It must, otherwise the toys will have to be remade too thoroughly from top to bottom. Bla> Better say something about changing attributes line by line along the edges Bla> overlapping sprites (I have it described in the second “output”) I already said hemorrhoids. (no, not like that...) HEMORRHOIDS! :v2_devil; Moreover; even with a normal raster interrupt system.

From Dmitry Malychev To All 21 January 2007

Hello, Black_Cat Bla> because it does not solve the problem But it solves the problem of compatibility - with attributes everything is the same as on Spec. Besides (I repeat), the 4x4 split is hardly noticeable! And what you described is practical what is your solution? :v2_laugh; Although; maybe Raydac will like it precisely because complexity and hemorrhoids. :v2_lol; Described; Your problem has long been solved by hardware sprites. :D Or a normal APA mode with a large color depth (blitter rules!). True, it has nothing to do with four-processor perversions...

From Valery Tkachuck To All 21 January 2007

Hello Lethargeek Let> HEMORRHOIDS! won't it get better if the processor clock increases 6-8 times? And if it’s hardware pervert and make each processor a buffer of 32x2 bytes, so that it can go there write not only during the reverse stroke? In the first 32 he writes without straining, but the second 32 are unloaded during the return stroke. And we don’t care about interruptions there will be.

From Valery Tkachuck To All 21 January 2007

Hello Lethargeek Let> Will an unlucky coder defend this? yeah, together with the processor :), but do you feel it will at least handle the calculation of the game and at what clock rate? Let me remind you: the discussion is academic, there is no need to fight yet :).

From Valery Tkachuck To All 21 January 2007

Hello Lethargeek Let> The problem you described has long been solved by hardware sprites. Let> Or normal APA mode with a large color depth It’s understandable, but according to the conditions of the task it doesn’t work :), no adrenaline, the task is still academic :) Let> Well, not 2 out of 16 in a 4x4 square, but let's say 4 out of 16 in an 8x8 square (c Let> with a total palette of 256 colors) or in the same place 5 out of 16 (palette of 64 colors, two Let> use the remaining attribute bits somehow)... clearly, if there are four or five sprite colorings in total, then maybe it will work, but if it doesn’t work anymore :(. As a very particular solution, it will work, but it won’t work like general :).

From Valery Tkachuck To All 21 January 2007

Hello Lethargeek Let> must be “part-time” and standard more correctly "can be part-time and standard" Better say something about changing attributes line by line along the edges overlapping sprites (described in my second “output”).

From Valery Tkachuck To All 21 January 2007

Hello Lethargeek Let> and why is it worse? because it doesn't solve the problem :) Let> Another option is to switch several (depending on the bit depth of the DAC) Let> colors in the palette for one full (8x8) space. more details, didn’t move in

From Valery Tkachuck To All 21 January 2007

Hello Lethargeek Let> that is, four bits per pixel, and four more attributes I understand that you have 2 modes - with and without attributes (which means I was mistaken). If the usual (albeit quadruple) attributes are always there, then there is also cleshing -> then this mode is worse than I thought :( - sorry, overrated :).

From acidrain To All 21 January 2007

Hello Raydac Ray> found several malicious (!) typos Yeah, there is a typo that constantly haunts you - kBt instead of kB... And in general, this and the topic about yellow speck - it seems to me like an internecine war, who he'll come up with something cooler. IMHO this and the yellow spec are a fool's errand.

From acidrain To All 21 January 2007

Hello Raydac Ray> that this idea (ZX-Poly) dates back to the end of the last century.. Honestly, I was pleasantly surprised by the appearance of the emulator. But I think many people are right here - this idea is only good in that the games you can color it. But they advise simplifying the scheme. But the feeling of rivalry remains clear IMHO =) PS. If I understand correctly: the game after the war1 is colored? Can I have her should I post it so I can run it in emulsion?

From acidrain To All 21 January 2007

Hello andrews and> no need to worry about sd controllers The SD/MMC controller itself is the simplest device, that’s who the software is will it support this on spec?

From razer To All 21 January 2007

Hello Raydac How to load a tap file into ZX-Poly? Or is this just a graphical demonstration? modes?

From Andrey Savichev To All 21 January 2007

Hello, acidrain aci> IMHO this and the yellow spec are a fool's errand. We are not waging any internecine war, our paths have diverged irrevocably and finally in 1999. I have known Igor since 1997, since then he has achieved much more than many others. He promises little, but delivers what he promises. Yes that all the unconstructive attacks on him here are a futile exercise. He I told you all: those who have their own projects - IMPLEMENT them. Compare unrealized ideas, although it is an activity that develops intelligence, it is justified only if you are going to do something similar yourself. Hunter never someone who didn’t fire a gun is an inventor, it’s good if he’s a writer or the soul of the company, but he's just a bastard.

From Igor Maznitsa To All 21 January 2007

Hello Alex Crush Ale> 1). The doc says: if CPU0 writes to the port, then it is generated Ale> NMI for the handler processor. Question: is there a mechanism Ale> "braking" CPU0 until the end of processing this NMI? Ale> The problem is clear, so there is a mechanism that disables the NMI arrival at processor.. it may well be that you have an outdated dock, download the latest version. Bit 4 ZXPoly R1 (page 9) disables NMI arrivals to the selected processor "Bit 4 C, when set, blocks the hardware from sending a signal to the module processor NMI. Setting this bit actually disconnects the processor leg from incoming signals. This bit has no effect if software has been made RESET and the system for reading commands from internal registers is in effect." Ale> 2). As I understand it, all ports are "intercepted" Ale> Yes, the idea is clear, but unfortunately the introduction of some emulated ranges ports will inadequately complicate the platform :( that’s why they intercepted all requests. In general, the most obvious application is ram disk + memory operations slave processors on the CPU0 side, the rest is not so obvious, but if dig, then emulation of the periphery is still possible :) and with such restrictions ..

From Igor Maznitsa To All 21 January 2007

Hello Alex Crush Ale> Yes, I saw that... But upon receipt of the first NMI interrupt, Ale> the processor processor will spend about 20 clock cycles Ale> You can enter a switchable mapping map. It will eat up 16 KB of memory Ale> BTW, how to find out the port address in case of occurrence Ale> processor-processor NMI or INT? 1) There is no way to find out the port address 2) The main USE CASE for which this was done is the ability to change/read CPU0 the contents of the memory of other PMs without changing its address space, and NMI and INT when reading were made with someone smarter in mind :) i.e. given potential opportunity, but how it will be used needs to be explored.. adding a port map is certainly useful and interesting, but it makes it very complicated hardware IMHO..

From Igor Maznitsa To All 21 January 2007

Hello Alex Crush Ale> Very strange Use case. Normal use case :) since this mechanism works well in the following cases 1) filling subroutines reading the result during multi-threaded work processors 2) work in advanced graphics modes without using all processors, i.e. CPU0 can replace itself and another percent (or several) by writing graphic data into his memory, which at this time is calculating something in background..

From Igor Maznitsa To All 21 January 2007

Hello, Black_Cat Bla> yeah, together with the processor :), but do you feel it will at least handle the calculation Bla> games and at what clock rate? I remind you: the discussion is academic. Bla> there is no need to fight yet :). I think it won’t come to war :) A lethargic somehow begins to drown in the water so quickly "saliva" that does not have time to clearly formulate its ideas and position.. :)

From Igor Maznitsa To All 21 January 2007

Hello, acidrain aci> Yeah, there is a typo that constantly haunts you - kBt instead of kB... aci> And in general, this and the topic about yellow speck seem to me internecine aci> war, whoever comes up with the coolest idea. IMHO this and the yellow spec are a no-brainer aci> activity. Yes.. out of habit I write everything kBt :( There is no war here, it’s just that there are now a surprisingly small number of new ideas in this area.. P.S. In addition, do not forget that this idea (ZX-Poly) dates back to the end of the last century.. it appeared in May 1994... when Mr. Gumin and I (he did it with Markelov full-screen port of Mortal Combat on Spec, like the ARCCAN group) They had fun washing the floors at the construction battalion kitchen...

From Igor Maznitsa To All 21 January 2007

Hello, acidrain aci> To be honest, I was pleasantly surprised by the appearance of the emulator. aci> But I think many are right here - this idea is only good for the part that games aci> can be colored. But they advise simplifying the diagram. aci> Simplify? But I wanted to complicate things... introduce a lot of controllers that "make" the programmer's work easier :) the only problem is that for a comfortable work there are comfortable platforms where guys with powerful hardware give programmers a lot of points ahead for mistakes :) That ATW1 was adapted for the old Pascal platform emulator... unfortunately with Since then, all that remains of the emulator and the game is this screenshot :(

From Igor Maznitsa To All 21 January 2007

Hello andrews and> A hunter who has never fired a gun is an inventor, it’s good if and> a writer or the soul of the company, otherwise he’s just a fool. For the future everyone.. the idea should start with a normal description.. otherwise no one will not give money for it... often messages or requests come with the moment “invest money”... to the question “in what?” they say "at something... but you still think" :)

From Igor Maznitsa To All 21 January 2007

Hello razer raz> How to load a tap file into ZX-Poly? Or is it just a demonstration raz> graphics modes? 1) Connect the ROM from the ZX-128 (copied as rom.bin to the emulator folder, file 32 kBt) 2) Select TAP loader or LOAD "" 3) In the dialog box that opens, select the .TAP file Since loading via TRAP addresses is done, programs using non-standard Bootloaders will not work with this mechanism.

From Krasheninnikov Alexander To All 21 January 2007

Hello Raydac Ray> 2) The main USE CASE for which this was done is the CPU0 feature Ray> change/read the contents of the memory of other PMs without changing your own Ray> address space, and NMI and INT when reading were made in the calculation Ray> to someone smarter :) i.e. given a potential opportunity, but how Ray> it will be used, we already need to dig... adding a port map Ray> is certainly useful and interesting, but it greatly complicates the hardware Ray> imho.. Very strange Use case. If it’s to modify the memory of other PMs, then it’s something like this strange. Those. it turns out that modifying someone else's memory in this way is wow how difficult. First you need to switch to this very mode, then work with memory through ports (some addresses (#3d00, #7FFD) are not available), with this, making sure that the CPU handler does not get sick from a large number of NMI and INT (or disable them for him (by the way, is it possible to disable NMI and INT for another processor? I’m not quite sure got it)), then turn back IO on the ports. It seems no easier than change your address space and work like humans. Another Use case, which is indicated in the document, namely “emulation of a missingperiphery" - is unusable for the reasons I gave earlier. It is necessary introduce the ability to slow down CPU0 for a while until the processor processor does your affairs, and, but not so necessarily, a mapping map. By the way, I used a similar trick with substituting ports for a PS/2 controller keyboards based on the second spec. There were plans to expand this idea to "emulation of other peripherals", but for many reasons - nothing normal comes out. Maximum - KB and KemMouse emulation. Alas. Now, if only the second one, emulating, the processor was 20 times faster than the main one - then yes... But this somehow stupid :-) - additional percent is faster than the main one :p In general, my conclusion is that mapping ports to another processor is an interesting idea, but very poorly thought out. To simplify the implementation of the main idea in general, I propose throw this thing out of architecture. Well, it’s not needed in this form, you know? Although and looks beautiful.

From Krasheninnikov Alexander To All 21 January 2007

Hello Raydac Ray> Bit 4 ZXPoly R1 (page 9) disables NMI arrivals to the selected Ray> processor Ray> "Bit 4 C set blocks the hardware from entering the module processor Ray> NMI signal. Setting this bit actually disables the pin Ray> processor from incoming signals. This bit has no effect Ray> if a software RESET was made and the reading system is active Ray> commands from internal registers." Ray> Yes, I saw that... But upon receipt of the first NMI interrupt, the processor-processor will spend about 20 clock cycles (command execution, CALL #66 :PUSH AF...) before it has time to change the state of “bit 4 of the ZXPoly R1 register”. So, in my opinion, there is no point in disabling NMI, you still won’t be able to do it in time... Example: HDD emulation. You will need to intercept a write to the data register. Record is performed by very fast chains of OUTs. How to make it so that not a bit lost? Ray> Yes, the idea is clear, but unfortunately the introduction of some ranges Ray> of emulated ports will inadequately complicate the platform :( You can enter a switchable mapping map. It will eat up 16 KB (64 K) of memoryports, write and read = 128k, each with a bit). Although, of course, this will also complicate the system. But without such a card (yes, even a fixed one or in fast flash) I still don’t see the point in port redirection. After all, in order to emulate even the simplest peripherals, the processor processor should "serve as a layer between the ports and CPU0." for all other ports, and this is very difficult and often impossible. At a minimum, all border effects they will die immediately, the beeper sound too, etc. BTW, how can I find out the port address in case of a problem? NMI or INT processor?

From Krasheninnikov Alexander To All 21 January 2007

Hello Raydac I have a couple of questions about the CPU IO mode - when any CPU assigned as IO handler for CPU0. 1). The doc says: if CPU0 writes to the port, then an NMI is generated for processor-processor. Question: is there a mechanism for “braking” CPU0 before end of processing of this NMI? If so, which one? If not, what will happen to CPU handler if CPU0 begins to execute a chain of OUT commands, for example, OUT (254),A (he decided to draw on the border)?. After all, then the first handler will be interrupted by the second NMI, then the second by the third, etc. As a result, the stack will move all available memory :-) 2). As I understand it, all ports are “intercepted” (well, except for #7FFD and #3D00). That is, if I want to emulate a CMOS watch, then I will have to emulate keyboard port #FE for reading. Those. The CPU handler is forced at least once per frame make IN from all keyboard ports (and there are 256 of them, although you can count 8, the rest calculate - but this is also not so simple) and write them in memory at addresses #XXFE (or not?). In general, I would like to be able to specify which ports are emulated, and which ones are not, while distinguishing between “write” and “read” ports. I really I can hardly imagine it, but still...

From Dmitry Malychev To All 22 January 2007

Hello Raydac Bla> yeah, together with the processor, but do you feel it will at least handle the calculation Bla> games and at what clock rate? Let me remind you: the discussion is academic, for now Bla> no need to fight The academic discussion is a separate topic, and so the thread is trashed. ;) About all sorts of things “perversions for the sake of perversions” I don’t intend to “discuss”, because it’s a waste time. You propose to actually emulate a central processor (large part of the time - all four) sprite VDP functions, in the absence raster interrupts, such emulation will consume all the raster display time (similar to interlaced blinkers), in case of raster interruptions there will be problems if the pixels of different sprites change too often (you need to bypass programmatically); and in both cases you need sprites first sort by each pixel line (and perhaps prepare something like line-by-line scripts)... horror!! Definitely not suitable for coloring books, because there are a lot of shove additional code, but for new software it’s better to have something simpler distinguish objects of the same shape, for example with the same signal color, or printing using a special procedure with color conversion will cost less. If you add megahertz, it will make the computer feel better, not the encoder. The awesome scheme remainsthe same at any speed. Although - if you add a lot of megahertz, It will be possible to sculpt toys right away on Vasik. :D Ray> A lethargic somehow begins to drown in “saliva” so quickly that he doesn’t have time Ray> clearly formulate your ideas and position.. A lethargic somehow quickly begins to drown in a general reluctance to even think about your own proposals, let alone those of others. It is assumed that anyone everyone should immediately admire the idea expressed, or, as a last resort, do something minor notes on details. Ray> For the future everyone.. the idea should start with a normal description.. An idea must start with a proper rationale. In the ZX-Poly doc about using all other (unnecessary for coloring toys) possibilities - a few lines in the afterword (good wishes to programmers to pervert and sculpt something in a four-processor circuit). That is, about the expediency and features of the practical application of the proposed device (in addition to "coloring books") the author himself has very vague ideas?

From Dmitry Malychev To All 22 January 2007

Hello hero her> I'm about to burst It’s better not here, but in a closed section, after re-reading the examples from it. ;) P.S. At the same time, you can finally answer the question I asked you before. four times. :v2_tong2:

From Dmitry Demyanenko To All 22 January 2007

Hello Lethargeek Let> Any idea expressed must be immediately accepted by everyone Let> admire I'm about to burst :v2_lol; :v2_lol:; :v2_lol; :v2_lol:;

From Andrey Savichev To All 22 January 2007

Hello Alex Crush Ale> But this is somehow stupid :-) - additional percent is faster than the main one Well, why is it stupid? just an asymmetric cluster

From Igor Maznitsa To All 22 January 2007

Hello Lethargeek Let> That is, about the feasibility and features of practical application Let> the proposed device (besides the “coloring book”) the author himself has quite Let> vague ideas? You won’t believe it, but if I started using this technology to the maximum and doing it under her products, then I could easily bring them to the level of the 486-Pentium I, one problem - to dig, you need a target audience, but there isn’t one right now :)

From ASDT To All 22 January 2007

Hello Raydac "The SD/MMC controller itself is the simplest device, that's what the software will it support this on spec? Now I'm doing catfish support through input-output tape recorder (so far only 38400 and TAR files) Then - 1 mega+ disk, after the card... And "ZX-Poly" will die without being born...

From Andreas Kaiser To All 22 January 2007

Hello andrews and> why is it stupid? just an asymmetric cluster What? Gentlemen, when will you stop comparing your genitals here?

From Igor Maznitsa To All 22 January 2007

Hello ASDT [QUOTE=ASDTA "ZX-Poly" will die without being born...[/QUOTE] I remembered a good dialogue from "Caution Modern 2" :) “Have you said everything? Well, as they say, I’ve said everything, let it go” :)

From Igor Maznitsa To All 22 January 2007

Hello Alex Crush Ale> Why are you afraid to admit that the trick is substituting ports in the existing one Is Ale> kind of useless? Let's throw it away! Why complicate hardware with unnecessary Ale> things? That's when this thing will be used + when the idea will be Ale> brought to mind... I would agree...if I had no experience developing for this platform and I understood how annoying it would be to access through page switching and how convenient is it to simply replace LD (nn),A with OUT (C),A In general, I don’t see where there is anything else to be done, the main problem was in synchronization processors, and it was added, so the idea is 99.9% complete... even two backup video modes remain... everything that is currently offered is beyond the scope "simplicity"

From Krasheninnikov Alexander To All 22 January 2007

Hello Raydac Ray> Normal use case since this mechanism works well back in Ray> in the following cases Ray> 1) filling subroutines reading the result during multi-threaded work Ray> processors Ray> 2) work in advanced graphics modes without using all Ray> percent, i.e. CPU0 can replace itself and another percent (or Ray> several), writing graphic data into its memory, which is in it Ray> time is calculating something in the background.. All this is much more convenient and familiar to do through memory, rather than through ports. Very It would be great to upload a 30-byte procedure into memory via ports at the address #7FF0. But there is nothing wrong with a temporary change of address space. Why are you afraid to admit that the trick with substituting ports in its current form useless? Let's throw it away! Why complicate hardware with unnecessary things? Here when will this thing be used + when the idea will be brought to mind...

From Mikhail Andreev To All 22 January 2007

Hello icebear ice> What? Gentlemen, when will you stop comparing your genitalia here? +1 :v2_clapp; to; Why do our people like to offtopic..... (icebear this is not about you.... :v2_wink2; );

From Dmitry Malychev To All 23 January 2007

Hello, Mikka_A Ray> In general, I don’t see where there is anything else to be done, the main problem was Ray> processor synchronization, and it was added, so the idea is 99.9% Ray> finished.. even two backup video modes remain.. that's all Ray> is currently proposed to go beyond "simplicity" Hmm. Does the attribute unification proposal go beyond simplicity? Speaking of simplicity (and flexibility), the so-called “video modes 0-3” are not are needed explicitly, they can be obtained perfectly by setting the 256x192x4 and 512x384x1, only two descriptor bytes are needed (in addition to the palette registers) pixel and attribute blocks 2x2 (that is, from which plane to take the corresponding pixel/attribute in each quadruple of pixels/attributes). At the same time, they immediately appear "modes" 512x192 and 256x384 with rectangular points (not counting the rest perverted special cases), you can make quick blinkers... In the mode 256x192x4 “extra” colors are killed simply by adjusting the palette.

From Roman Dubinin To All 23 January 2007

Hello icebear ice> What? Gentlemen, when will you stop comparing your genitalia here? When someone really proves and shows :) ..your iron in action, of course...

From Igor Maznitsa To All 23 January 2007

Hello Lethargeek Let> only two bytes describing 2x2 pixel and attribute blocks (i.e. Let> from which plane to take the corresponding pixel/attribute in each quad Let> pixels/attributes). In our business, the worst thing is precisely the expression “to add everything”...

From Dmitry Malychev To All 24 January 2007

Hello Raydac Ray> In our business, the worst thing is precisely the expression “to add everything”.. The worst thing is not to see “where there is more to be done.” have four identical pseudo-standard modes - this is not scary, but they require the same switches. The described additional settings are nonsense in comparison palette, especially since it seems like it was decided to use FPGA for logic, what are the problems? In case of difficulties, specialists here will always help. Apparently, implement a more efficient (and most importantly useful) architecture "engineering thinking" doesn't allow it? Why is it necessary from the category “impossible” be sure to put it in the category of “complicated” and not in the category of “simple, convenient and effective"?

From Valery Tkachuck To All 24 January 2007

Hello Lethargeek Let> discuss" I don’t intend to, because it’s a waste of time no, that’s not right, such a discussion is useful even in the case of “perversion for the sake of perversions." A method in which even delusional ideas are considered is used in TRIZ and is called "brainstorming". This is a very useful method :), because... he allows further consideration to operate on the entire field of possible options, and not focus on one direction, although it is possible promising at first sight. Let> in case of raster interrupts there will be problems if the pixels are different Let> sprites change too often Well, this is unlikely to be found in ordinary toys that are being converted, and if there is, then there is no change frequent (i.e., not several times per line or per frame). Let> in the absence of raster interrupts, such emulation all the time Let> devour raster displays (similar to interlaced viewers Let> blinker) I don’t argue that the option is gluttonous, but here you can already think about hardware possibilities leveling the phase mismatch between calculation and display, something type of separation of video processor memory from general memory and synchronization contents during the return stroke of the beam. Okay, thanks for participating in the discussion and let's summarize:1) Attribute option for a 1x8 column with row-by-row rewriting of attributes sprites running over each other can, in principle, solve the problem in in the most general case, although at the cost of significant processor resources, therefore, the use of this method can be demonstration. 2) You can achieve a solution to the problem using simpler means, but limiting yourself to This means fewer colors per pixel, which under certain conditions may be enough. To do this, just give one of the color bits (e.g. plane bit I) as a palette definer (signal color as suggested by Lethargeek). In this situation, we get 8 colors per pixel from palettes 32 colors per group of 4 pixels, with the possibility of having 2 per group palette selection option using a signal bit (in this case, the DAC can be replaced three three-bit R-2R matrices), or 8 colors per pixel from the 128 palette colors per group of 8 pixels, if possible, have 2 options per group selecting a palette using a signal bit (in this case, the DAC can try replace with three five-bit R-2R matrices). At the same time, groups of 4 and 8 pixels can be configured as 1x4, 2x2, 4x1 and 1x8, respectively, 2x4, 4x2, 8x1. Question: are there any considerations for justifying the configuration of groups? pixels?

From Dmitry Malychev To All 25 January 2007

Hello, Black_Cat Bla> no, this option did not suit me. The palette for a familiar place is Bla> flashing, the quarter attribute is also not much better. And that there are only two “clashing” (correctly spilling) (and most likely only INK) colors out of 16 (that is, 14 are independent on the entire screen) is worse than 8 colors per point for inferior foreground/background?! Since the scanner timings cannot be changed, the “palette in the familiar place” is too strongly ties the color mode to all four planes. Especially in yours option - as I understand it, attributes are not used there at all... and for what? If you want to change the palette, use the BRIGHT bit of the attribute, then compatibility will not be affected (if the palette is configured accordingly). At least You can have several windows with different palettes. And with pixel accuracy - too “expensive” and inconvenient, no matter how you group it. Do you think that the console for converted toys will not have enough 16 colors (from two palettes) in the window? This (adjusted for speed) is almost Atari ST level (or even better) - many effects with raster interruption can be done using attributes repeat. Bla> I was just interested in considerations as to why the group Bla> pixels this way, not that way. Due to pixel-by-pixel stratification in 512x384x1 mode. :)

From Valery Tkachuck To All 25 January 2007

Hello Lethargeek Let> Due to pixel-by-pixel stratification in 512x384x1 mode. Do you mean the image formation method in mode 5? Do you think these two modes (4+ and 5) should be somehow connected? It seems there is no task to convert something from 4+ to 5 (which means there is no task to have an ideological connection in the form of attribute regions). There is a task to convert from standard mode to 4+ or 5 and here they can have some preferences. For example, there was such an extended mode for Spec as attribute per byte, so it is actually a subset of the pixel mode formed into groups 8x1 and this is already a certain justification (if There is also software for this mode :)), although not from the point of view of the encoder, but from the point of view. availability of additional software Let> as I understand it, attributes are not used there at all. Do you mean the attributes of the software being converted? Used, but not quite directly, because they are for the entire acquaintance area, but my acquaintance area is divided into groups pixels having their own individual attributes (i.e. higher detail and Accordingly, the probability of spilling is lower, because the main idea is that possibility not to spoil the non-spilling 4 mode, otherwise In general, there is no point in adding attributes here, it’s better to just leave them at all without attributes but also without spilling). The difference between modes 4 and 5 is not in depthcolor and resolution, namely the presence or absence of spilling - this is a criterion. To avoid confusion, I will once again describe the color formation scheme: Depending on the size of the pixel group, the four attribute bytes are divided into groups of palette register address bits (Ar). For a group of 8 pixels - attribute has 4 bits (Ap0-3) for each pixel in the familiarity line, for a group of 4 pixels, respectively, 2 bits (Ap0-1) for each pixel in the line of familiarity. B In accordance with the 4 (or 2) bit address of the registers of the palette Ap, one is selected of 16 (or 4) palette register Rр0-15 (Rр0-3). The palette byte is read from it having the structure p0p1p2p3p0'p1'p2'p3'. The choice of nibble p or p' is carried out according to the value of the I bit. RGB colors are generated accordingly as R(G,B)p0p1p2p3 or R(G,B)p0'p1'p2'p3'. The difference is in the options with groups of 4 or 8 pixels per attribute in the number of palette registers available for addressing on the entire screen is 4 or 16, respectively. As a result, we get 8 colors from the palette 128 for each group of pixels, each pixel with its own color. P.S. This seems to be the final solution to the problem of the possibility of using the same sprites with different attribute coloring in mode 4.

From Dmitry Malychev To All 25 January 2007

Hello, Black_Cat Bla> It seems there is no task to convert something from 4+ to 5 (which means there is no task Bla> have an ideological connection in the form of attribute areas). There is a task Bla> convert from standard mode to 4+ or 5 and there may be some Bla> preferences. Maybe someone would like to convert both to 4+ and to 5? The more places they have in common, the less work. Bla> Do you mean the attributes of the software being converted? Used, but not Bla> quite directly, because they are for the whole familiarity, and I have a familiarity Bla> is divided into groups of pixels with their own individual attributes (i.e. Bla> the detail is higher and, accordingly, the probability of spilling is lower Quarters are actually the same thing. Bla> because the main idea is to avoid spoiling it as much as possible Bla> having spilling mode 4, otherwise there is no point at all Bla> also add attributes here, it’s better to leave them without Bla> attributes but without spilling). Well, so we make attribute colors equal to palette colors in all attributes, so you and the usual 16-color mode “without attributes”.Bla> The difference between modes 4 and 5 is not in color depth and resolution, but Bla> the presence or absence of spilling is the criterion. Gee, 512x384 vs 256x192 - and the difference is not in resolution? Zzzhosh! And by the way, in mode 5 there is no spilling, but just good old clashing. ;) Bla> To avoid confusion, I will once again describe the formation scheme Bla> colors: IMHO dividing pixels into small groups is inconvenient. Well, for example, you can make fun of 4 palettes, and every two bits (out of 32) attributes define its palette for the group 2x2 pixels. What's the point? For normal animation you will have to cut down the colors, that is, in 4 palettes there will be not 64 different colors, but fewer; remake toys You'll have to be more careful, you'll have to sculpt the standard mode separately again... well, nah! A if the attributes are the same in all modes, for example, in toys all do not touch the text output, unwind only the graphic part (and then perhaps not completely). Again, less resources will be needed in terms of logic (the same palette, for example - it’s better not even to have two, but to fix attribute colors as direct IGRB code). If different video modes have many "common places" with a strong external difference - IMHO this is good. For alterations unified attributes are enough for the eyes, but what about something complex andThere will be original coding - big doubts. Spectrumists are already lazy people, and here you still have to pervert so that the picture does not glitch... Well, no one will do anything anyway.