Generating composite video signal with 74166 shift register
Posted: Fri Feb 01, 2019 3:11 pm
Hello everyone!
I really need some help to understand if I'm on the right path.
I would like to add a text only, monochrome composite video out to my simple 6502 computer. I would like to achieve it using only logic and memory and no dedicated microcontrollers, because I would like to learn and understand the hardware design required to achieve it.
Currently, my idea is shown in the scheme below. The composite signal would be generated by a 74HC(T)166 PISO shift register using a 8MHz clock signal. The clock would be divided by 8 by a binary counter to provide a 1MHz clock for the 65c02. The video data would be fed by a char ROM.
It is my understanding that to provide a constant feed of serialized data from the shift register I must provide an active low LOAD signal to the 74166 during the first low-to-high edge of the 8 clock cycles used to send out every byte of video data coming from the char ROM.
To generate such LOAD signal, I thought about this system:
An inverted clock signal is fed to a second counter. The three least significant bits of the counter are ORed to provide the LOAD signal shown in the timing diagram (signal 6). The active high RES(ET) signal is ORed with the input clock, so that the second counter, using the B clock input, starts first ensuring that the LOAD signal is low during the first low-to-high edge of the clock, and not the second.
Naturally, the video output of the shift register would be mixed with a SYNC signal to provide the necessary composite syncronization.
Does my idea make any sense? Is there any simpler way to achieve this?
Pardon me if I wrote some horrible mistake, I'm completely selft taught in the field of electronics apart for some rudimentary electrical engineering classes during college!
Thank you!
Davide
I really need some help to understand if I'm on the right path.
I would like to add a text only, monochrome composite video out to my simple 6502 computer. I would like to achieve it using only logic and memory and no dedicated microcontrollers, because I would like to learn and understand the hardware design required to achieve it.
Currently, my idea is shown in the scheme below. The composite signal would be generated by a 74HC(T)166 PISO shift register using a 8MHz clock signal. The clock would be divided by 8 by a binary counter to provide a 1MHz clock for the 65c02. The video data would be fed by a char ROM.
It is my understanding that to provide a constant feed of serialized data from the shift register I must provide an active low LOAD signal to the 74166 during the first low-to-high edge of the 8 clock cycles used to send out every byte of video data coming from the char ROM.
To generate such LOAD signal, I thought about this system:
An inverted clock signal is fed to a second counter. The three least significant bits of the counter are ORed to provide the LOAD signal shown in the timing diagram (signal 6). The active high RES(ET) signal is ORed with the input clock, so that the second counter, using the B clock input, starts first ensuring that the LOAD signal is low during the first low-to-high edge of the clock, and not the second.
Naturally, the video output of the shift register would be mixed with a SYNC signal to provide the necessary composite syncronization.
Does my idea make any sense? Is there any simpler way to achieve this?
Pardon me if I wrote some horrible mistake, I'm completely selft taught in the field of electronics apart for some rudimentary electrical engineering classes during college!
Thank you!
Davide