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.