Author Topic: discrete CRT character vector generator? Maybe Tek style?  (Read 8741 times)

0 Members and 1 Guest are viewing this topic.

Offline MartinnTopic starter

  • Frequent Contributor
  • **
  • Posts: 328
  • Country: ch
discrete CRT character vector generator? Maybe Tek style?
« on: January 29, 2023, 04:08:54 pm »
Hi all,
for my discrete CPU idea which is simmering on low fire I still need a display and a CRT would fit perfectly (I even have an almost working scope clock design, so CRT control is done).
But how do you generate text on a CRT using discrete components only (not using VHDL/FPGA or a microcontroller, which would be the trivial option)?

Two designs from the relevant era (around 1965?) come to mind:
The CDC 6600 is a discrete supercomputer with vector CRT display. Schematic is in here http://www.bitsavers.org/pdf/cdc/cyber/cyber_70/fieldEngr/60125000C_6602_6603_6622_6681_6682_Data_Channel_Diagrams_Dec65.pdf starting from page 5.
Not sure about the IBM System/360, which was also fully discrete.

And (probably more known on this part of the forum) there is the Tektronix 7000 series readout. It is described here https://w140.com/tekwiki/wiki/7000_series_readout_system
with the key component being an analog ROM (designed by Barry Gilbert), schematic https://w140.com/tekwiki/images/d/d9/Tek_155-0023-00_155-0024-00_155-0025-00_155-0026-00_155-0027-00.pdf
I find this quite elegant as it solves both the coordinate storage and the transition or vector generation - fully analog (the LeCroy orange CRT scopes used analog integrators for vector generation, but the rest was fully digital (68000 IIRC)).

Unfortunately I have neither a supercomputer design budget (or team) nor access to a foundry making full custom chip designs. What I do have (and Seymour Cray or Barry Gilbert didn't have) is the JLCPCB assembly service, which let's me order a PCBA with a few thousand SMT components without going bankrupt. Unfortunately chip design specials as for example Gilbert's multi emitter transistors (mask programmed) for the analog character ROMs are not easily replicated with discrete components (I'll give that a try though).

Any other idea how I could tackle character generation?

As a side note: Looking back, in these times (1960s) there seemed to be many "celebrity" designers - Shockley, Gilbert, Wilson, Cray, Widlar... If I would have to name a famous designer of the past few decades, I would not know a single one. Are there none or do I just not know them? Maybe today's technology has gotten that complex that no single genius could achieve something worth mentioning (thing of the monstrously complex EUV steppers)?

- Martin
 

Offline cantata.tech

  • Regular Contributor
  • *
  • Posts: 75
  • Country: au
Re: discrete CRT character vector generator? Maybe Tek style?
« Reply #1 on: January 29, 2023, 04:21:41 pm »
Any other idea how I could tackle character generation?

In software ?

Have a character output buffer, [w,h,c] (width * height * sizeof(colorinf)) and a font table.

Generate scan lines by reading the buffer and working out the bit pattern for each character then buffer line.

Send that to the next output stage.

I have the cutest Sony TV 501 from the 1970's that I bought in Japan that would love something like this so I'm keeping an eye on this thread.
 

Offline MartinnTopic starter

  • Frequent Contributor
  • **
  • Posts: 328
  • Country: ch
Re: discrete CRT character vector generator? Maybe Tek style?
« Reply #2 on: January 29, 2023, 04:27:55 pm »
In software ?
Of course, this would be easy. But as I wrote the question was
But how do you generate text on a CRT using discrete components only (not using VHDL/FPGA or a microcontroller, which would be the trivial option)?
 

Offline cantata.tech

  • Regular Contributor
  • *
  • Posts: 75
  • Country: au
Re: discrete CRT character vector generator? Maybe Tek style?
« Reply #3 on: January 29, 2023, 04:52:13 pm »
In software ?
Of course, this would be easy. But as I wrote the question was
But how do you generate text on a CRT using discrete components only (not using VHDL/FPGA or a microcontroller, which would be the trivial option)?

Use 74* series discrete components https://en.wikipedia.org/wiki/7400-series_integrated_circuits , but the process that I described would most likely be the same.

If you have some plan to do something that isn't based on any digital components and uses analog only then of course that will be interesting to hear about.
« Last Edit: January 29, 2023, 04:58:09 pm by cantata.tech »
 

Offline MartinnTopic starter

  • Frequent Contributor
  • **
  • Posts: 328
  • Country: ch
Re: discrete CRT character vector generator? Maybe Tek style?
« Reply #4 on: January 29, 2023, 05:00:27 pm »
Use 74* series discrete components, but the process that I described would most likely be the same.
Discrete means transistors, resistors, capacitors, inductors. 74xx are integrated circuits - the opposite of "discrete"

