T34VG1: Difference between revisions

Jump to navigation Jump to search
337 bytes removed ,  29 August 2015
ROM probably *is* contended, /CE is an output
(Document /CE, option to allow uncontended execution from ROM, /SSWR and /SSRD signals)
(ROM probably *is* contended, /CE is an output)
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 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.
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 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.
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 43: Line 43:
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.
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.


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.


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.
The T34VG1 provides {{overline|CE}} as an output, which indicates whether an address within the ROM range (0x0000–0x3fff) is being accessed.


{| class="wikitable"
{| class="wikitable"

Navigation menu