T34VG1
The T34VG1 (Т34ВГ1 in Cyrillic) is a custom chip performing a similar role to that of the ZX Spectrum ULA within various Eastern European Spectrum clones, most notably the Didaktik M. It is also sometimes labelled as a КА1515ХМ1-216 or as just ULA1. Note that in Latin script, КА1515ХМ1-216 is transliterated as KA1515HM1-216. The chip is sometimes referred to as a БМК so BMK, which is the Russian for gate array or uncommitted logic array.
Systems using the T34VG1 are typically clocked at 4 MHz. The chip uses the same scheme as the Amstrad CPC for sharing memory bandwidth between the CPU and video display engine, in that it introduces wait T-states (Tw states) by means of the Z80's WAIT pin, so that memory accesses are aligned to groups of four clock cycles, resulting in execution of between 3–4 million T-states per second depending on the instructions that are executed. Wait states are inserted for access to any memory address, and for access to the ULA port ("port 0xfe"). These wait states are inserted as needed even whilst the border is being drawn and during vertical retrace, so as to provide consistent CPU performance. This consistency is needed, for example, when executing the ROM's beeper and tape routines, as instruction fetches from ROM are also subject to wait states.
As the pixel clock is twice the CPU clock at 8 MHz, rather than the ~7 MHz pixel clock of the Spectrum, the screen is narrow in appearance.
It was used in a variety of computers, as well as the Belarusian "ALF TV Game" console.
It is suggested that it is based on the discrete logic of the Baltik, in SpeccyWiki's Балтик article (in Russian).
There are similar chips which should not be confused with the T34VG1. For example, the КА1515ХМ1-171 is described as being used in the Anbelo-C (although photos show the T34VG1 in this machine), the КА1515ХМ1-458 and КА1515ХМ1-433 are used together in the Infoton-030 which is a a 128K clone, and the КА1515ХМ1-6004 is used in another 128K clone, the HIMAC 128. There are also many other chips designated as some form of КА1515ХМ1 that are not related to the Spectrum, for example, a set of support chips for the UKNC, a clone of the PDP-11.
The T34VG2 (Т34ВГ2) is a clone of the FD2793 floppy disk controller with support for controlling a printer, used together with the T34VG1 in some models of the Quantum-BK.
List of computers that use the T34VG1
Computers that use the T34VG1 include:
- Анбело/С (Anbelo/C) *
- Atas 128 * +
- Atas 256
- Byte (Moldovan, not Belarusian) * +
- Компаньон М (Companion M) * +
- Компаньон 2 (Companion 2)
- Компаньон 3 (Companion 3)
- Дельта-Микро (Delta-Micro) * [1]
- Didaktik M *
- Didaktik Kompakt
- Форум БК-09 (Forum BK-09)
- Форум БК-09 (Forum BK-09 Turbo) *
- Квант-БК (Quantum-BK / Kvant-BK) *
- Квант-БК МС0530 (Quantum-BK MC0530 / Kvant-BK MC0530) *
- Искра 1085 (Iskra 1085) *
- Мастер (Master) *
- Мастер 2 (Master 2)
- Pik [2]
- PLM-X
- Радон Плюс (Radon Plus)
- Ратон-9003 (Raton-9003) — early model *
- Sinko-Best *
- Сириус (Sirius) *
- Спектр Б-ИК (Spektr B-IK) *
- Сура-С (Sura-S) *
- Символ 48 (Symbol 48) *
- Символ 128 (Symbol 128)
- Веста ИК-31 (Vesta IK-31) *
Pinout
The pinout of the T34VG1 is given below. Note that pin 1 is in the centre of the lower row of pins and has a notch, and is immediately to the right of pin 64. Pins 8 and 9 are in the lower-right corner, pins 24 and 25 in the upper-right corner, pins 40 and 41 in the upper-left corner and pins 56 and 57 in the lower-left corner.
AR0–AR7 are multiplexed DRAM address lines. Data bus resistors may be required simply to provide the T34VG1 with electrical protection from the Z80, but details of this are not yet clear.
The T34VG1 provides two pins for I/O port decoding. SSRD has been confirmed to decode ports 0x7f, 0x3f, 0x5f, 0x6f, 0x77, 0x7b, 0x7d, but not ports 0xff or 0x7e. It can therefore be assumed that SSRD is equal to RD + IORQ + A7 + A0. SSWR decodes port 0x5f (used for the paging of the ALF TV Game console), probably as WR + IORQ + A7 + A0.
The T34VG1 provides CE as an output, which indicates whether an address within the ROM range (0x0000–0x3fff) is being accessed.
Schematics for the Anbelo-C which show the use of a КА1515ХМ1-171 suggest that the SSWR and SSRD signals are the main changes that were made to the pinout for the newer mask. It is possible that other details such as display timings may have been altered.
Pin | Name |
---|---|
1 | KEY1 |
2 | KEY2 |
3 | D0 |
4 | D1 |
5 | KEY3 |
6 | D2 |
7 | D3 |
8 | KEY4 |
9 | KEY5 |
10 | B |
11 | R |
12 | G |
13 | T0 |
14 | D4 |
15 | S0 |
16 | D5 |
17 | D6 |
18 | Y |
19 | TI |
20 | D7 |
21 | INT |
22 | M1 |
23 | IORQ |
24 | RFSH |
25 | WR |
26 | SSWR |
27 | SSRD |
28 | MREQ |
29 | RD |
30 | WE |
31 | CLK |
32 | 0V |
33 | CLK_IN |
34 | WAIT |
35 | CAS |
36 | CE |
37 | A7 |
38 | A15 |
39 | A6 |
40 | RAS |
41 | A14 |
42 | A12 |
43 | S |
44 | AR7 |
45 | AR6 |
46 | AR4 |
47 | A0 |
48 | AR3 |
49 | A4 |
50 | AR0 |
51 | A3 |
52 | AR2 |
53 | AR1 |
54 | AR5 |
55 | A2 |
56 | A1 |
57 | A13 |
58 | A10 |
59 | A8 |
60 | A11 |
61 | A9 |
62 | A5 |
63 | RST |
64 | Vcc |