If you have some plan to do something that isn't based on any digital components then I'm happy to listen to your plan.
This formulation is a little vague.
CDC 6600 or System/360 were supercomputers (=digital) built from individual transistors (or hybrids in the IBM case).

But have a look at the 7000 readout (linked above) - although it uses a lot of integrated circuits, core concepts like the analog ROM are fully analog.

The reason why I am looking at a discrete design ist just for the challenge - as I wrote it would be simple and straightforward to do this an a microcontroller (just go through a display list via IRQ) or FPGA (which would be more fun).
 

Offline ale500

  • Frequent Contributor
  • **
  • Posts: 415
Re: discrete CRT character vector generator? Maybe Tek style?
« Reply #5 on: January 29, 2023, 05:52:14 pm »
The HP9100 doesn't use integrated circuits and has a CRT for numeric display. More limited than an 80x25 text display but may give you some ideas. I have seen in hackaday.io a project with transistorized drive of a display,... but trying to remember ... I am not very sure anymore it really had a display I may be mixing two projects...
 

Offline mariush

  • Super Contributor
  • ***
  • Posts: 5144
  • Country: ro
  • .
Re: discrete CRT character vector generator? Maybe Tek style?
« Reply #6 on: January 29, 2023, 06:05:25 pm »
If you use 7-8 pixel wide characters, then maybe you could resort to EPROM memory chips, and counters and dual port sram for the character buffer ... kinda like Ben Eater did his vga controller.
 

Offline BrianHG

  • Super Contributor
  • ***
  • Posts: 8152
  • Country: ca
    • LinkedIn
Re: discrete CRT character vector generator? Maybe Tek style?
« Reply #7 on: January 29, 2023, 06:08:43 pm »
Eproms are not discrete...  Might as well use a 8bit PIC if you are going to an eprom.

This is discrete (The score board is an character generated by transistors and diodes...):
https://www.eevblog.com/forum/projects/oscilloscope-pong-for-1-or-2-players/msg1406029/#msg1406029
 

Offline Tomorokoshi

  • Super Contributor
  • ***
  • Posts: 1212
  • Country: us
 
The following users thanked this post: Alex Eisenhut, BrianHG, srb1954

Offline Alex Eisenhut

  • Super Contributor
  • ***
  • Posts: 3509
  • Country: ca
  • Place text here.
Re: discrete CRT character vector generator? Maybe Tek style?
« Reply #9 on: January 29, 2023, 06:32:51 pm »
Here are a couple links that might be interesting:

https://www.eevblog.com/forum/projects/designed-a-cro-in-spice/

https://www.glensstuff.com/fouriersynthchargen/fouriersynthchargen.htm

Oh man that's so cool. I was trying to remember that Fourier thing and that link you posted will be great to  read!
Hoarder of 8-bit Commodore relics and 1960s Tektronix 500-series stuff. Unconventional interior decorator.
 

Offline wasedadoc

  • Super Contributor
  • ***
  • Posts: 1665
  • Country: gb
Re: discrete CRT character vector generator? Maybe Tek style?
« Reply #10 on: January 29, 2023, 06:37:01 pm »
Any other idea how I could tackle character generation?

In software ?

Have a character output buffer, [w,h,c] (width * height * sizeof(colorinf)) and a font table.

Generate scan lines by reading the buffer and working out the bit pattern for each character then buffer line.

Send that to the next output stage.
In my book that is raster graphics, not vector graphics.
 


Offline cantata.tech

  • Regular Contributor
  • *
  • Posts: 75
  • Country: au
Re: discrete CRT character vector generator? Maybe Tek style?
« Reply #12 on: January 29, 2023, 08:44:05 pm »
In my book that is raster graphics, not vector graphics.

Yes or no. For it to be vector graphics the characters would need to be stored as vectors. Like on the early NEC 7220s (μPD7220) which stored characters as vectors which was neccessary for Kanji. In any case it was an IC and not discrete components.

Because of my lack of knowledge on analog components, there's not much further I can assist with this. Analog computers were well before my Career in computing started. Good luck.
 

Offline wasedadoc

  • Super Contributor
  • ***
  • Posts: 1665
  • Country: gb
Re: discrete CRT character vector generator? Maybe Tek style?
« Reply #13 on: January 29, 2023, 09:50:58 pm »
In my book that is raster graphics, not vector graphics.

Yes or no. For it to be vector graphics the characters would need to be stored as vectors. Like on the early NEC 7220s (μPD7220) which stored characters as vectors which was neccessary for Kanji. In any case it was an IC and not discrete components.

Because of my lack of knowledge on analog components, there's not much further I can assist with this. Analog computers were well before my Career in computing started. Good luck.
My opinion is that "vector" refers to the way things are drawn on the screen. Like a pen plotter draws on paper.  Compared to a dot matrix printer which is "raster".
 

