High speed Parallel-to-Serial (PISO) converter (shift register).

Thread Starter

JohnKoz

Joined Dec 14, 2016
9
Hi folks,

I'm designing a home brew computer which drives a video signal on an old terminal directly. I'm using a Televideo 990 because I couldn't find anything older.

I have it working using a 74LS166 chip at 30MHz, but I need a hair more speed to match the scan frequency of the monitor.
I seem to have hit a wall with the speed of these shift registers, even the 74HC166 doesn't help. I saw a 74VHC166, but only available in mass quantities.

Any other suggestions how I could achieve a 30-35MHz bit stream?

Thank you!

-John
 

Thread Starter

JohnKoz

Joined Dec 14, 2016
9
There's the 74ALS166 or the 74AHC166, and possibly others.
Outstanding, the 74ALS166 looks promising, and I can get it from Mouser in min quantity 1.
I hadn't looked for ALS, that's my new favorite series; I'm going to pick up a few 161's as well (for my other issue). ;)

Thank you!

-John
 

ronsimpson

Joined Oct 7, 2019
4,645
I no longer have a good way to find parts. Some where I had a table of each family, where you could compare speeds.

Also look for similar parts. Sometimes you can use two 4bit ICs or one 8bit part. Sometimes there will be slight differences in parts. You might look at all the 4 and 8 bit SR parts.

What CPU are you using?
 

MrChips

Joined Oct 2, 2009
34,626
You can try using an STM32 MCU which will output a serial video stream with no additional hardware required.

I have used STM32F407 to display on a VGA monitor. The MCU generates HSYNC, VSYNC and Video with no external hardware required.

1768790613649.png
 

Thread Starter

JohnKoz

Joined Dec 14, 2016
9
I no longer have a good way to find parts. Some where I had a table of each family, where you could compare speeds.

Also look for similar parts. Sometimes you can use two 4bit ICs or one 8bit part. Sometimes there will be slight differences in parts. You might look at all the 4 and 8 bit SR parts.

What CPU are you using?
Thanks, I often start out here, but given the list of sub-families I don't often know which chips are actually manufactured and which are theoretical. It's definitely a marriage of theory vs. practical.

I'm using the Z80 and building the video circuit from scratch with SRAM and a character ROM.
 

Thread Starter

JohnKoz

Joined Dec 14, 2016
9
You can try using an STM32 MCU which will output a serial video stream with no additional hardware required.

I have used STM32F407 to display on a VGA monitor. The MCU generates HSYNC, VSYNC and Video with no external hardware required.

View attachment 362342
Cool chip, very tempting to use LSI; would make life easier.
But I'm trying to stick to [mostly] period chips and roll my own when possible. I suspect the 74ASL166 probably wasn't manufactured in the ~80's, but at least I can keep the function the same.
I also haven't graduated to SMD yet, maybe my next project.

-John
 

ronsimpson

Joined Oct 7, 2019
4,645
I'm using the Z80 and building the video circuit from scratch with SRAM and a character ROM.
Somewhere in a box of old junk, I have a PCB I did 40 years ago. Z80, and an IC that probably only exists in my "old parts" box. There was a video IC that had two 80x8 shift registers. One SR would be loaded with the 80 characters for the rows below. The other SR would cycle 10 times sending data out to the character generator ROM.
I needed to load the SR fast. I used 40 stack pops to load 40 bytes. Every pop brings two bytes onto the bus where the video IC reads them. There was not a loop but 40 pops in a row.
---edited----
8275 Here is the link to the IC I used. I did not use the DMA controller to save money and parts. I used an interrupt and loaded the buffer in software using pops.
1768843234344.png
 
Last edited:

MrChips

Joined Oct 2, 2009
34,626
Cool chip, very tempting to use LSI; would make life easier.
But I'm trying to stick to [mostly] period chips and roll my own when possible. I suspect the 74ASL166 probably wasn't manufactured in the ~80's, but at least I can keep the function the same.
I also haven't graduated to SMD yet, maybe my next project.

-John
You're stuck in the dark ages. Once you've tried STM32 and SMD construction you will wonder what took you so long. You will never look back.

That project shown in post #7 using STM32F407 was back in 2012. That's 14 years ago. The MCU clocked at 168 MHz and has 1 MB flash memory and 192 KB RAM built-in, all in a single chip. How does your home brew computer stand up to this?

14 years later, STM32 have come a long way. How does 600 or 800 MHz operating frequency grab you?
Plus, the software development suite is free. If you want to get started playing with STM32, I can help you.
 

nsaspook

