ATM Turbo 2+ as standard
yu Alone Coder
This year we decided to hold a game competition that would break with
stereotype “Spectrum is 48K/128K” and cemented the position
Spectrum as one of the most powerful 8-bit machines.
Spectrum's problem has long been the lack of a standard for
extensions. Each manufacturer made its own incompatible
devices, and as a result libraries accumulated
hecobmectumoro software. What was needed was a standard that was required
wide possibilities, availability of software, prevalence and
repeatability.
Wide range of possibilities - memory, sound, graphics...
ATM Turbo in the early 90s it was more expensive than its competitors, not everyone
could buy it. Now it is no more expensive than other Spectrums and
produced in the largest editions, so from new
SpectrumIt's the easiest to buy! Such is the irony of fate,
due to the fact that the authors of the computer are the companyMicroArt-
easily handed over to the spektrumists all the documentation and rights to
productionTurbo 2+.
However, as a direct descendant of Pentagon 128 (and from the same
authors - the first version of his board was even called ATM 128 ),
ATM Turbo has become quite widespread already at the dawn of the demoscene. After all
already in one of the first Russian demos - Best 0 Super Demo (August
1993) the authors criticize the computerProfi,as if opposing it
ATM: they write about the color not per point, but about 8, lack of games under
expanded memory, two boards instead of one and incompatibility
due to open additional ports. AMagic Softin the intro
gameScorpions (1996) decideduse ATM
deployment as the only alternative to the Pentagon for
display of multicolors. The author did the same thing MegaScreen
Multicolor Editor v2.5, andATMit was installed by default.
ATM scan parameters were set from time to time
default and the authors of megademos with multicolors (Resonance Megademo,
Sensation Megademo, Gift for Alex Raider (1995) ).
So ATM Turbo hit the demoscene. But before participating in the demoparty
there was a long way to go.
As you know, the first Polish and Russian demos were written mainly
under 48K+AY. This was a common configuration that
maximum audience guaranteed. The first democompo in Russia
was supposed to be a magazine competitionSinclair Town, announced in
April1995, and the editors, as she herself writes in the first
number, I was guided by this very 48K+AY. Due to
With the closure of the magazine, the competition did not take place. Took up the initiative
magazineSpeccy,which announced its competition in September 1995 and
I collected quite a lot of demos, all under the same 48K+AY.
Then the story turned out in such a way that onEnlight `96compo-machine
was chosen (not without the participation of the group Prestige )Pentagon 128 and that
it was also the computer of the organizerFuntopWlodek Black.
Thus, the first extensions that hit the
Russian Spectrum demo parties, steel AY, 128K, Beta Disk
(Beta 128), as well as transparent memory access (by wait) and
Pentagon scan. Competition Artcomp `98, declared for
Profi, turned out to be underestimated by the scene, andChaos Constructions `98,
announced for Scorpiohas been cancelled.
Covox quite quickly found its place at the demo party (Paradox `99,
CAFe `999) - this was something that was easy to solder to any clone, and
onATM Turboit was generally present by default. Mastered and
General Sound (CC `999) - it was easy to plug it into Scorpion or
KAY. Turbowas used from time to time (it is supported in a number of
3D dem since 1997, andLifeformson CC `2001was the first
shown in turbo mode). Afurther? The memory has already been addressed to
different clones so differently that in ZX-Format #5they decided
publish a generic driver. Demomaking and driver...
It is clear that the idea did not take root.
In 2003, the last Spectrum manufacturer closed its doors
- and something had to be decided urgently. New hardware was needed.
Moreover, one where it would be possible to use the accumulated software and
at the same time move on. Including accumulated software for Covox,
Turbo mode, expanded memory, color on point... And here
The authors of ATM Turbo have turned up by the way!
10 years have passed. Now additional capabilitiesATMuse
demos at demo parties, intros and, of course, new games (authors
Shiru, Transman, Hippiman, Alone Coderetc.). Modes ATM Turbo
supported in many emulators and computers ZX Evo and
Pentagon 2.666, and they even have a new development -
so-called "ATM 3", having a Pentagon scan and
addressing up to 4 megabytes of RAM.
At least 314 programs have already been written for advanced
capabilitiesATM,not counting software for standardCP/M, takes
CP/M-software forMSX-DOSand software utilities:
http://alonecoder.nedopc.com/zx/atmsoft.txt
* * *
Now imagine that you wanted to write a game to match the color on
point.
Graphics output is far from the most difficult part of the game. Yes, at48K
this was the most difficult part, and not always. But onATM no
such problems neither with memory, nor with speed, nor with the beam.
We have two screen areas. While one is visible, we fill
another. Then another one is visible - and we fill in the first one. Visible
switched by the 3rd bit of the port #7FFD,as well as on 128K.
One screen area lies on pages 1 and 5, the other on pages 3 and 7
pages. You can connect a page to any quarter of memory
Z80. For this there are ports #ЗFF7, #7FF7, #BFF7 and #FFF7. You need to go there
write page number XOR #7F. Contents of the low-order bits of the port
#7FFD is ignored.
Here's how to enableEGA (320x200) mode and access these ports:
LD A,%10101000 ;EGA mode, turbo
CALL OUTSHADON
...
OUTSHADON
LD BC,#FD77 ;incl. shadow ports
LD HL,10835
PUSH HL
JP #3D2F
Each screen area in EGA mode is divided into 4 parts of 8000
(40*200) bytes. In one part there are pixels X mod 7 = 0.1, in
another 2.3, in the third 4.5, in the fourth 6.7. Thus,
a full column is always entirely accessible through the elementary
ADD HL,DE (DE=40).
Each byte contains 2 pixels: %RLRRRLLL (imagine this
byte of attributes - cxemho that’s how it is).
Each of the 16 colors can be specified. To do this you need to set it to
border the desired color number (colors 8..15 are specified via
port #F6 ) and then write the value for this color to port #FF
in the format %grbG11RB,whereGg, Rr, B- the color components in
inverted form.
Ready procedure for filling the palette, which was used in
CatDemo, The Board, The Board II and NedoDemo 2 :
SETPAL ;HL=pointer to the last byte of the paletteLD DE,#A80F ;D=EGA mode, turbo
LD BC,#BD77 ;open ports and palette
OUT (C),D ;enable access to the palette
ATMPAL0 LD A,E
BIT 3,E
RES 3,A
OUT(#FE),A
JR Z,$+4
OUT (#F6),A
LD A,(HL)
DEC HL
OUT(#FF),A
DEC E
JP P,ATMPAL0
LD BC,#FD77 ;open ports without palette
OUT (C),D ;disable access to the palette
RET
That's all the tricks! "Your Game 5" is waiting!
Share your thoughts about the article