Offline cantata.tech

  • Regular Contributor
  • *
  • Posts: 75
  • Country: au
Re: discrete CRT character vector generator? Maybe Tek style?
« Reply #14 on: January 30, 2023, 05:26:23 am »
My opinion is that "vector" refers to the way things are drawn on the screen. Like a pen plotter draws on paper.  Compared to a dot matrix printer which is "raster".

Yes I understand that. But you may not be aware that characters can easily be stored as vectors.

In modern computing, one example would exist in SVG or 'Scaleable Vector Graphics'

You may wish to look at this longer description which includes the picture I've added to the post.

https://www.codeproject.com/Articles/5262594/Text-to-SVG-Path-Utility-in-Uplusplus

Maybe a set of resistors/diodes with a resistance for each vector position ?  or easier, a sequence of potentiometers for each character.

Now I don't know any easy way to store these vectors in an analog circuit except for having a resistor/diode pair for [x,y] of each point. And then cycling through that 'line' to get the vector drawn.

That would be one line for X, and one line for Y. So you need two lines of resistors/diodes for each point in the character vector map. If you can get your characters to have an average of 6 points that's a total of 12 wires with resistors or diodes per character in the map.

If you assume 26 characters with 4 punctuations then that's hypothetically 30x12 = 360 wires for something useable. You could start with just 5 characters of 12 wires which would only be 60 in total.

You could use the PCB making service to make a pcb for every character that you need in your sequence. That would surely save some time.

Let's wait and see what unfolds.
« Last Edit: January 30, 2023, 05:55:02 am by cantata.tech »
 

Online Ian.M

  • Super Contributor
  • ***
  • Posts: 13135
Re: discrete CRT character vector generator? Maybe Tek style?
« Reply #15 on: January 30, 2023, 06:59:16 am »
It rapidly gets *FUGLY* if you try to do it purely in the analog domain, as you'll also need to control the stroke speed, and probably also generate a Z blanking signal to distinguish between drawn strokes and hidden moves.  I reckon that's three resistors and four diodes per stroke,  with an extra diode per character to signal the end of the stroke sequence.   

Building a couple of discrete DACs and using Core rope ROM driven by one-hot ring counters seems like a much saner alternative.

https://en.wikipedia.org/wiki/Core_rope_memory
« Last Edit: January 30, 2023, 07:06:32 am by Ian.M »
 

Offline james_s

  • Super Contributor
  • ***
  • Posts: 21611
  • Country: us
Re: discrete CRT character vector generator? Maybe Tek style?
« Reply #16 on: January 30, 2023, 07:07:22 am »

Yes I understand that. But you may not be aware that characters can easily be stored as vectors.

In modern computing, one example would exist in SVG or 'Scaleable Vector Graphics'


How they're stored is irrelevant. "vector graphics" refers to the way they are drawn on the screen.

I've never seen it done without a microprocessor of some sort. The Atari vector arcade games used a vector generator which was a sort of bespoke CPU built out of discrete TTL logic. The objects on the screen and their location were selected by writing to a vector RAM and then the vector generator would read each object out of ROM and paint it on the CRT. The monitor was inherently vector based, the deflection circuitry being much like an audio amplifier.
 

Online Berni

  • Super Contributor
  • ***
  • Posts: 5031
  • Country: si
Re: discrete CRT character vector generator? Maybe Tek style?
« Reply #17 on: January 30, 2023, 07:25:57 am »
There is also HP test equipment that uses fully digitally controlled vector displays with vector fonts.
I had to repair one of them in this thread:
https://www.eevblog.com/forum/testgear/hp-4145b-semiconductor-analyzer-repair-with-photos-(display-garbage-dead-rom)/

The CRT is actually part of a self contained module called the "HP 1345A Digital Display"


You can get full schematics of it in the service manual. Most of its digital brains contained on a board the size of a A5 sheet and consists mostly of a microprocessor that orchestrates the flow of data from lookup ROMs and RAM out into a ADC that drives the beam around.
 

Offline MartinnTopic starter

  • Frequent Contributor
  • **
  • Posts: 328
  • Country: ch
Re: discrete CRT character vector generator? Maybe Tek style?
« Reply #18 on: January 30, 2023, 06:13:29 pm »
It rapidly gets *FUGLY* if you try to do it purely in the analog domain
No, that was not the idea. I wrote "discrete", not analog. Of course once you are on the discrete level, adding analog tricks (like the analog ROM for the 7000 readout) become possible, in contrast to microcontroller or FPGA programming.

I am looking for some out-of-the-box ideas for character generation - which probably is difficult because these techniques were necessary around 60 years ago and few designers from that era will hang out here. But still some interesting ideas are around:
- Tek 7000 readout
- Fourier synthesis
- CDC 6600 (although this is more conventional)
Unfortunately the HP9100 schematic is difficult to decipher and I also found nothing from IBM.

