From
van Yu Shinn
→
To
All
2 August 2006
Hello, All
From: Ivan Mak
Date; Thurs; Sep 7 2000 2:56 pm
Area; fido7.zx.spectrum;
┌─- code ───
Greetings, All!
=== Cut ===
Sprinter computer architecture.
Introduction.
This description assumes certain knowledge of the reader,
namely, knowledge of the ZX-Spectrum computer architecture and its varieties, in
in particular Pentagon-128 and Scorpion-256, as well as knowledge of the BASIC language and
some familiarity with Z80 assembly language.
Here I will call machine configuration - a specific implementation
a specific circuit in a reprogrammable logic chip (FPLM).
This means that the machine has many configurations, each of which
has its own scheme.
I also use the concept of CACHE-RAM. This is not a cache in the formal sense
sense, but fast RAM in which the processor can operate at high
frequency without waiting. Cache is a RAM called only by tradition,
similar to the cache on the KR537RU10 in Pentagon-128 computers.
Brief information about the Sprinter computer.
Processor. . . . . . . . . . . Z84C15
Clock frequency. . . . 21MHz/3.5MHz
RAM. . . . . . . . . . . . . . 4096Kb
RAM CACHE. . . . . . . . . . . . . 64Kb
ROM. . . . . . . . . . . . . . .128Kb
Video RAM. . . . . . . . . 256Kb(512)
Disk controller. . . . . Kp1818VG93
Support for 1.44Mb format. . 3.5" driveHard 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
└── code ───
From
van Yu Shinn
→
To
All
2 August 2006
Hello, captain cobalt
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. PPLM
goes into standby mode for downloading the schematic data block.
At this moment, the processor is completely disconnected from any peripherals. In his
the memory address space turns out to include one ROM page and one
RAM Cache page. Any entry into 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 purpose - to load data into the PPLM
configurations. This same ROM page contains initial configuration data.
(Currently this is the Sprinter-1 configuration.) Configuration download program
checks the flag in the cache memory and, if it is set, loads data from
Cache, if reset, then data from ROM. Reconfiguration is based on this
computer circuits.
To change the scheme, you need to load a data block into the last page of the cache memory
configuration from offset #100 and set the flag, which is text
the 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 programmaticallyby writing to a special memory page RESET_PAGE. ROM program running
upon reset, finds the FLEX_10K_LOADING flag and begins loading data into the PPLM. When
in this case, it simultaneously overwrites the flag, which prevents re-downloading a new one
configuration when you press the RESET button and allows you to return after "manual"
reset to initial configuration. Rubbing the flag also saves you from suffering in
case of connecting the wrong configuration during experiments with
programs. Pressing RESET will always return the circuit to its initial configuration.
Note:
Internal information of the PPLM data block is proprietary information of the company
ALTERA. In addition to the chips themselves, PPLM ALTERA also supplies software
for wiring circuits inside the PPLM. Unfortunately, this program cannot work on
computer like ZX-Spectrum and it is not expected in the near foreseeable future
version for Sprinter. Therefore, the development of new configurations can be done
only if you have a sufficiently powerful machine (everything was done on a Pentium-166) and
programs for wiring circuits in PPLM, the price of which is hundreds of US dollars.
In this regard, Sprinter currently has several specific
configurations, two of which are stored in ROM, and the rest can be loaded
from a floppy disk or hard drive. We are constantly improving specific
configurations and development of new ones.
From
van Yu Shinn
→
To
All
2 August 2006
Hello, captain cobalt
Sprinter-1 configuration.
Includes Spectrum-128/256 configuration, memory allocation up to 4Mb,
extended screen with Spectrum, Text-80x32, Graf-320x256x256 modes, controller
floppy drive, hard drive IDE controller, AT keyboard controller connected
like ZX-Keyboard, 8-bit COVOX.
This configuration is as close as possible to the ZX-Spectrum configuration and allows
work on regular Spectrum programs and gradually change them to suit
extended screen and memory modes, as well as for working with new devices.
Sprinter-2 configuration.
Includes Spectrum-128/256 configuration, memory allocation up to 4Mb,
extended screen with Spectrum, Text-80x32, Graf-320x256x256 modes, controller
floppy drive, hard drive IDE controller, AT keyboard controller (built on
internal serial port of the processor), Accelerator, COVOX.
The configuration, like Sprinter-1, is close to the Spectrum one, but has more
strict requirements for software compatibility. Allows you to use
accelerator of operations with main and video RAM. Accelerator speeds up operations
transferring blocks of data and filling RAM with one byte to the physical limit
speed of the main RAM. In the latest version it also allows you to speed up
logical processing of data blocks using the AND, OR and XOR functions.
Configuration ZX-Spectrum-256/AY.This configuration is as close as possible to the ZX-Spectrum-128/256 and includes
circuit of the music coprocessor AY-3-8910. This configuration does not have
advanced screen modes.
The second version of the AY circuit includes three voice generators, a noise generator and
amplitude regulators. There is no envelope generator. Also missing
ability to read coprocessor data ports.
In the third version of AY, these shortcomings are supposed to be eliminated.
Game-1 configuration.
Similar to Sprinter-2 configuration. The accelerator does not have logical functions, but
for audio output has COVOX-Blaster - COVOX with buffer RAM allowing
output sound block by block and free up CPU time for other work.
The configuration is intended for use in games for Sprinter.
DooM configuration.
It is a further development of the Game-1 configuration. The accelerator has
additional function for hardware stretching/compression of vertical and
horizontal lines.
From
van Yu Shinn
→
To
All
2 August 2006
Hello, captain cobalt
Organization of video memory and video modes.
The Sprinter's video RAM is 256 kilobytes. In the future it is expected
expansion up to 512 kilobytes for higher resolution modes.
In the Spectrum screen mode, the entire organization is the same as in the standard one
ZX-Spectrum. In other modes, the Sprinter screen is turned on, the structure
which includes the Spectrum screen as part of the circuit.
Screen device.
The entire screen is divided into squares, the size of a standard Spectrum
familiar place. Each square has its own output mode,
as well as the address of the video RAM from where output is made to this square.
Each familiarity location can have its own output mode. Currently
Now you can set the following modes:
ZX-40 - normal Spectrum mode with one bitplane and one attribute on
familiar place.
ZX-80 - A mode similar to the Spectrum one in the structure of the symbols, but in each
In a familiar place there are two symbols, compressed horizontally.
G256-8 - Graphics mode. A square is an 8x8 array of dots. B
each point is assigned one of 256 colors, selected from a palette of 16 million
flowers. Squares can have different palettes. Such palettes for the G256-8 mode -
four.
G16-16 - Graphics mode. A square is a 16x8 array of dots.Each dot has one of 16 colors, selectable from a palette of 16 million
flowers. Just like G256-8, one of 4 can be installed in a square
palette Graphics mode palettes overlap each other. Palette
The 16-color mode is the first 16 colors from the 256-color palette.
BORDER - The color of the border is displayed in the square.
BLANK - The square is extinguished - it turns black.
The square mode data size is 2 bytes, so changing the mode is only
screen is reduced to rewriting 2.5 kilobytes of data in video RAM.
This screen structure makes it easy to scroll both
and parts of the screen according to familiarity.
The screen mode is set when turned on, as well as using BIOS functions.
BIOS functions allow you to open graphic and text windows on the screen in
in the right places and in the right size.
The BIOS has functions for opening the graphic screen to full screen 320x256
points. After opening this mode, the screen is: set of 256
lines, 320 bytes long. Adjacent points in a line are adjacent bytes.
Lines are switched through PORT_Y, in which the number is set
line displayed on the screen. Line numbers are counted from the top of the screen, starting from
zero.
To output to a graphic screen, you also need to open the corresponding
main RAM page. This page will contain a copy
video images.Video RAM is shadow RAM, so information residing in main RAM is
under which the video RAM is located will not necessarily match the information
located in this video RAM. Video data can be recorded without
rewriting data in the main RAM, which is useful when working, for example,
with sprites. To work with sprites, there is also a recording mode in
video RAM with transparent color. In this mode, information transmitted to
The video RAM is checked for the presence of the #FF byte. If this byte is detected, then
the recording cycle is skipped and the data that remains on the screen in this place is
were earlier. This way you can quickly draw sprites on the screen,
which are rectangular pictures with “transparent” colors.
An example of a program for displaying a rectangular image on the screen:
┌─- code ───
PAGE3 EQU #E2
RGADR EQU #89
LD A,#50 ; graphic video screen page
OUT (PAGE3),A ; set to PAGE3
LD HL,Pucture ; image address (Direct Data)
LD DE,#C040+HorPlace ; horizontal position of the picture on the screen
LD A,VerPlace ; vertical position of the picture on the screen
OUT(RGADR),A
LD B,VerSize ; picture height
LOOP; PUSH; DE ; remember the position on the line
PUSH BC; remember altitude counter
LD BC,HorSize ; picture lengthLDIR ; copy line
POP B.C.
POP DE
INC A ; next Y coordinate
OUT(RGADR),A
DJNZ LOOP; repeat as many times as necessary
└── code ───
Controlling the display mode (enable output with transparent colors,
disabling copying to the main RAM) is carried out through the low-order bits of the port
graphic screen pages.
Accelerator of operations with RAM.
RAM Operations Accelerator is designed to speed up forwarding operations
data or by filling the RAM with one byte. The accelerator is present in purely
Sprinter configurations and therefore does not interfere with the operation of conventional
Spectrum programs.
The accelerator is based on fast internal RAM in the PPLM. Operations by
data transfers are carried out by writing a block of data to this internal RAM, and
then copying it to the desired memory location from this RAM. After one entry
copying can be done several times and in this way you can make
filling the screen with textures.
A different accelerator mode is used to fill the screen with one color. B
instead of the copied data block, a recording is made from the internal RAM
data from the processor bus, which does not change at this moment.
The data block written to the accelerator RAM can have a different length from
range 1..256 bytes.The accelerator is controlled directly from the program. For this
processor instructions are used, which are actually operations like
NOP.
These are the commands LD A,A; LD B,B; LD C,C; LD D,D; LD E,E; LD H,H, LD L,L
The purpose of the commands is as follows:
LD B,B - turn off the accelerator.
LD D,D - turn on the accelerator in the mode of receiving block size bytes, then follow
command like LD A,dat, where dat will be the new block size. If block size
was installed previously, you don't have to install it.
LD C,C - Fill operation - filling with one byte. Subsequent LD type command
(HL),A will cause the previously specified number of bytes to be filled with the value of A
LD E,E - Fill operation for a graphic screen - filling vertical lines.
LD H,H - reserved
LD L,L - block copying. A subsequent command like LD A,(HL) will result in
filling the accelerator RAM with data from the address (HL), and the command type LD (DE),A
will result in data being overwritten from the accelerator RAM to the main or video RAM.
LD A,A - copy block for graphic screen is similar to LD L,L command, but
works with vertical screen lines.
Example of using the accelerator:
┌─- code ───
; We assume that the screen page is already open at address #C000
LD HL,#C040 ; address of the start line of the first screen
LD DE,#C180 ; address of the beginning of the line of the second screen
LD BC,#140 ; horizontal screen lengthDI; disable interruptions for working with the accelerator
LD D,D ; turn on the accelerator to set the block size
LD A,0 ; set block size - 256 bytes
LD A,A ; set the accelerator to copy
; vertical lines.
LDIR ; copy !
LD B,B ; turn off the accelerator
EI; enable interrupts
└── code ───
This section of the program will copy the entire screen from one screen to
another. Its execution time is approximately 1.2 int.
Additional accelerator functions (AND, OR, XOR) work in the same way
way. To perform logical functions, XOR (HL) instructions are used; OR
(HL); AND (HL).
An example of encoding a block of 256 bytes.
┌─- code ───
LD HL,ADRES_1
LD DE,XOR_DAT
D.I.
LD D,D
LD A,0 ; number of bytes to encode
LD L,L
LD A,(DE) ; take the data block into the accelerator RAM
XOR(HL); perform an XOR operation with accelerator data
LD(HL),A ; store the result of the operation in RAM
LD B,B
EI
└── code ───
The speed of the accelerator is limited only by physical speed
operation of the main RAM. You can determine the time a team works with the accelerator by
with this approximate formula:Working time = team working time without accelerator + working time
accelerator
Accelerator operating time = number of bytes sent / 7000000 (seconds)
Disabling interrupts while the accelerator is running is necessary because
at this moment the processor command system and the program on
interrupt will not be able to work normally.
=== Cut ===
The Protoss have fled. The Zerlings took off. It's time for me to call it a day. Ivan.
- Divorce the circuit, big and small... [ Sprinter-II ] [Forth-CPU] [ZX]
From
van Yu Shinn
→
To
All
2 August 2006
Hello, captain cobalt
Memory allocation scheme.
The memory allocation schemes in the Sprinter-1 and Sprinter-2 configurations are the same and
quite transparent. In fact, it represents a distribution scheme
memory of the Scorpion computer, with an additional circuit superimposed on it, which
allows you to randomly set all memory pages, both ROM and RAM.
Each page of ROM or RAM has its own port, which indicates
actual page number out of 256 pages of all 4Mb. Pages,
projected into various windows of the processor address space have their own
own ports. Those. The page included in addresses #4000..#7FFF, and the page
number 5 of the usual Spectrum memory allocation, included in the addresses
#C000..#FFFF have separate ports.
There are 32 such memory page ports in total.
16 ports are responsible for 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 for connection
various ROM pages. One port is for connecting a cache page instead of a ROM. And
one port is the port of the system ROM, which is connected in place of the ROM immediately after
Resetting the machine using the Ctrl+Alt+Del keys.
The remaining 3 memory page ports remain in reserve for now. Schemememory allocation allows you to connect to the processor address space not
only RAM or ROM, but also ports and memory of ISA cards inserted into the slot.
When connecting Scorpio extended RAM pages to addresses #C000..#FFFF,
slots can be redirected in their place. To do this, you just need to write to the port
one of these pages is the value corresponding to the ISA slot to which
an appeal needs to be made. This value also indicates what is being done
access to ports or memory.
┌─- code ───
Sprinter memory distribution scheme.
Address space Computer ROM page ports
processor connected pages 16k pages
--------------- -------- --------------- ---------------
| #0000..#3FFF +->+ ports +-->+ ROM_BASIC +-->T--T--T->+ EXPANSION |
| | | #7FFD,| +--------------+ | | | +--------------+
| | | #1FFD +- | ROM_TR-DOS +-->+ | +->+ TR-DOS |
+--------------+ L-------- | +--------------+ | | | +--------------+
| #4000..#7FFF +--------- | | | | | +->+ BASIC128 |
| | | | +- - - - - - - + | | | +--------------+
| | | | | ROM_SYSTEM +-->- | +->+ BASIC48 |
+--------------+ | | +--------------+ | | +--------------+| #8000..#BFFF +---- | L>+ RAM_0000 +---> | +->+ SYSTEM ROM |
| | | | L-------------- | | | +--------------+
| | | | --------------- | | +->+ SYSTEM ROM2 |
+--------------+ | L-->+ RAM_4000 +--->+ | | +--------------+
| #C000..#FFFF + | L-------------- | | +->+ CONFIG 2 |
| || | | | | +--------------+
| || | --------------- | | L->+ CONFIG 1 |
L---------------| L-------->+ RAM_8000 +--->+ | L--------------
| L-------------- | |
| | | Computer RAM
| -------- --------------- | | 16k pages
| | Ports +-->+ RAM_0 +--->+ | ---------------
| | #7FFD,| +--------------+ +--->T->+ RAM_00 |
L>+ #1FFD +-->+ +--->+ | | +--------------+
| | +- - - - - - - | | | +->+ RAM_01 |
| +-->+ RAM_7 +--->+ L->+ +--------------+
| | +--------------+ | | | |
| +-->+ RAM_8 +->T-|--->+ +- - - - - - - +| | +- - - - - - - + | | L--+ RAM_7F |
| +-->+ +->+ | +--------------+
| | +--------------+ | L--->T->+ RAM_80 |
| +-->+ RAM_F +->+-> | +- - - - - - - +
L--------L-------------- | | | |
External Devices | | +--------------+
------------------- --------------- | +->+ RAM_FE |
Ports +---->+ ISA_1 +<----+ | +--------------+
computer | +--------------+ | L->+ RAM_FF |
+---->+ ISA_2 +<----+ L---------------
| +--------------+ |
+---->+ HDD +<----+
| +--------------+ |
+---->+ OVER DEVICES +<-----
-------------------- L--------------
Figure 2.
└── code ───
In other configurations, the memory allocation scheme is simplified to free up
PPLM resources. Ports #1FFD and #7FFD may be missing, and it is also simplified
scheme for working with memory-mapped devices.
From
van Yu Shinn
→
To
All
2 August 2006
Hello, captain cobalt
Port distribution diagram.
Sprinter has two separate groups of ports. The first group is internal
ports of the Z84C15 processor, the second - external ports. Addressing ports of the first group
cannot be changed since these ports are on the same chip as the processor.
The second group is connected via PPLM and their addresses can be changed as desired,
with the only condition that it does not intersect with the addresses of the first group.
You can read about what ports are available on the Z84C15 chip in the documentation for
this processor and here I will mention some of them. One of the consecutive
ports are used for input from the active mouse. One of the parallel
used for data output, signals are connected to the second parallel port
interrupts and direct access requests from ISA slots. Parallel port
The Z84C15 processor is designed in such a way that it is possible to organize
interrupts for signals coming through the parallel port. Actually the second
The parallel port is used as an interrupt controller.
The port distribution scheme of the second group has its own peculiarity. The main idea
it was possible to quickly change the configuration of ports without overloading
PPLM. This is achieved by using a port allocation map,
located on a special page of RAM.
When a port access cycle appears, the card's RAM is first accessedports. 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
selected port. In non-turbo mode this happens without any delays, and in
In turbo mode, the WAIT signal is set to the processor depending on the required
port access cycle length.
To connect to or disconnect any port from any address
Just open the port map and enter one byte in the right place.
The port map page contains four maps that can be switched
via the system port. This way you can quickly switch
port configurations, which can be useful when running Spectrum programs
together with Sprinter's BIOS.
Specific port addresses used in Sprinter.
Here I will provide port addressing for Sprinter-1 and Sprinter-2 configurations.
I would like to note right away that these addresses can easily be changed by a simple program, in
if such a need arises.
Standard ports.
#FE - RD_KBD - keyboard port
#FE - WR_BRD - curb port
#7FFD - ZX-Spectrum 128k expansion port
#1FFD - Scorpion ZS-256 expansion port
#1F,#0F - RD_KEMPS - joystick port. In the Sprinter-1 configuration, port #1F
hardware forwarded to port #0F
#BFFD,#FFFD - AY-PORTS - AY coprocessor ports (ZX-Spectrum-256/AY)
Not exactly standard ports.#FB,#4F - COVOX port.
Additional 8-bit Sprinter ports.
#82 - PAGE0 - RAM page, connected instead of ROM via port #1FFD
#A2 - PAGE1 - RAM page connected to address #4000
#C2 - PAGE2 - RAM page connected to address #8000
#E2 - PAGE2 - RAM page connected to address #C000
It should be especially noted here that through port #E2 you can change any of the 16 pages
Scorpio memory allocation.
#89 - PORT_Y - vertical coordinate of a point on the graphic screen or page
VIDEO-RAM for Spectrum mode
#C9 - RGMOD - screen mode port. Switches screen mode pages.
#3C,#7C - SYS_PORT - it is not recommended to touch the system port
#10..#1F,#EE,#EF,#F0,#F1,#F4 - internal ports of Z84C15
RAM page ports are open for both writing and reading. This makes it easy
execute programs that use page switching and then return those
pages back. When the BIOS is running, all pages are saved.
Additional 16-bit Sprinter ports.
#xx50..#xx55 - HDD ports - not recommended for use by external programs.
Functions for working with HDD are recorded in ROM.
Hidden Sprinter ports.
Hidden ports are ports that are not available at a particular time, but may
become available after changes are made to the port map. Their addresses are not
are indicated because they can be placed anywhere.
BASIC48 ROM port
BASIC128 ROM portTR-DOS ROM port
EXPANSION ROM Port
ROM SYSTEM port
New ROM firmware can be installed through these ports. There are enough of them for this
write to RAM with page numbers less than #80 and write to the corresponding port
this page number. With this connection, the pages These pages will be protected
from recording.
Partially hidden, ports #7FFD, #1FFD are also in their normal state
are write-only, but values written to these ports can be
read by opening the appropriate ports for reading.
In other configurations, some ports may be missing or present
new ports.
From
van Yu Shinn
→
To
All
2 August 2006
Hello, captain cobalt
Technical implementation.
The core of the machine is the Z84C15 processor and EPF10K10QC208 PPLM. Besides them on the board
there is a ROM chip, 72-pin SIMM for 4Mb, 256Kb video RAM, 64Kb
Cache-RAM, disk drive controller circuit based on LSI KR1818VG93, buffers for connection
joystick, tape recorder, printer, keyboard, disk drives, hard drive, mouse,
ISA-8 bus buffer chips and another PPLM from ALTERA - EPM7032LC44. This
PPLM does not change its configuration and is designed to ensure synchronization
and initial startup of the computer. The board also provides the ability
connecting CMOS clocks based on the DALLAS chip. In addition to peripherals and buffers
there are decoding chips, the inputs of which are connected to the processor via
PPLM. This allows you to easily change device addressing without any modification
PCB layout.
Machine architecture capabilities.
The computer circuit is based on a large reprogrammable logic chip.
Connecting peripheral devices via PPLM allows you to get high
machine flexibility in configurations.
Programming of the PPLM is carried out immediately at the moment of switching on, and so
the same during a reboot, which allows you to radically change the scheme in the PPLM
directly during work. This makes the computer architecture stand out from
number of existing computers and therefore many concepts inherent in conventionalmachines change their meaning. In fact, the computer has a changeable architecture,
in which changes are possible in many parts of the circuit. So, for example, it is impossible
talk about specific addresses of peripheral connection ports, since they can
be changed in one second by reprogramming the PPLM and data in RAM,
responsible for port configuration. 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
according to machine configuration. When conceiving a specific job, a programmer can
determine in what configuration it can be made better, and perhaps
come up with your own configuration, which can then be implemented in PPLM and enabled
before running this program.
From
van Yu Shinn
→
To
All
2 August 2006
Hello, captain cobalt
┌─- code ───
Block diagram of the Sprinter computer.
-------- ---------------------- ------------->Sinc
|Printer| | 2 ISA SLOTS | | --------->R
+-------+ L---T-T-T-T-T-------T-T-T-T-T--- | | ------>G
| Mouse | ----+-+-+-+-+-------+-+-+-+-+-- | | | ---->B
L-T-T-T-- | Buffers and decryptors | | --+-+-+-
| | | L---T----T-T--T-T----T-T-- | | DAC |
| | | |INT | | | | | | | | buffer |
---+-+-+T- | | | | | -+-+------+- L--T-T--- ---------
| Int | +----------|---------- L--| |---+ EPF10K10 +---- L------+ video |
| ports | +---------|----------DATA-| |---+ +--V_DATA----+ |
+-------- +----|--- ----------| |---+ +-----------+ RAM |
| +<---- | | | | | | | |
| +--------------------- L---+ +-----------+ |
| Z84C15 +---------------ADRESS-----+ +-V_ADRESS---+ |
| +---- --------------------+ +------------+ |
| | | | | | | | | |
| +<---| |-| |-------------->+ +--WE,CSi--->+ |
| +<---| |-| |----DIR------->+ | L---------| +<---| |-| |-------------->+ +-------> Audio OUTs
| | | | | | | | ---------
| | --+-+-+-+------- | +------------+ MAIN |
| | | ПЗУ и КЭШ-ОЗУ +<-ADR'-+ +--DATA------+ RAM |
L-T-T-T--T- | CS +<-CS---+ +------------+ |
| | | | L---------------- | | | SIMM |
| D | | --------------- | +------------+ |
| A | | | EPM7032 +------->+ +--ADRESS----+ |
| T | L-->+ Sinchro | | +------------+ |
| A | | HDD_DIR +<-------+ | | |
| | | | ФАПЧ +<-------+ +-RAS,CAS,WE-+ |
| | | L-T-T-T-T-T----- | | L---------
| | | | | | | | | |
--+-+-+--------+-+-+-+-+------- | |
| Периферийные устройства +<----+ |
| FDD,HDD,KEMPSTON ++ |
--------- | --------- | |
| TAPE +<--- |Keyboard+--------->+ || in/out | +TTTTTTTT+ | |
L--------- L++++++++- L-----------
Figure 1.
└── code ───
For simplicity, some buffers and decoders are not shown in the diagram. Quantity
The wires in the tires are also conventional. Part of the control signals of devices with PPLM
multiplied with SIMM addresses.
The following description of the architecture is a description of specific configurations and
parts of configurations. But before that, a few words should be said about
switching the configurations themselves.
From
ilyaspb
→
To
All
3 August 2006
Hello, captain cobalt
The source "from" is lost
File: sp2k_sch.rar http://zx.pk.ru/attachment.php?attachmentid=3549
From
Andreas Kaiser
→
To
All
3 August 2006
Hello, CHRV
CHR> I have a bunch of documents on Spriter. I'm ready to give them to anyone.
CHR> Including all of Imak's answers to FIDO, and clippings from the forum on
CHR>Petersplus.
And all this with a parent present ;)
From
ilyaspb
→
To
All
3 August 2006
Hello, CHRV
Do you have ROM and Alter firmware?
From
Chunin Roman
→
To
All
3 August 2006
Hello, ilyaspb
ily> The source “from” is lost
I have a bunch of documents on Spriter. I'm ready to give them to anyone.
Including all of Imak’s answers to FIDO, and clippings from the forum on Peterrsplus.