Joined Aug 27, 2009
16,249
Cool chip, very tempting to use LSI; would make life easier.
But I'm trying to stick to [mostly] period chips and roll my own when possible. I suspect the 74ASL166 probably wasn't manufactured in the ~80's, but at least I can keep the function the same.
I also haven't graduated to SMD yet, maybe my next project.

-John
Cool, it's fun to do it once just for the experience.
 

Thread Starter

JohnKoz

Joined Dec 14, 2016
9
You're stuck in the dark ages....
Ha, you're exactly right! And to @ronsimpson's point, yes 40 years ago I was doing a lot with hardware/circuits and my senior year in high school I swore I'd be doing hardware for my career. Fast forward to today, I've been writing commercial software for the last 40 years and now that I'm retired, I want to pick up where I left off in high school! I even still have my original TI-99/4a.
Don't worry though, I have an alter-ego where I'm using the latest microprocessors, creating things like cloud-connected home automation projects or safe cracking gadgets.
I'll see where the wind takes me on the Z80 computer, I might 'cave' when I get to more of the sub-systems.
 

Thread Starter

JohnKoz

Joined Dec 14, 2016
9
Somewhere in a box of old junk, I have a PCB I did 40 years ago. Z80, and an IC that probably only exists in my "old parts" box. There was a video IC that had two 80x8 shift registers. One SR would be loaded with the 80 characters for the rows below. The other SR would cycle 10 times sending data out to the character generator ROM.
I needed to load the SR fast. I used 40 stack pops to load 40 bytes. Every pop brings two bytes onto the bus where the video IC reads them. There was not a loop but 40 pops in a row.
---edited----
8275 Here is the link to the IC I used. I did not use the DMA controller to save money and parts. I used an interrupt and loaded the buffer in software using pops.
View attachment 362381
I started with a design I liked from Jerry Walker's book, Designing a Z80 Computer. There shares a SRAM with the CPU and pumps the characters directly to the shift register (no code). Actually, my test code loads the video SRAM with HELLO WORLD and halts the CPU, so I can work on the video circuit independently. There he used an ADM-3A, which had a much lower scan frequency. I couldn't get one (and have money left over for the project) so I went with a Televideo 990.
You mentioned 40 years ago...you did what I never got to do then, see my other post.
 

ronsimpson

Joined Oct 7, 2019
4,645
Jerry Walker's book
That link does not work for me.
I got rid of most of my S100 CPM Z80 things. I do have a Z180 CPM board from Circuit Celler. It has video out, hard drive and floppy. I think I saw it in the box "first home automation". It used VRAM which is a special dual port dynamic RAM I used on many projects.
 

MrChips

Joined Oct 2, 2009
34,626
My journey with computers began long before the arrival of microprocessors.
It began with programming in Fortran and ASM on a CDC6400 mainframe using punched card input. Then I got hooked with ASM programming on DEC PDP-8/S and PDP-15, DG NOVA 2 minicomputers.

We programmed our first UVEPROMs for RCA 1802 entirely by hand. There were no assemblers then.
Then we ventured into MC6800, 6802, 6809, 68000, 68008, 6502, 6805, MC68HC11, etc.

First usable personal workstation would have been a S100 CPM Z80, in the sense that a lot of clerical work was done with WordStar. My favorite task was writing a soft ball player positions program in APL. The S100 was also useful for programming UVEPROMs.

I still have a Lear Siegler ADM-3A. I never kept the S100, wish I did, but still have the RCA COSMAC 1802 dev kit. I was in the process of developing a computer with CRT display and floppy disc drives based on the 6809. But then the Apple Mac was launched in 1984. That killed my 6809 project.

Sure, there is a lot of nostalgia but when it comes to being productive and efficient, you have to bite the bullet and don't look back. rPi and ESP32 are very useful platforms but I prefer the bare bones approach with STM32.

I like to use something like this STM32F469I-DISCO if I need a built-in display.

1769007539281.png

Now I am developing apps on Android tablets. I still have to go back and finish my bluetooth DSO project.
 

Thread Starter

JohnKoz

Joined Dec 14, 2016
9
That link does not work for me.
I got rid of most of my S100 CPM Z80 things. I do have a Z180 CPM board from Circuit Celler. It has video out, hard drive and floppy. I think I saw it in the box "first home automation". It used VRAM which is a special dual port dynamic RAM I used on many projects.
Nice, I hope I can get to more of the cooler projects before my brain gives out. ;)My biggest obstacle is a need; I have trouble building something without a purpose.
Sorry, fixed the link: Design a Z80 Computer by J. S. Walker Unfortunately, it doesn't look like there's an edit function.
 
Top