Discrete also does not mean "no logic": As example here is an 8 bit ALU (6502 style) synthesized from VHDL, around 1400 components (I showed this in the KiCad forum recently). It's just that you can't afford massive constructs.
I think I give Gilbert's analog ROMs a try - set up a simulation and see if it could be reproduced using discrete transistors. From the complexity it would easily be within limits.
 

Offline cantata.tech

  • Regular Contributor
  • *
  • Posts: 75
  • Country: au
Re: discrete CRT character vector generator? Maybe Tek style?
« Reply #19 on: January 30, 2023, 06:30:20 pm »
I am looking for some out-of-the-box ideas for character generation - which probably is difficult because these techniques were necessary around 60 years ago and few designers from that era will hang out here. But still some interesting ideas are around:

Actually, Computers didn't use Vector character generation around 60 years ago. They used punched cards.

You can see how they actually operated in a video such as this -



"Vectors" at that time were simply a location of a punch card hole.  ;D You could research on your own time when the first CRT terminals became available but the first ones I knew to be available in Australia were the DEC PDP-11's and they had CRT terminals - not sure what character generation system they used - that was way later in the '70s.

Edit: I was close - "It seems the first device to use a CRT computer monitor was the U.S. military’s SAGE. Developed in the 1950s, the SAGE had more than 150 display consoles housing a 48-inch-long Vector CRT computer monitor. The first commercial device equipped with a CRT computer monitor was Digital Equipment’s PDP-1 in 1959."

Available on a US Military Base, does not typically mean "Generally available". They tended to keep their Technology quite secret as they do now.
« Last Edit: January 30, 2023, 06:57:24 pm by cantata.tech »
 

Offline MartinnTopic starter

  • Frequent Contributor
  • **
  • Posts: 328
  • Country: ch
Re: discrete CRT character vector generator? Maybe Tek style?
« Reply #20 on: January 30, 2023, 06:41:49 pm »
Actually, Computers didn't use Vector character generation around 60 years ago. They used punched cards.
I think punched cards were primarily input, not output. I would guess they used printers for human readable output.

Actually the CDC 6600 had a vector terminal https://en.wikipedia.org/wiki/CDC_6600
"The first CDC 6600s were delivered in 1965 to Livermore and Los Alamos"
OK you could argue that makes 58 not 60 years, but let's not be picky. See this video https://youtu.be/4Zt03YsMyW4?t=123
 

Offline cantata.tech

  • Regular Contributor
  • *
  • Posts: 75
  • Country: au
Re: discrete CRT character vector generator? Maybe Tek style?
« Reply #21 on: January 30, 2023, 07:03:02 pm »
Actually the CDC 6600 had a vector terminal https://en.wikipedia.org/wiki/CDC_6600
"The first CDC 6600s were delivered in 1965 to Livermore and Los Alamos"

Well there you go. They include a picture too.



Let's guess that what you are planning is going to potentially be that big and have that many wires if you build it with discretes.
 

Offline MartinnTopic starter

  • Frequent Contributor
  • **
  • Posts: 328
  • Country: ch
Re: discrete CRT character vector generator? Maybe Tek style?
« Reply #22 on: January 30, 2023, 07:12:30 pm »
As it turns out the CDC 6600 would not be easy to replicate even with today's discretes: https://cpldcpu.wordpress.com/2020/02/14/what-made-the-cdc6600-fast/
The console manual I linked above does contain the schematics (in CDC's own cryptic style) for the display, so one could probably build the display processor. Still a lot of work though.
 

Offline Benta

  • Super Contributor
  • ***
  • Posts: 6268
  • Country: de
Re: discrete CRT character vector generator? Maybe Tek style?
« Reply #23 on: January 30, 2023, 08:37:03 pm »
Well, taking it from the top down, it amounts to counting and gating/encoding/decoding.
Horizontal scan/deflection (counters).
Vertical ditto (counters).
Generating of sync signals (gating/decoding).
Outputting of video bit stream (character ROM plus shift register).

You can draw this up using standard 74HC logic.
After that, you can break it down into gates and FFs plus an enormous diode array for the character ROM.
And after that, you can construct those using discrete parts.

Lot of work. Have fun
 

Offline james_s

  • Super Contributor
  • ***
  • Posts: 21611
  • Country: us
Re: discrete CRT character vector generator? Maybe Tek style?
« Reply #24 on: January 30, 2023, 08:55:40 pm »
The Cathode Corner scope clock used a discrete design, albeit driven by a microcontroller but it probably wouldn't have to be. It has two sine wave oscillators that are used to draw circles and lines, IIRC there are analog switch ICs that are used to mix the signals as needed. It's been about 20 years since I built mine so I don't remember all the details of the circuit. Surprisingly the original CRT I used is still working though it's pretty dim now after running 24/7 most of the time since I built it.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf