Text: ALEX RAIDER / FLASH
COPYRIGHT 1997
PROJECT SUPERSPEKTRUM "
Part 1
That's already in the yard in 1997 god.SPECCY lived
SPECCY alive, SPECCY will live !!!!!! What
survival prospects are in this small, beloved cars? Spectrum
crowd top box, Amiga, PC-compatible and other junk ...
Meanwhile, after all by itself Speccy is not so bad
but how to make it really powerful?
If you're a real fan of the Speccy - This
article is for you!
So, be ready, I begin! :)
Standard Spectrum is equipped with a processor Z80, running
at a frequency of 3.5 MHz and 48 kilobytes of memory, of which
the 6K reserved under videooblast.Model Spectrum 128 in
addition to all features additional 80K RAM is organized into 5
pages of 16K, which can be imprinted in the upper 16 KB.
memory. In this case, there is an additional Page ROM
containing the program extended BASIC. This page can be
imprinted instead of a page containing a standard BASIC.Okey,
okay, I stop! ... All this and so you know ... Hmm, answer
question - what more do you want?? Sure, sure ... anyone who
has programmed in Speccy, say - MEMORY! NEED MEMORY !!!... Yes!
Additional 80K Bloody lacking,
order to swing for real! Let Z80
so weak, but if there is a lot of memory,
most of the problems with the speed of the CPU necessary!
Naturally, you will say - well, and that This is new? Wait, do
not rush to vyvodamiuvidish ... Now pay attention to PZUego few
touches. First, the page ROM ALWAYS imprinted in the lower 16K.
What if we remove this restriction? Exempt
16K of address space!
Those who are programmers Spectrum 128
familiar with the problem of lack of memory
-Have to squeeze the program into the region
between the end of the screen and the window vpechatki standard
pages, otherwise there may be a very significant problems with
the speed of the program. A very simple example: If you are
using technology to work with two videooblastyami must withdraw
graphics on the 7 th page, where is
videooblast second, but the schedule
sprites can not be kept in the memory page, because otherwise
account for each, say, read byte switch 7 th
pages and pages with graphics. Naturally, it is extremely slow
and complicated work programs, so most sprites are almost
always located in the main computer memory, rather than on the
pages.
Thus, the idea starts to look like: what if you could type
in the page, not only in the top 16K? Excellent! Recall that
all our 64K and can be detailed into four regions and 16 kb
each. Allotted to each area (the window projection) in its own
single-byte portu.Osobo stress - the port addresses must be
single byte! Ha! Thus, writing the desired value in the right
port, we be able to have the desired page in the desired
location and desired time! And most importantly, the work can
VERY QUICKLY AND Maximum effectively allocates
COMPUTER!
That's not all ... Enter at least for
the bottom window projection (lower 16K)
special security attributes read / write.
Thus we get the emulation ANY
ROM! If you take certain pages
memory pages under DOS, it will be possible
quietly abandon debility
TR-DOS and write your disk system with
their capabilities and innovations, though
CP / M, although MS-DOS ...
PROJECT SUPERSPEKTRUM "
Part 2.
First of all, I dedicate this story
those involved in the development of new
models of domestic and Spectrum
everything connected with SPECCY general.
Actually, to call this zametochku "stuff", too
kruto.Skoree are some thoughts expressed on paper. "
And I'll start, oddly enough, by considering the
architecture of corporate computer, produced once by Sinclair
Research Ltd.
The fact that many are still not well imagine what kind of
car. Initially, there was a Spectrum 16. He had only 16
kilobytes of volatile memory and as much operational. Rom firm
Spectrum was probably made on the 27128 chip, and RAM in eight
chips 4116. In addition, I have a great suspicion that the tape
input (TAPE IN) was assembled without any comparator (this
suggest recommendations to take the signal
for a computer with speakers or from the output to
headphones).
Clearly, since the microprocessor
ULA and shared memory at a time, had to solve a problem like
that would work at the moment with pamyatyu.Sinkler followed
the path of the least soprotivleniya.Tak as it was impossible
to stop the ULA - otherwise lost to image screen, Sinclair
decided to just - pure and stop the microprocessor.
If the microprocessor is required RAM and
ULA was engaged in reading the bytes bit
maps or byte-attributes to the microprocessor simply ceased
applied pulse clock frequency. Appear in the original machine
had two sets of address multiplexers - one for the ULA and
another for the Z80. And somewhere I heard that the tires and
Z80 ULA tires were separated from each other resistors small
denomination - ie, until processor waiting for the release of
RAM, it does not interfere with ULA thanks to this most
resistors.
Despite the fact that the process of image formation is
continuous, ULA reads information from memory is not
continuous. The fact that the original machine (as opposed to
our) ULA accesses memory only when the output of graphical
information, and in moments of output curb appeal to OZU
absent. T.o at the bottom and upper border, and border on the
left / the right of the screen works with a microprocessor
maximum speed, the same as in Rom.
By the way, the regeneration of RAM in the Spectrum
16 is due to the continuous appeals for support to ULA video. As
known, the microprocessor Z80 (as well as more
Later brainchild Zilog-Z8000 and Z80000) has the ability to
regenerate the heap. For this, he geniriruet signal RFSH, puts
on the lower half of the contents of address bus spets.registra
R, and the older - the contents of register I. So
Now, because of the architectural features of the original
machine can not be specified in the register I of 40h ... 7Fh,
because while reading the command processor and how to
consequence of the next cycle of regeneration of memory there
is a conflict between the ULA and the processor, which leads to
freeze the latter.
When Sinclair just added memory
Spectrum rejection circuits 4164 - their
"Halves", and then obtain the famous
Computer - Spectrum 48.
So, now, the most interesting. Case
that the machine with 48 kilobytes of memory
hardware receive two separate areas
memory. Bottom - with addresses 4000h .... 7FFFh
was from an old memory Spektruma16.Etu Z80
time-shared with ULA.Zato top - with the
addresses 8000h ... FFFFh was entirely owned by the
microprocessor. Problem regeneration of this memory was lying
on the microprocessor.
As you can see, memory branded car is broken into two
parts: the slow and fast bottom top. It is necessary to refer
to these areas CHIP MEMORY and EXCLUSIVE MEMORY, or easier-CHIP
and FAST.Tut I note that virtually all of the shovels Spectrum
crushing, no, for all the memory is going to ICs 4164 a
capacity of 64 kilobits (their Sov shameless ripoffs analog -
K565RU5). And nothing is done, as the problem of conflict ULA
and Z80 as well and was remains, but due to the fact that
memory is a hardware one, even with the top on the idea of
FAST MEM, the microprocessor has brake.
And what with the Spectrum 128? -
Ask vy.A very even prosto.Vsya memory
Spectrum 128 consists of ROM capacity of 32
kilobaita and RAM capacity of 128 kilobytes. When
This ROM has been realized on a chip
27256, and the RAM chips on the sixteen
4164, ie two "rulers" for eight mikroshem.Tak This is the first
line - CHIP MEMORY. And the second - FAST MEMORY.S software
point view the page with the numbers 0-3 is FAST
MEMORY, a numbered 4-7 - CHIP.
From all this implies some
features of writing programs for the Spectrum-compatible
kompyuterov.Esli you want your program to work on branded
machines and on many domestic machines with the division of
fields of memory, I can not specify the register numbers from #
40 to # 7F.Esli you put the program in CHIP
memory, or, equivalently, in stranitsah4-7,
it will run slower, since
processor will be even his team (I
not talking about data) to read slower.
If you need a routine that processes the sound to the speaker,
place it can be only FAST MEMORY, as in CHIP memory
processor works not only slower, MO
and uneven (accelerated on the curb). Then
The same can be said about the procedure for loading a magnetic
lenty.Voobsche, try CHIP memory used only for static data
permanent tables, compressed data, tables, coding game levels,
some Sprite, music and text data. Try not to have a CHIP-memory
stack of the CPU, considering it leads to a slowdown of work
teams using a verified stek.Kak my words Remember, you have
ever met in the branded software procedures involved in sound
processing on the speaker below address # 8000??
Even TF-COPY, known cassette copier (aka TSL PLOMBA), even
though he is in the display area, but the procedure works with
a tape he had sat at the end of memory although much simpler it
was used to arrange them in display area, together with the
main unit. All the Polish self-made feeders are FAST memory,
usually in the end. Code for all proprietary software (except
the very old, still is nice to Spektrum16) is written at
address 8000 hex. Of course, there are separate procedures,
speed of which the programmer sacrificed and placed in the
bottom half memory - for example in the Netherworld, Jet Set
Willy. Programmes at the same meet and poorly
link, such as Elite archived text messages would be better to
place the bottom, not the program. Instead of They can also be
posted and other data that fall into CHIP memory.
In JACK THE NIPPER 2 All CHIP memory
Starting right immediately behind the screen is filled with
codes of rooms - 40 bytes per room of 192 rooms, totaling 7,680
bayt.V SAVAGE 3.1 buffer screens are in the FAST memory, in the
first SAVAGE buffer is to address # F000. Here is an example,
we can say the crude. Very beautiful game DARK FUSION is
designed for computers 48/128. The graphics of the hero
himself, graphics and explosions proch.nepodgruzhaemaya
schedule lies with the program code in a quick half of the
memory but the dynamic range, at which time the creatures are
created sprites and background, some reason is slow, although
this region could exchange places with the region
store the current level, which is quite
large in size. Most likely a programmer at the initial planning
of the game took the upper hand. memory for the levels of the
convenience of debugging, as most likely he was there
assembler, monitor, etc.
And it is totally wrong as the layout
a programmer's perspective, under the brand name
Spectrum can lead Russian toy
Winnie the Pooh "firm Softland. Since I
had to break into this program and move it under the usual
format for TR-DOS files, I could not get acquainted with its
"architecture." Programmer in the first place is located very
critical for the rate process vykidki screen buffer in the
bottom of the slow field pamyati.Vo Second, there is also
himself bufer.V Third, if I did do not confuse, muz.bloki lie
in the slow pages, despite the fact that kompressnutye levels
are fast.
But, however, there is a high probability
the fact that our domestic programs are unlikely
Lee will reach the countries where the firm Spectrum
is still relevant, ie, to Poland, England,
Germany Portugalii.Dazhe if it happens
it is likely they will work on
Virtual Spectrum (emulators), and emulators, of course, do not
care about the organization data and status registers I. That's
why I'll occasionally violate the firm Spectrum. I am often
required due to the fact that he begins to miss the address
space under the program, and I have to place even faster code
in CHIP MEMORY.
By the way, by analyzing program Shock
megademo, namely, the first part of this muzykalki, I could
even count how many cycles microprocessor has a string
rastra.Poluchilos the following: when there is no recourse to
CHIP-RAM, and the program runs in the FAST -RAM, get 228 cycles
per stroku.Kogda is an appeal to CHIP-RAM, and the program runs
in the FAST-RAN, obtained 202.5 tact or 405 cycles in two rows.
Run-time code that is in slow CHIP -RAM neizvestno.Kak I know
this part of the scroller, the programmer expected to Spektrum2
+. You can count the number of beats per line, analyzing a
variety of Western DEMO-programs written in proprietary
machines, for example - ECHOLOGY, LSD, NMI 3, as well as many
games, using accurate binding to move the beam / Total
lines.
General conclusions from the foregoing:
1.Firmennaya machine faster Patriotic
GOVERNMENTAL, although the latter more rapidly at
appeals to the CHIP-memory.
2.Tolko on a machine with apparatnorazdel
term memory can achieve compatibility
bridge with a brand name computer.
3. Programmers would be worth to consider
particular brand cars - especially
but the programming and muz.protsedur
the use of register I.
PROJECT SUPERSPEKTRUM "
Part 3.
Something that developers of hardware,
especially Zonov Sergey.
I think you read the second part, devoted to corporate
Spectrum and requirements for the program. And I think, Nemo
convinced that he was wrong (sm.el.zhurnal ZX-FORMAT
2), the turbo processor may be on the curb,
even necessary. On top of architecture
two areas of memory gives a linear turbirovanie processor in an
exclusive area of memory! (Nemo, you are again wrong).
I would like to say that the majority
modern computers use hardware division of areas of memory.
Example what are the best home computers AMIGA, office IBM PC,
even in primitive dandy There are four physically different
memory-videoOZU, videoPZU, ROM programs and ext. small RAM.
Powerful supercomputers and graphics workstations used even
more Shared memory up to a separate
text and a special cursor memory.
Yes there supercomputers! Take the most
blunt IBM PC with a 486: internal
CPU cache is a 486-times the cache on the "mamma"
is two, shared memory - three video memory -
four, yes muses. Memory GRAVIS ULTRASOUND -
it's five, oh yeah! More CMOS and BIOS - seven.
I think for the eight-engineering
slowly takes time dynamic RAM,
Now SRAM capacity of 32-64 kb
worth almost as much as there are
ru5. Well, strictly speaking, should be worth if
buy them from dealers manufacturers.
A simple example - Cartridge fucking
"Dandy" with a static memory 16k * 8 bits
costs about 20-30 thousand Given that there
not one of RAM and a fairly capacious ROM if
consider how much we pay these middlemen
cartridges, which buy them from the Chinese,
and Chinese, too, people are quite poor-buying, go to the
manufacturers, and those paying producers of most static RAM.
It turns out that the "static" has long been nothing
and not worth it. It's clear that if buying
static memory at the flea market, Vasya, the
Vasya wrung even for a lousy 537RU10
ten thousand, although its capacity is
just a couple of kilobayt.Vasyu not care what
This has already produced mikruha let10-15, he was a
it buys ruble and twenty, but his
worried that it goes well in the automatic number detectors, so
He and wring their corresponding prices (I,
By the way, remember the epic with the DACs K572PA1,
I have for the first COVOX'a and SOUNDRIV'a
bought for 400-500 rubles, and now stand at
5000 rubles each).
What are the prospects of using
in domestic Spectrum Static RAM
? First, the simplicity (multiplexers are eliminated).
Secondly, we can very greatly accelerate prots.V Third, if
someone will start producing ULA in one case (that I just
categorically advise Zonov), then how do you computer for eight
to ten chips while overclocked to fivefold the velocity of
ordinary Spectrum?
Now about the ROM and the HDD (most
it concerns Zonov and his entire team)
Use ROM for program memory?
In my opinion, this idea mertvorozhdena. Let
look at the mistakes Sinclair: If the Spectrum was able to
connect the RAM instead of ROM, then firstly, you could have
different versions of BASIC, but not the same with 1982 - just
a programmer would clear - you should not use ROM for writing
your own programs, because it can be changed. Secondly, would
disappear all sorts of shady PZU.V Thirdly, we could
effective use of team RST Z80 microprocessor and manages the
most common the first mode, the interrupt Z80. Would
opportunity to effectively change himself BASIC
or a separate procedure. And most
important, there would be an additional 16K of memory, if for
BASIC programs are not required (which happens in 99. 99% of
cases). As you can see, the benefits are much greater, and
almost no drawbacks. I do so say quietly that it would be
silent, if TRDOS would sit in RAM ...
Of course, I understand that Sinclair was on
ways to maximize reduction in price and in general was to
investigate the fate of Speccy BASIC on it. On March 1982, even
this configuration system seemed likely to wonder. But here
Why to 1986godu Sinclair with the release of Spektrum128 leave
everything as is, even aggravated situation, adding to the ROM
is absolutely unnecessary 16K "Advanced BASIC" I still
unclear. Much more he would have won, replacing the ROM page of
RAM. It was enough to slightly modify the native firmware that,
when it corresponded to the start page OZU.YA
asked people how often they use
BASIC-128, was that much easier
to set, edit i.t.d old ROM
48.U My own computer with 128
Kb, but PZUshka has 16k, ie the Advanced BASIC at all. Moreover,
In all my practice he told me not once
needed. So actually there in our time
expand ROM? In my opinion net.Luchshe save on ROM, but to
expand the RAM. But this is topic for another discussion. Now,
about HDD. The first remark-what a fool to cling to "screw" to
the Spectrum? Yeah if the poor fellow found the money to buy
the hard drive, then why he Spectrum? Either he
Weirdo with a capital letter, or simply
dunce. Much better to connect the hard drive
to the computer AMIGA.
<Notes from the Mystery:
> Well, at the expense of the screw you, Lech, of course, too
> Too bent than it should, because I myself
> Going to tuck the screw on his Scorpion.
> Maybe I dunce, and I can pervert with
> Big letters, but I just want to work
> Speccy a favorite with the convenience and, except
> That, I just got tired of 'pull' wheels
> On your diskoverte.Nu and if I have
> Money on the screw, it does not mean
> I have also have 400 bucks on 1200yu
> Amigo (a 600yu I do not want).
Then, perhaps, to write software offered to Mr Larchenko? Oh
yeah! He just a wonderful programmer! Figured out
all this nonsense with the RST 8
could, of course, but he is! By the way, the lion's
share skorpovskih ills associated with this
ill-fated RST 8! You can not just screw
pull up, you can come up with for the Spectrum
special coprocessor accelerator-based
for example, "Nurse" IBM PC-286, or PC-386
who have long been cheaper boards of the same
Scorpio-256.
So I quietly and crept to the main-extension
pamyati.Voobsche, the first thing you think, looking at the
offspring of domestic developers - why so wisely? The
impression is that way, Kojima proposed to manage all the
additional memory, conceived as a time specifically for
In order to programmers broke their heads. Why hold the memory
management of two ports? I do understand that because
much easier to build hardware
computer, but never forget -
Only the computer is good, all of whose
its resources are useful for programmers! Otherwise, the memory
can be a huge possibility, but using it will only a
dumb-pretupoy quasidisc ...
Okay, enough criticism, and now
dreamed about things quite real ...
I was wildly angry immutability of the memory card normal
Speccy. If I could even thrust out ROM and have there memory
page ... Why are there ROM! And how about this here
Configuration: The standard Spectrum introduced a single
port.Pri power, I have the most common
Spectrum. Spectrum Spectrum as I can play, I can for my own
pleasure flip through the port # FD: LD A, # 11 .. OUT (# FD), A
... and nothing ... But I flick the switch, I press reset ... I
see a nice graphical menyu.Hm, I think, something like AMIGO.
But I do not want to fall out back into SPECCY 128so all now
included supervosmozhnostyami. I laden instead of idiotic
TR-DOS my own disk storage systems. Why?
Because now I do not have a standard TRDOSovskoy ROM, instead I
have a page DOSMEMORY, which, of course, can work not only
TRDOS, and any DOS. 512 kilobytes of memory allows me to
organize cache, so all files are read literally
blink of an eye. After listening through the amplifier
remarkable Vaksonovskuyu muse on
six channels (two AY-nikak.Eto as simply
cool that Vakson introduced a standard two AY
'Ka in the form of port # DFFD and # 9FFD, and I immediately
wrote FLASHTRACKER to 6 channels!) I started writing the next
GIFTa.O! Now I just have powerful features! Now
I do not suffer as before. Sometimes, conceived
something, and come on mozgovat, how would
to do so in the clearance # 5B00 # BFFF place and the code and
graphics, as hunting with two videooblastyami all do. You show
one screen, and the Know yourself, draw on the shadow! And most
importantly, what did not blink! But as if I had done
something? You can not I also used to be something to keep all
the graphics and the codes on the pages! A tepericha can! Know
just write in one of the four ports
code of the desired page and please - here it is
now here! Right now, Shove-ka I in the lower 16K page of code,
because the programm Something I ooh and healthy, megakod said.
And on the following items 16K vrublyu page with second screen
is .. Oh! I remember happened before there pozhizni fifth page
was so that she fail, and now - a miracle! I kerf
What I Want! Well, here before, for example,
there's always the second page stuck, and now I'm akkurat put
here below, but I need a graphics page! I'll bet schedule ...
Even though I fly on TURBO ... Oh, and now same time ekranchik
skrollnut ... So ... software programmer port DMA, because not
in vain in I I8237 here is, it is more than ten
times faster than the CPU memory-memory
forwards! Well, let Mother, scrolls
itself, but I somehow give the processor more intelligent puzzle
because he does my DMA and does not interfere! Large-headed
man, my comp has designed! Here in fact thought of something,
went and made the video memory with the processor at different
mikruhah! Now the processor and 8237 at each other and
do not interfere! And then I want to clear the screen -
please do the same 8237 I do and do it!
What? Oh, you're interested in, how is it so
The usual DMA ekranchik something skrolnut?
So I tell you - my comp is not a fool
designed and large-headed little man! He is a
and provided that it was possible to screen all over again to
make a line, line upon line, and not as in Sinclair, where the
addresses of three bits swapped places! Here I am such a small
screen, and then turned to me there is enough port-click and
voila! I like this mode, oh love it! screen size is the same
but as it is convenient to work with him! And the DMA can
podpryach! ransheto And what about this crooked
small screen? And did. No, still muzhichek,
that I designed my wheelbarrow positively impressed, because
think-ka, was the most Spectrum usual, all bored, and now
Super Spectrum! And I like this idea
podpryach available DMA channel, and even small output of one
channel eight-bit samples! After all, before a play in igrulku,
and she Know yourself muzprotsessorom whistles! A
Now if DMA is not busy, so its the sound of
vpryagayut! Now is a floor and some
rugnetsya and vizgnet and pisknet! And then there's
six channels AY muse! To hear them directly
... Lepota! And all of this, most importantly, managed through
a single-byte porticos something! As, say it all using
traditional Spekkito available? Duc I'll flick their cherished
portico something, and I'll do everything including .. I have
that, click over again, and everything back to normal comes in
both!
And mind you, I do not need no shitty
dandy with her crappy video processor and its
shitty muzprotsessorom on Channel 4!
Now I can make fun of them abruptly,
there are different igrushechki Laba, but for me you see, lads
around sovochku be pulled! After all, we are cool now - with
such access to memory, but with the DMA, so with the
TURBO-processor, we their igrushechki yes demonstrashechki one
kadrik pack that two fingers obostsat ... So what! :)
But who would have the Spectrum would be
did ...
Generally speaking, this is only the first
I think suschuyu fiction telling! Let's look at ATM TURBO.
Machine, directly say, a solid idiocy. To hell, they ask, to
make additional color screens enormous capacity? Indeed, at
this resolution frequency of the ULA to RAM is greatly
increased! Not only do the poor have to handle the Z80 screen
four times greater capacity, so in addition it also
"Choke" because of the increased frequency of visits
ULA.Ponyatno that the speed of the screen,
is the most important indicator of household
computer falls into a few times! When
This, mind you, not even one implemented
video mode, but three! (If not more).
In addition, the palette is arranged, the controller
PCKEYBOARD, DAC, ADC, etc. In principle, the same thing from
"PROFI-palette screen, hardware watches, etc.
> Well, keybordy-a matter of taste (not to rot as they
> On fucking pisyukah). In principle, I am for them
> I'm also a TsAP'y, ATsP'shki clock, but is equivalent to>
wound - it was too, what I'm with you > Totally agree. Another
thing, if > They are not 'killed' precious time ...
Do not you think that my, so to speak,
evaluation, compared with twists ATM-TURBO
and PROFI, modest?
But there is one huge difference: if
more sophisticated of these computers, to put it mildly,
malofunktsionalny, my speculation gadgets would acquire Spectrum
indeed power! Vain, that this
have a couple dozen chips so smart
head, but spare time!
From the Editor:
Yes, I wanted us to continue thinking on
this topic in the next issue, but
SPRINTER appeared with all its twists,
most of which correspond to
these thoughts, and in many ways superior to them!
In principle, almost the entire FLASH interested
the computer. So we will wait for it
presentation ... And good luck to all the developers to iron
Speccy, including firm Peters, Sergei Zonov and his entire
team, Nemo ...
Yes, one more thing ... Company
Peters ... If you do
Sprinter on his music
map, and not put something wrong or SOUNDRIVE GENERAL
SOUND, we advise you to do
their emulation (including
various COVOX'ov)!