Sprinter.
ZXNet echo conference «real.speccy»
From Denis Batrak → To All 9 August 2000
Here is the weight they say: SABZH, yes SABZH. They say it’s more expensive than 486, but they say you can’t find a better one,
Share the technical data, please.
You can use netmail.
/All the best, Denis AKA Den. [ZX_Spectrum.] [deni...@mail.ru]
From Andrew Klimov → To All 11 August 2000
Denis Batrak wrote All:
DB> Here is the weight they say: SABZH, yes SABZH. They say it’s more expensive than 486, but they say you can’t find a better
DB>, Share the technical data, please. You can use netmail.
And for me... ^^^^^^^^^^^^^^^^
Andrew Klimov
From Ivan Mak → To All 11 August 2000
=== Cut ===
Sprinter computer architecture.
Introduction.
This description assumes the reader has certain knowledge,
namely knowledge of the ZX-Spectrum computer architecture and its varieties, in
in particular the Pentagon-128 and Scorpion-256, as well as knowledge of the BASIC language and
some familiarity with the Z80 assembly language.
Here I will call a machine configuration a specific implementation
of a specific circuit in a reprogrammable logic chip (FPLM).
This means that the machine has many configurations, each of which
has its own circuit.
I also use the concept of CACHE-RAM. This is not a cache in the formal
sense, but fast RAM in which the processor can operate at high
frequency without waiting. This RAM is called CACHE only by tradition,
similar to the CACHE on the KR537RU10 in Pentagon-128 computers.
Brief data on the Sprinter computer.
Processor. . . . . . . . . . . Z84C15
Clock frequency . . . . 21MHz/3.5MHz
RAM. . . . . . . . . . . . . . 4096Kb
RAM CACHE. . . . . . . . . . . . . 64Kb
ROM . . . . . . . . . . . . . . .128Kb
Video RAM . . . . . . . . . 256Kb(512)
Disk controller. . . . . Kp1818VG93
Supports 1.44Mb format. . 3.5" drive
Hard drive controller . . . . IDE/AT
Keyboard controller. . . 101key/AT
Mouse controller. . . . . . . MS-Mouse
Two slots. . . . . . . ISA-8 standard
Iron emulation AY-3-8910 stereo-OUT
COVOX . . . . . . . . . 8bit x 4chanel
Video modes: . . . Spectrum standard
GRAF 320x256x256,640x256x16, TXT 80x32
Video output to TV or CGA monitor, RGB
Technical implementation.
The core of the machine is the Z84C15 processor and EPF10K10QC208 PPLM.
In addition to them, the board contains ROM chip, 72-pin SIMM
on 4Mb, 256Kb video RAM, 64Kb Cache RAM, drive controller circuit based on
BIS KR1818VG93, buffers for connecting a joystick, tape recorder, printer,
keyboard, floppy drives, hard drive, mouse, bus buffer chips ISA-8
and another PPLM from ALTERA - EPM7032LC44. This PPLM does not change its
configuration and is designed to ensure synchronization and initial
start of the computer. The board also provides the ability to connect a
CMOS clock based on the DALLAS chip. In addition to peripherals and buffers, there are
decryption chips, the inputs of which are connected to the processor via PPLM.
This allows you to easily change the addressing of devices without any change
PCB layout.
Machine architecture capabilities.
The computer circuit is based on a large reprogrammablelogical
chip. Connecting peripheral devices through the PPLM allows you to obtain
high flexibility of the machine in terms of configurations.
Programming the PPLM is carried out directly at the moment
of switching on, as well as during reboot, which allows you to radically change
the circuit in the PPLM directly during operation. This greatly distinguishes the computer architecture from a number of existing computers and therefore many
concepts inherent in ordinary machines change their meaning. In fact, the computer
has a changeable architecture in which changes in many parts
of the circuit are possible. So, for example, it is impossible to talk about specific addresses of ports
connecting peripherals, since they can be changed in one second
by reprogramming the PPLM and data in RAM responsible for the configuration of
ports. Specific addresses appear only in specific configurations,
for example, such as the ZX-Spectrum configuration.
The reprogrammability of the circuit gives quite a lot of freedom
to the programmer's imagination regarding the configuration of the machine. When conceiving a specific
job, the programmer can determine in what configuration it can
be done better, and, perhaps, come up with his own configuration, which
then can be implemented in the PPLM and turned on before starting this program.
Block diagram of the Sprinter computer.
┌───────┐ ┌──────────────────────────────┐┌────────────>Sinc
│Printer│ │ 2 ISA SLOTS │ │ ┌───────>R
├───────┤ └───┬─┬─┬─┬─┬───────┬─┬─┬─┬─┬──┘ │ │ ┌─────>G
│ Mouse │ ┌───┴─┴─┴─┴─┴───────┴─┴─┴─┴─┴──┐ │ │ │ ┌───>B
└─┬─┬─┬─┘ │ Buffers and decoders │ │ ┌─┴─┴─┴─┐
│ │ │ DAC │
│ │ │ │INT │ │ │ │ │ │ │ │ buffer │
┌──┴─┴─┴┬─┐ │ │ │ │ │ ┌┴─┴──────┴─┐└──┬─┬──┘ ┌────────┐
│ Internal │ ├────│──────────┘ └──│ │───┤ EPF10K10 ├───┘ └──────┤ video │
│ ports │ ├────│──────────DATA─│ │───┤ ├──V_DATA────┤ │
├───────┘ ├────│───┐ ┌─────────│ │───┤ ├────────────┤ RAM │
│ ├<───┘ │ │ │ │ │ │ │ │
│ ├────────────────────┘ └───┤ ├────────────┤ │
│ Z84C15 ├───────────────ADRESS─────┤ ├─V_ADRESS───┤ │
│ ├────┐ ┌───────────────────┤ ├────────────┤ │
│ │ │ │ │ │ │ │ │ │
│ ├<───│ │─│ │──────────────>┤ ├──WE,CSi───>┤ │
│ ├<───│ │─│ │────DIR───────>┤ │ └────────┘
│ ├<───│ │─│ │──────────────>┤ ├───────> Audio OUTs
│ │ │ │ │ ││ │ ┌────────┐
│ │ ┌─┴─┴─┴─┴───────┐ │ ├────────────┤ MAIN │
│ │ │ ПЗУ и КЭШ-ОЗУ ├<─ADR'─┤ ├──DATA──────┤ RAM │
└─┬─┬─┬──┬┘ │ CS ├<─CS───┤ ├────────────┤ │
│ │ │ │ └───────────────┘ │ │ │ SIMM │
│ D │ │ ┌──────────────┐ │ ├────────────┤ │
│ A │ │ │ EPM7032 ├───────>┤ ├──ADRESS────┤ │
│ T │ └──>┤ Sinchro │ │ ├────────────┤ │
│ A │ │ HDD_DIR ├<───────┤ │ │ │
│ │ │ │ ФАПЧ ├<───────┤ ├─RAS,CAS,WE─┤ │
│ │ │ └─┬─┬─┬─┬─┬────┘ │ │ └────────┘
│ │ │ │ │ │ │ │ │ │
┌─┴─┴─┴────────┴─┴─┴─┴─┴───────┐ │ │
│ Периферийные устройства ├<────┤ │
│ FDD,HDD,KEMPSTON ├
└──────────────────────────────┘ │ │
┌────────────────────>┤ │
┌────────┐ │ ┌────────┐ │ │
│ TAPE ├<──┘ │Keyboard├─────────>┤ │
│ in/out │ ├┬┬┬┬┬┬┬┬┤ ││
└────────┘ └┴┴┴┴┴┴┴┴┘ └───────────┘
Drawing 1.
For simplicity, some buffers and decoders are not indicated in the diagram.
The number of wires in the buses is also arbitrary. Some of the control signals of devices with PPLM are multiplied with SIMM addresses.
The further description of the architecture is a description of specific
configurations and parts of configurations. But before that, we should say a few
words about switching the configurations themselves.
Loading configurations.
At the moment the computer is turned on, as well as after pressing RESET, all
information located in the PPLM responsible for a specific configuration is
erased. The PPLM goes into the waiting mode for loading the circuit data block.
At this moment, the processor is completely disconnected from any peripherals.
Its memory address space includes one page of ROM and
one page of cache memory RAM. Any write to the processor's memory address space at this moment leads to writing data to the PPLM and the program in the connected ROM page has only one single goal - to load configuration data into the PPLM. The same ROM page contains the initial configuration data. (Currently this is the Sprinter-1 configuration.)
The configuration load program checks the flag in the cache memory and, if it
is set,loads data from the cache into the PPLM; if reset, then data from
ROM. This is the basis for reconfiguring the computer circuit.
To change the circuit, you need to load the configuration data block from offset #100 into the last page of the cache memory and set the flag, which is the text string "FLEX_10K_LOADING", written at offset #80 in the same
cache page. At offset #90 you need to write down the two-byte
firmware identification number. After this, you need to perform a full reset,
which is carried out programmatically by writing to a special memory page
RESET_PAGE. The program in ROM, launched upon reset, finds the flag
FLEX_10K_LOADING and begins loading data into the PPLM. At the same time, it
simultaneously overwrites the flag, which prevents re-loading of a new
configuration when pressing the RESET button and allows you to return to the initial configuration after a
manual reset. Overwriting the flag also saves
from suffering in case of connecting the wrong configuration during
experiments with programs. Pressing RESET will always return the circuit to
the initial configuration.
Note:
The internal information of the PPLM data block is proprietary
information of ALTERA. In addition to the PPLM microcircuits themselves, ALTERA also supplies software for wiring circuits inside the PPLM. Unfortunately, this
program cannot work oncomputer like ZX-Spectrum and in the near
foreseeable future its version for Sprinter is not expected. Therefore
the development of new configurations can only be done if you have a
sufficiently powerful machine (everything was done on a Pentium-166) and a program for routing
circuits in PPLM, the price of which is hundreds of US dollars.
In this regard, at the moment Sprinter has several specific
configurations, two of which are recorded in ROM, and the rest can be
loaded from a floppy disk or hard drive. We are constantly improving
specific configurations and developing new ones.
Sprinter-1 configuration.
Includes Spectrum-128/256 configuration, memory allocation
up to 4Mb, extended screen with Spectrum, Text-80x32, Graf-320x256x256 modes,
disk drive controller, IDE controller hard drive, AT keyboard controller,
connected as a ZX-Keyboard, 8-bit COVOX.
This configuration is as close as possible to the ZX-Spectrum
configuration and allows you to work on regular Spectrum programs and gradually
change them to advanced screen and memory modes, as well as to work with
new devices.
Sprinter-2 configuration.
Includes yourself configuration Spectrum-128/256, memory allocation
up to 4Mb, extended screen with Spectrum, Text-80x32, Graf-320x256x256 modes,
disk drive controller, IDE controllerhard drive, AT
keyboard controller (built on the internal serial port of the processor), Accelerator,
COVOX.
The configuration, like Sprinter-1, is close to the Spectrum one, but
has more stringent requirements for compatibility programs. Allows
to use an accelerator of operations with main and video RAM. The accelerator
accelerates the operations of transferring data blocks and filling RAM with one byte
to the physical speed limit of the main RAM. In the latest version, it also
allows you to speed up the logical processing of data blocks using the AND,
OR and XOR functions.
ZX-Spectrum-256/AY configuration.
This configuration is as close as possible to the ZX-Spectrum-128/256
and includes the AY-3-8910 music coprocessor circuit. This
configuration does not have advanced screen modes.
The second version of the AY circuit includes three voice generators, a
noise generator and amplitude controls. There is no envelope generator.
There is also no ability to read data from the coprocessor ports.
The third version of AY is expected to eliminate these shortcomings.
Game-1 configuration.
Similar to the Sprinter-2 configuration. The accelerator does not have logical
functions, but for sound output it has a COVOX-Blaster - COVOX with buffer RAM
allowing you to output sound block by block and free up processor time for
otherwork. The configuration is aimed at use in games for
Sprinter.
DooM configuration.
It is a further development of the Game-1 configuration. The accelerator
has an additional function for hardware stretching/compression of vertical
and horizontal lines.
Memory distribution scheme.
Memory distribution schemes in the Sprinter-1 and Sprinter-2
configurations are the same and quite transparent. In fact, it represents a memory distribution scheme for a Scorpion computer, with an additional scheme superimposed on it, which allows you to arbitrarily install all memory pages, both ROM and RAM.
Each page of ROM or RAM has its own port, which indicates the actual page number of the 256 pages of all 4Mb. Pages
projected to different windows in the processor's address space have their
own ports. Those. The page included in addresses #4000..#7FFF, and
page number 5 of the usual Spectrum memory allocation, included
in addresses #C000..#FFFF, have separate ports.
There are 32 such memory page ports.
16 ports are responsible for the RAM page numbers connected to addresses
#C000..#FFFF. Three more ports are responsible for connecting RAM pages to addresses
#0000..#3FFF, #4000..#7FFF and #8000..#BFFF. Eight ports are used to
connect variousROM pages. One port is for connecting a page
CASH instead of ROM. And one port is the port of the system ROM, which is connected in
the place of the ROM immediately after resetting the machine using the Ctrl+Alt+Del keys.
The remaining 3 ports of memory pages remain in reserve at the moment.
The memory distribution scheme allows you to connect not only RAM or ROM, but also ports and memory of ISA cards inserted
into the slot into the address space
of the processor.
When connecting to addresses #C000..#FFFF of Scorpio extended
RAM pages, slots can be redirected to their place. To do this, you just
write to the port of one of these pages the value corresponding to the ISA slot
to which you need to access. This value also indicates
what is being accessed, ports or memory.
Sprinter memory distribution scheme.
Address space Page ports of the computer ROM
processor connected pages 16k pages each
┌──────────────┐ ┌───────┐ ┌──────────────┐ ┌──────────────┐
│ #0000..#3FFF ├─>┤ ports ├──>┤ ROM_BASIC ├──>┬──┬──┬─>┤ EXPANSION │
│ │ │ #7FFD,│ ├──────────────┥ │ │ #1FFD ├─┐ │ ROM_TR-DOS ├──>┤ │ ├─>┤ TR-DOS │
├──────────────┤ └───────┘ │ ├──────────────┤│ │ │ ├──────────────┤
│ #4000..#7FFF ├──────────┐ │ │ │ │ │ ├─>┤ BASIC128 │
│ │ │ │ ├─ ─ ─ ─ ─ ─ ─ ┤ │ │ │ ├──────────────┤
│ │ │ │ │ ROM_SYSTEM ├──>┘ │ ├─>┤ BASIC48 │
├──────────────┤ │ │ ├──────────────┤ │ │ ├──────────────┤
│ #8000..#BFFF ├────┐ │ └>┤ RAM_0000 ├───>┐ │ ├─>┤ SYSTEM ROM │
│ │ │ │ └──────────────┘ │ │ │ ├──────────────┤
│ │ │ │ ┌──────────────┐ │ │ ├─>┤ SYSTEM ROM2 │
├──────────────┤ │ └──>┤ RAM_4000 ├───>┤ │ │ ├──────────────┤
│ #C000..#FFFF ├┐ │ └──────────────┘ │ │ ├─>┤ CONFIG 2 │
│ ││ │ │ │ │ ├──────────────┤
│ ││ │ ┌──────────────┐ │ │ └─>┤ CONFIG 1 │
└──────────────┘│ └────────>┤ RAM_8000 ├───>┤ │ └──────────────┘
│ └──────────────┘ │ │
│ │ │ ОЗУ компьютера
│ ┌───────┐ ┌──────────────┐ │ │ страницы по 16k
│ │ Порты ├──>┤ RAM_0 ├───>┤ │ ┌──────────────┐
│ │ #7FFD,│ ├──────────────┤ ├───>┬─>┤ RAM_00│
└>┤ #1FFD ├──>┤ ├───>┤ │ │ ├──────────────┤
│ │ ├─ ─ ─ ─ ─ ─ ─ │ │ │ ├─>┤ RAM_01 │
│ ├──>┤ RAM_7 ├───>┤ └─>┤ ├──────────────┤
│ │ ├──────────────┤ │ │ │ │
│ ├──>┤ RAM_8 ├─>┬─│───>┤ ├─ ─ ─ ─ ─ ─ ─ ┤
│ │ ├─ ─ ─ ─ ─ ─ ─ ┤ │ │ └──┤ RAM_7F │
│ ├──>┤ ├─>┤ │ ├──────────────┤
│ │ ├──────────────┤ │ └───>┬─>┤ RAM_80 │
│ ├──>┤ RAM_F ├─>┴─>┐ │ ├─ ─ ─ ─ ─ ─ ─ ┤
└───────┘ └──────────────┘ │ │ │ │
Внешние устройства │ │ ├──────────────┤
───────────────────┐ ┌──────────────┐ │ ├─>┤ RAM_FE │
Порты ├────>┤ ISA_1 ├<────┤ │ ├──────────────┤
компьютера │ ├──────────────┤ │ └─>┤ RAM_FF │
├────>┤ ISA_2 ├<────┤ └──────────────┘
│ ├──────────────┤ │
├────>┤ HDD ├<────┤
│ ├──────────────┤ │
├────>┤ OVER DEVICES ├<────┘
Drawing 2.
In other configurations, the memory allocation scheme is simplified to
free up PPLM resources. Ports #1FFD and #7FFD may be missing, and
the scheme of working with memory-mapped devices is also simplified.
Port distribution scheme.
Sprinter has two separate groups of ports. The first group is the internal ports of the Z84C15 processor, the second is the external ports. The addressing
ports of the first group cannot be changed, since these ports are on the same
chip with the processor. The second group is connected through the PPLM and their addresses
can be changed as desired, with the only condition that they do not intersect with
the addresses of the first group.
You can read about what ports are on the Z84C15 chip in the
documentation for this processor and here I will mention some of them. One
of the serial ports is used for inputting data from the active mouse.
One of the parallel ports is used for data output, the second parallel
port carries interrupt signals and direct access requests from ISA slots.
The parallel port of the Z84C15 processor is designed in such a way that it
can organize interrupts on signals coming throughparallel
port. In fact, the second parallel port is used as an interrupt controller
The distribution scheme of the second group of ports has its own peculiarity.
The main idea was to be able to quickly change the configuration of ports
without overloading the PPLM. This is achieved by using a port map
located on a special RAM page.
When a port access cycle occurs, the port map's
memory is first accessed. The port map records which port is connected to a given address. Next, internal decryption occurs, byte by byte, from the port map and access to the selected port. In non-turbo mode, this happens without
any delays, and in turbo mode, the processor is set to a WAIT signal depending on the required length of the port access cycle.
To connect to or disconnect any
port from any address, just open the port map and enter one
byte in the required place.
The port map page contains four cards that can
switch through the system port. In this way, you can quickly
switch the port configuration, which can be useful when working
Spectrum programs in conjunction with the Sprinter BIOS.
=== Cut ===
P.S. That's not all. If you are interested in more, I will send it. If you have the opportunity to look on the Internet,then the easiest way is at www.atlant.ru/peters go,
there about Sprinter has a lot of things. And there is a photograph of the board.
The Protoss escaped. The Zerlings took off. It's time for me to call it a day. Ivan.
- Divorce the scheme, big and small... [Sprinter-II] [Forth-CPU] [ZX]
... ivan...@mail.ru * http://st-rektal.chat.ru * http://www.atlant.ru/peters
From Denis Parinov → To All 11 August 2000
Processor . . . . . . . . . . . Z84C15
Clock frequency . . . . 21MHz/3.5MHz
RAM. . . . . . . . . . . . . . 4096Kb
RAM CACHE. . . . . . . . . . . . . 64Kb
ROM . . . . . . . . . . . . . . .128Kb
Video RAM . . . . . . . . . 256Kb(512)
Disk controller. . . . . Kp1818VG93
Supports 1.44Mb format. . 3.5" drive
Hard drive controller . . . IDE/AT
Keyboard controller . . 101key/AT
Mouse controller . . . . . MS-Mouse
Two slots . . . . . стандаpт ISA-8
Железная эмуляция AY-3-8910 стерео-OUT
COVOX . . . . . . . . . 8bit x 4chanel
Видео-pежимы: . . . Spectrum standart
GRAF 320x256x256,640x256x16, TXT 80x32
Video output to TV or CGA monitor, RGB
From Igor Turashev → To All 12 August 2000
DP> Brief data on the Sprinter computer.
[...]
I forgot the most important thing - the price 8)
Well, bye! Tigrr from -■Brainwave^X-Project■-
From Mikle Klinkovsky → To All 12 August 2000
AK> And to me... ^^^^^^^^^^^^^^^^
And to me...
- Mikle
From Denis Parinov → To All 13 August 2000
IT> I forgot the most important thing - the price 8)
they didn’t ask about the price.
Q: What are the prices for a computer and Sprinter boards in various configurations?
A: The price for a computer, in the standard configuration - 130 USD
The standard package includes a system unit in a MiniTower case,
an AT keyboard, MS-Mouse. The system unit includes a power supply,
Sprinter board, 3.5" floppy drive.
The price of a separate assembled board, with 4Mb RAM and 256 video RAM - 90 USD
All controllers, floppy drives, hard drives, keyboards, mice are located on
the board. The board also has a panel for CMOS clock - Dallas.
For an additional payment, at the prices of components, a hard drive, CD-ROM, 5.25 disk drive, CMOS clock Dallas,
Hayes-modem can be installed in the computer.
Q: Is it possible to purchase the Sprinter by mail?
A: Yes, you can. To purchase the board by mail, you need to send a transfer to our current account for the amount from the calculation. 1cu = 1USD at the central bank rate
plus 5% on the day of payment.
Details of "Peters SPb"
LLC "Peters SPb" And 7825123969
Address 191014 St. Petersburg, Nekrasova street, building 40, letter A, room 31
Phone: 7-812-327-35-31, 7-812-275-68-82
Account 40702810000000001074 at JSCB "Tavrichesky"
C/s30101810700000000877
BIC 044030877
Code for OKOX 71100
Code for OKPO 50060504
On the transfer form, in the section for the letter, indicate:
“Set of components for the Sprinter computer.”
In advance, before sending the transfer, you should write off or
call the commercial department f. Peters-Plus by the specified
telephone numbers or email addresses:
e-mail: pet...@atlant.ru FIDO: 2:5030/529.49
Sincerely, Denis.