Meet ATM-turbo 3!
ATM-turbo 3 (v8.0) -
what is it and what do you eat it with?
Maxagor/NedoPC group
Currently in the process of being born
new Spectrum model - ATM-turbo 3 (ver─
this board8.0). Or more precisely, experienced
The batch of the first “beta version” of boards is already in progress─
several test builds are running at once
spektrumistov. As of today(December 2017
year) during the assembly process some
errors and shortcomings corrected along the way
assemblies, and which will be taken into account in the final report─
nal audit of the board. But taking into account and correcting─
Correction of identified errors current version
the boards have already started working, so now
one might say - a new Spectrum-clo model─
did not take place.
All that remains is to figure out what it is
such a beast - ATM-turbo 3 (hereinafter everywhere for
brevityATM-3) and how it is related to others─
we are currently relevant on computers─
line frameATM: ATM-turbo 2+ (ATM-2+),
ZX-Evolution/BaseConf (ZX-Evo) and Pentagon
2.6bbLE - especially considering that the ZX-Evo itself
until now in the basic configurationwas secretly considered to be a certainATM-3.
* * *
First, let's briefly remember but─
the latest history of the development of the ATM line after
how the company stopped doing it
MicroART and its production were resumed─
leno since2005 by our group NedoPC, by─
which received all materials (firmware, files
board layout) and permission from MicroART.
ATM-2+ was produced based on the material─
fishing from MicroART by our group for about
during2005-2007. During production
small errors were identified and corrected─
barrels and flaws (like fixing a mistake─
Memory loss when changing graphics modes─
mov or improving port decryption#FD when
incomplete addressing), the firmware was being finalized─
flashing ROM of both the main and controller
keyboard, but overall it remained before us─
Still the same classic ATM-turbo 2+.
After a while the group switches─
was on a long-planned development
new Specky model on modern elements─
specific database and loadable configuration - like this
ZX-Evo eventually appeared in hardware. The basis
basic firmware for it after certain
discussions and consideration of other options
it was decided to put the same ATM-2+ on
a number of reasons.First of all, because it
additional bells and whistles, like extended
memory or graphics, there was no need to invent
start from scratch. ATM-2+ has taken root among the people, it
the bells and whistles were significantly different as before─
rye software back in the days of MicroART, so
and at a new level more were involved─
more modern programs.
That is, there was no need to invent something
completely from scratch, never seen by anyone, but according to─
We hope that these innovations will take root─
vutsya. It was necessary only, if necessary,
add some couples to what already exists─
meters, backwards compatibility improvements
with the base model ATM-2+. Overall idea
justified itself.
And that's what happened then.
Compared to ATM-2+ in ZX-Evo/BaseConf
RAM was increased toBMB, for which purpose
The memory card was upgraded by introducing
additional port#x7F7, as well as
a new port has been introduced#BF, among other things, pos─
willing to enable shadow ports, not in the hall─
For this purpose, enter ROMTR-DOS. Another pleasant thing─
new additions - it became possible to
fly to flash the ROM, change the font, done
another text screen with more convenient
location on the page, added to
Kempston joystick controller board and us─
shi,SD card controller, plus more me─
minor software and hardware improvements in
field of NMI software interception.
At the same time, some from ATM-2+ to the new
the car either did not enter, or was done incorrectly
to another.
So, for example, theIDE controller was real─
named not by ATM-2+ ports, but by standard
NEMO, as, in my opinion (dubious
point of view) of developers, more popular─
injured and therefore more supported─
software.
In a different way, including from the point of view
program control, implemented control─
PC keyboard roller, etc.
Discarded completely ("as unnecessary")
eight-channel ADC, external device port
#FA, through which the modem was previously connected
and the Uniprog programmer, and the printer is implemented─
van not according to the ZX-Lprint III standard (port
#FB ), and through the ports of the AY coprocessor.
It is also worth noting that
emulation of TR-DOS floppy disks is also done differently
- the developers abandoned the ATM-2+ ROM -
xBIOS/vTR-DOS bundles. ROM for ZX-Evo times─
was processed separately by radical re─
work and development Mr Gluk Reset Service
as the basics, and emulation of working with a controller─
rom drive implemented in hardware-prog─
framed way - i.e. simultaneously re─
working with ROM and adding special portsin
basic configuration, unlike vTR-DOS
on ATM-2+, where 1818VG93 emulation was created─
Lana is exclusively software.
But be that as it may, the ZX-Evo retained
mostly backward compatible and successful
“came out to the masses” at the end of the 2000s. A
production of ATM-2+ boards was a group
NedoPC has been minimized.
But this is not the story of the ATM-2+ model.
ended. Circuit board production has been revived
in Dnepropetrovsk spektrumist Alexander
Korovnikov aka Zorel. And it turned out that they
continue to be in demand - far
not everyone liked modern pro─
sewable FPGAs, the request for
"warm lamp" assembly with a soldering iron.
hand on heart, ATM-turbo 2+ is od─
one of the best Spectrum-compatible machines,
created in90s according to the "classical"
technologies.
At first, Zorel released boards later─
her revision from NedoPC (i.e. only using
due to shortcomings), but over time it became
think about further improvements to the board
in order to eliminate functional deficiencies─
currents (not errors) of the current version of ATM-2+. A
There have been several of them since the 90s, and pre─
The most important thing is the lack of slots for outside─
external extensions and the absence of Kempston-Joe─
ystick. Subsequently, when in Specky's life
the Kempston mouse is firmly rooted, its nah─
fleece (withinability to simply connect
its controller through the slot) also noting─
las. But the ATM-2+ board with it is already instilled─
body size335x190 mm was almost
completely filled with microcircuit housings - its own─
there is no room for serious improvements
find. Therefore, the place needed to be reclaimed─
butt. This is how the idea was born to replace it with pla─
those obsolete16 RAM chips 5b5RU7 (512
KB in total - and for1024 KB account for─
solder more16 microcircuits on the second floor) on
two (because ATM uses polling
on two memory lines at once) modern
RAM chips from the SIMM module.
At first the idea was tested in a department─
a handkerchief that was soldered to the exits
panels from under the removed handles. And when ex─
the experiment was a success, she was re-divorced and...
la "to the people" new board ATM-turbo 2+
v7.18. After that they also started from─
experiments with slots on the board, that─
also ending in success - a scarf with two
slots and Z80 on board, inserted into
the socket from under the processor on the board is also
worked successfully.
After this, attempts began to come up with
how to use free board space outside─
drill 1-2 slots there, and if possible up to─
add more improvements - toin particular these two
SIMM RAM actually has a capacity of4 MB.
The question arose - is it possible to somehow use─
take their entire volume? One way or another, it turned out
that the entire board will have to be redeployed to
based on MicroART layout files again,
changing the form factor - i.e. differently, taking into account
new tasks by placing elements and, perhaps,
slightly changing the board area to the side
increase.
Thus a completely new idea was born
ATMki, which, firstly, is completely based
on ATM-2+ and is the same "warm and
tube", and secondly, it will be, like the ZX-Evo,
compatible with ATM-3 standard, feature
which is the presence of only two things
- modernized through the introduction of additional equipment─
related to existing shadow ports
#x7F7 to support4 MB RAM manager pa─
memory, backwards compatible with manager
ATM-2+, and additional configuration port
#BF, available both for reading and
record.
And unlike the ZX-Evo, in a “warm light─
howl" ATMke is fundamentally not thrown away either─
which nodes were originally in the model2+.
And above all, this applies to the LPT port when─
nter, port of external devices for under─
connecting the programmer and eight-channel
ADC, although in processdiscussion of the concept and
there were suggestions: “let’s throw it out
and this - now no one really needs this -
people just play games and watch demos." But in
In the end, it was decided to leave everything as it is -
as unique features of ATM in the role of us─
costly computer compared to others
Spectrum90s.
Both xBIOS and
using it professionally─
nal OS type CP/M and iS-DOS, where TR-DOS
is only necessary for compatibility─
ty element, and not an overdeveloped ROM, reducing─
devoting all the work on Specky to mounting
TRD images as virtual cartridges.
In total, ATMZ is a full-fledged ATM-2+ and
"new goodies" on top.
What happened in the end compared to ATM-
turbo 2+:
It was: classic form factor -335x190
mm. Now: full-fledgedATX, size305x
244 mm. Re-designed for modern everything
connectors. Added two ZX-BUS slots. For
to save space, the connectors of two sinclairs have been removed
joysticks, but signals for them can be
take from the "comb" of mechanical signals
keyboards. Removed voltage converter─
niya.-12 volts is taken fromAT/ATX pi blocktania - connectors for connecting both tiers─
pov power supplies are also now present─
howl on the board.
Was: RAM 1 MB and standard manager
memory. Now: RAMBMB according to the ZX-Evo standard
(expansion ports#x7F7,#BF ) with small
circuitry features, I allow─
ways to circumvent emerging incompatibilities
when working on a ZX-Evo with a memory manager
ATM via incomplete addressing(#xxF7). From-
for this you cannot run the ZX-Evolution
xBIOS ROM. On the new ATM the previous one is compatible─
The bridge has been preserved. In the future it is planned to─
xBIOS and vTR-DOS work until all are supported
4 MB (for now everything above1 MB, ROM is just
will not see, although it will work), but still hands
didn't arrive.
I will dwell on this in more detail.
When creating ATMZ circuitry for one hundred
swarm elemental basis the main obstacle
on the way to expand RAM according to the ZX-Evo standard
became that the extended access port
RAM #x7F7 is made based on the addition of od─
address line to the standard port
memory manager#xFF7.
Allprocedures like LD C,#F7:OUTI or
LD A,xx:OUT (#F7),A immediately send us
far and for a long time. And this is, first of all, the camp─
Dart firmware from MikroART, "basic"
for ATM the firmware is currently xBIOS and
its part is the vTR-DOS system. Thus,
"with one stroke of the pen" we lose everything
ROMs. And if, through research in the monitor -
the debugger managed to correct the code in this way─
standard ROM and xBIOS ROM startup procedure,
to get them to work properly (there
calling the memory manager using an incomplete address─
sation was only at the very beginning of work in
as a preset, the dispatcher─
yesterday), then with vTR-DOS it turned out to be possible
impossible - in too many places and
it is used in a variety of ways
incomplete addressing, including for the sake of
speeding up the system. But working with
emulator VG93 when working with TR-DOS - this
the most important advantage of ATM over all
Spectrums of the generation preceding the ZX-
Evolution, and if you can’t find a way out, then that’s it
the benefits will be completely eliminated.
The solution was found by introducing some─
many other ZX-Evolution ports with small
our features that do not affect the current
compatibility with existing software. The idea would be─
it was suggested byRoman CHRV, and then I
I just took it to its logical conclusion.
That's the essence of it.
In ATM, shadow ports can be enabled─
only one way: go to TR-DOS ROM
at #ЗDxx (and if necessary, then stay─
turn them on through the output of the desired
values to the system port#xx77 ) - so we
getting to the memory manager#xFF7. Then
for compatibility, the same was done in
ZX-Evolution, only we get access and
to all new ports, including the port
extended memory manager #x7F7, with
with which we get to4 MB of RAM.
But this method exists in ZX-Evolution─
no and is used for compatibility purposes only
with its predecessor - ATM-2+ - and its
software. Besides him, in ZX-Evolution there is─
There is also an open (non-shadow) port#xxBF
- which, among other functions, includes
all shadow ports. Feature#xxBF jav─
It turns out that enabling shadow ports (in
including VG93 ports) here has the highest
priority - i.e. no other ways
except to turn to this time again─
Well, these ports will not be turned off.And the inclusion of those─
new ports via port#xxBF does not include
TR-DOS ROM. This port is very convenient for ra─
bots with shadow ports, so all but─
New software focused on2-4 MB of RAM, yes
and just1 MB of RAM, but based on
launch exclusively on ZX-Evolution, used─
uses the port #xxBF, forgetting about others
ways "like a bad dream." And only
if a universal program is written for
Evo/ATM, access to shadow ports is in progress
via TR-DOS. But in programs such as
As a rule, work only takes place within1 MB
and only through port#xFF7, since #x7F7
although it is available, there is no point in using it─
sla due to its absence in the ATM.
Hence the idea: to also implement
in the new re-wired ATM port#BF, but with
one distinctive feature of working with
memory manager.
If we reach shadow ports
in the "classic" way via TR-DOS, we
we see all shadow ports EXCEPT port#x7F7,
thus maintaining the possibility of workingthief with port#xFF7 through incomplete addresses─
tion. But if we enable shadow ports
through port #xxBF, then we see ALL ports,
including the extended port #x7F7, receiving
access to all4 MB of RAM. Access will remain
and to the standard port of the memory manager
#xFF7, but, of course, only through complete hell─
reslation. Thus, all old ROMs
will work without problems.
The only negative is that xBIOS/
vTR-DOS will work fully, though─
it will only use “old”1 MB of RAM.
To convert it to work with4 MB,
it is necessary to replace all calls with a short one
full addressing, which is practically impossible─
it’s possible, because it’s almost the same as rewriting the subject
again.
But even here a way out was found.
ATM-turbo 2+ has long had two nezad─
Available ports -IN/OUT #FFE7 and #FEE7.
Their signals themselves are present on the decoder─
ut (microcircuit D31 on the diagram), but lead "to
nowhere". These ports remain ininheritance
from old ATM-turbo 2 (v6.xx) with other con─
XT keyboard trollers for which these
ports were needed. Now I've decided to go ahead─
Use these ports (for writing) for alter─
native access to the memory manager by
short addressing.
The only thing I had to do was
for this, both ports at once, because the difference
#FFE7 from #FEE7 in the address line A8 - when
incomplete addressing is essential. And so
this factor is leveled out. In the end we are semi─
tea parallel port memory manager
#xxE7 (quarters of the address space here
are also selected by A14 and A15 ). But his
peculiarity is that it can ra─
work functionally or as a “classic─
cue port#xFF7 (1 MB RAM), or as an additional─
nit#x7F7 (up to 4 MB of RAM), but retained─
no incomplete addressing - after all, there are no
does not require additional address lines─
Xia.
Operating mode ("classic" or "race"
wide") will be determined by the port#xxBF
- only with a different bit, not the one that turns on
shadow ports. One meaning - "classic"
the other is "advanced dispatcher". Therefore
atreworking xBIOS/vTR-DOS will remain that─
You can only replace all calls to#xxF7 with
#xxE7, yes enable extended manager
by port #BF for port #xxE7 at the first
entering the vTR-DOS ROM.
Port#xxBF in this case will look like─
do it like this:
-D0- in ZX-EVO - priority switching
shadow ports. In ATM-3 and Pentagon 2.6bbLE
- too.
-D1- in ZX-EVO - 1=recording resolution in
ROM. In ATM-3 - 0=#xxE7 works like #xFF7.
1=like #x7F7.
-D2- in ZX-EVO - 1=download resolution
font. IN ATM - NOT USED (although there is
plans).
-D3- in ZX-EVO - NMI generation for pro─
tsessora. IN ATM - NOT USED.
-D4- in ZX-EVO - 1=device activation─
dark trap. IN ATM - NOT USED.
-D5- in ZX-EVO - NOTUSED (for now)
what).In ATM-3 - 1=enable EXTENDED PA─
liters up to 4096 colors (with 16 displaying─
at the same time) - more on that a little later.
-D6andD7- ARE NOT USED.
When reading from port#BF, ra─
more recorded values (if the bit is not used─
is used, it is read0 ).
Was: palette16 colors out of 64. Now:
optional palette16 colors out of 64 by de─
fault after reset (for compatibility) and
ability to enable an expanded palette
16 of4096. Taken from slightly modified─
new experimental scheme from DDp.
Namely.
Standard ATM palette(64 colors at
16 displayed simultaneously), according to which
for each colorRGB there are two bits,
controlled by the shadow port#FF. In case
palettes of4096 colors, onevery RGB element─
ment is already4 bits. At the same time
the idea was to use the same port#FF,
where the most significant two bits, as before, are output
via the data bus, but here are additional
bits - through the most significant bitsA8-A15 of the bus
addresses. That is, port#FF turns into #xxFF.
However, initially this scheme turned out to have
one drawback: with incomplete addressing
All sorts of incidents are possible. And if the design
LD A,xx: OUT (#FF) such a scheme is still a change─
rit, then alreadyLD C,#FF:OUTI will cause an attack
incompatibility. (Ed.: in Pentagon 2.6bbLE
the extended palette is always on, poe─
there are several incompatible programs with─
had to be redone. I hope there are no more like this
left.)
As a result, the entered port bitD5=0#xxBF
blocks the extended palette as if it were
and it wasn’t, butD5=1 includes. When resetting and
immediately after turning on all bits of the port#BF
will be equal0, which means:
-shadow priority switching off─
output ports;
-all ROM entries are disabled in the ZX-Evo and
fonts, all NMI and AP generators are disabled
paraty traps;
-port matching is enabled in ATM-3
#xxE7 port #xFF7 and extended is disabled
palette - i.e. compatibility is maintained
"bottom up" with the previous software.
Well, one more thing, regarding the memory manager
- was: ROM from 64 KB to 128 KB. Became:
ROM from64 KB to 1024 KB. Actually it's
not exactly a sign of ATM-3: even in existence─
The ATM-2+ already has the ability to work with
ROM volume1 MB - just for such a pain─
the microcircuits are not connected to the socket,
where it is inserted, three additional
address signal, but in all control ports─
ability to work with64 pages
There is ROM. So if you get into a regular ATM─
write ROM 27080, and three missing signals
pass from the page port with three wires─
daughters on the corresponding legs of the microcircuit─
we, then everything will work. And innew ATM-3
you just need to install three re─
sliver Moreover, this amount of ROM is already12
years as supported in xBIOS - i.e. if you
put the "large ROM" in the lower640 KB
flash the image TRD (the “classic” itself
xBIOS firmware will need to be located
in the upper 128 KB of this ROM), then you can
immediately after the start, simply by selecting from the menu in
options for switching between RAM and ROM disk
namely ROM disk, work with the firmware image─
zom. So you can do it at your own discretion─
tion to form a floppy disk with the very first─
cool software and flash it into ROM and ra─
work with it via vTR-DOS. It's already now
you can try it on the Unreal emulator,
simply by forming a corresponding large
ROM image.
Other changes and additions:
Was: Kempston-joystick and Kempston-mouse
were absent. Now: both devices are separated─
We're on board. Moreover, the mouse is accessible both by
Kempston ports, and through programming
based keyboard controller
i8051.
Was: non-volatile clock absent─
get out. It became: to the watch that is in the co─
keyboard controller (but not mounted on the bat─
rail and reset after turning off the pi─
tania), a battery-powered watch will be added, control─controlled through advanced control functions─
keyboard lera. Alas, find a place for ports
It was not possible to watch according to the Gluck standard.
It was:COM port on 17OAP2 and 17OUP2. Sta─
lo:COM port on GD75232. There is already a COM port
in regular ATM-2+, work with it is possible
through programming the keyboard controller─
tours (supported in the current used
firmware from Kamil Karimov and classic
from MicroART). Only the microcircuit has changed─
we, through whom signals are formed.
In general, as can be seen above, the basis of the
The PC keyboard controller remains the same,
but it has a number of new functions attached to it. From
The only downside here is that it's all new
not yet supported in the controller firmware.
But this is already a software task, and it will be
decide.
It was: a regular FDD controller without changes─
neniya. Became: turbocharged VG93, which
now supports HD floppies1.44 MB and
1.2 MB (normal/high density mode
switchable by software). It's implemented
according to the scheme published back in1998.
Turbo controller works “transparently”─
melts with TR-DOS. Working with “large” disks─
tami software supportedin iS-DOS/TASiS
- the diagram and software are on the ATM website. Also
minor improvements have been made to the controller
increasing noise immunity ATM-turbo2(+)
when working with FDD.
It was: no audio input as such─
shaft, and mix the sound, for example, GS+ATM without
a soldering iron was unrealistic. Now: added─
but2 audio inputs.
What fundamentally remains the same:
Turbo: in contrast to14 MHz at
ZX-Evolution, this is still the same classic
ATM with7 MHz on board. Under a large clock
frequency would have to be invented from scratch,
like in the ZX-Evo.
IDE controller: remains the same for now─
tach ATM. If anyone really needs it
NEMO controller, he will be able to connect it
through the slot.
* * *
Here it is, the new ATM-turbo 3. Now,
taking into account the identified wiring errors, there will be
The final revision has been prepared. If
If you manage to find a place, then maybe it will work out
insert two more nodes there:
SD card controller, compatible with
ports with ZX-Evo (Z-Controller, also available
in Pentagon 2.6bbLE).Initially planned─
came, but there was no place.
Support for different fonts: implementation
loading fonts from outside, like in the ZX-Evo, on
the remaining meager space - the thing before─
quite complicated, but to support ROM forstitched font with a volume larger than the current one─
2 KB of them is quite possible. Moreover,
there is almost everything for this. In the port#BF already
there is bitD2, which allows recording in the ZX-Evo
fonts. In ATMZ it can allow prog─
frame switching2 KB parts with firmware─
kami fonts in a large ROM, and address
these parts of the ROM can be addressedA8-
A15 of the same port #BF. If for this
use ROM 27010 (128KB), then this
will allow you to have on board64 fonts. In general
this addressing allows you to address the ROM
up to 27040(512 KB) with 256 fonts.
But these are still plans before the release of windows─
final version.
The main thing now is something else - a new model
Spectrum clone ATM-turbo 3 is already working.
Zorel with my spectrum and a number of others─
mists modest advisory participation
A lot of work has been done successfully. Please
love and favor.
Timonin Maxim aka Maksagor/NedoPC group,
December 2017года
Share your thoughts about the article