T34VG1: Difference between revisions
(Add pinout) |
(Document /CE, option to allow uncontended execution from ROM, /SSWR and /SSRD signals) |
||
Line 3: | Line 3: | ||
It is also sometimes labelled as a КА1515ХМ1-216 or as just ULA1. | It is also sometimes labelled as a КА1515ХМ1-216 or as just ULA1. | ||
Systems using this chip 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 {{overline|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 | Systems using this chip 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 {{overline|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 to which both the T34VG1 and Z80 have access, 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. | 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. | ||
Line 42: | Line 42: | ||
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. | 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. The {{overline|CE}} signal can be used to prevent contention of ROM, but in this case, DRAM data lines must be connected to the Z80 data bus through resistors, such that the Z80 can execute from ROM whilst the T34VG1 fetches graphics data from DRAM. The same technique can most likely be used to provide the CPU with fast access to RAM outside of the range of 0x4000–0x5aff provided the RAM in this area is accessed using a separate data and address bus. | |||
Data bus resistors may be required simply to provide electrical protection to the T34VG1, but details of this are not yet clear. | |||
The T34VG1 is decodes writes to port 0x5f which it signals using {{overline|SSWR}} and reads from port 0x1f which it signals using {{overline|SSRD}}. It is speculated that both of these may simply decode A5, looking for it to go low. | |||
{| class="wikitable" | {| class="wikitable" |
Revision as of 15:16, 29 August 2015
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.
Systems using this chip 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 to which both the T34VG1 and Z80 have access, 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.
Computers using the T34VG1 include:
- Anbelo/C
- Atas 128
- Atas 256
- Byte (Moldova, not Belarus)
- Companion M
- Companion 2
- Delta-micro
- Didaktik M
- Didaktik Kompakt
- Forum BK-09
- Forum BK-09 Turbo
- Quantum (Kvant) BK
- Quantum (Kvant) BK MC0530
- Iskra 1085
- Master
- Master 2
- Pik
- PLM-X
- Radon Plus
- Raton-9003 (early model)
- Sinko-Best
- Sirius
- Spektr B-IK
- Sura-S
- Symbol 48
- Symbol 128
- 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. The CE signal can be used to prevent contention of ROM, but in this case, DRAM data lines must be connected to the Z80 data bus through resistors, such that the Z80 can execute from ROM whilst the T34VG1 fetches graphics data from DRAM. The same technique can most likely be used to provide the CPU with fast access to RAM outside of the range of 0x4000–0x5aff provided the RAM in this area is accessed using a separate data and address bus.
Data bus resistors may be required simply to provide electrical protection to the T34VG1, but details of this are not yet clear.
The T34VG1 is decodes writes to port 0x5f which it signals using SSWR and reads from port 0x1f which it signals using SSRD. It is speculated that both of these may simply decode A5, looking for it to go low.
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 |