Bruce Tomlin
Experienced Member
The recent talk about lowercase on a TRS-80 reminded me to finally document something I did back in the day.
There were multiple versions of the MCM6670 character generator chip used by Tandy. Some of them had "squashed" lowercase that stayed in the 5x8 matrix. But some of them had descenders that would look perfect if lowered by two pixels. I think there also one with an extra copy of uppercase in the 00-1F range because of the way the video worked. As far as I know, all of the character generator chips were custom in having the arrow characters at 5B-5D, but Tandy didn't care about the other characters until people wanted lowercase.
My specific chargen chip is marked "3108001", which is the Tandy part number listed in the Technical Reference Handbook. Its date code is 7806. I don't know if a different part number was used for other revisions. It has the standard MCM6670 data sheet character set except for the arrows.
This is the outboard mod that I made which moves descenders down by two pixels. I'm pretty sure that originally it was just the first two boards, then I had a need for the third board. I really have no idea why I needed it. It seems to specifically switch between character code 01 and 03 under certain conditions on certain scan lines.
The basic idea is to first detect the descender character codes with U3/U4, then subtract two from the scan line address with U2. I did the detection with a demux/mux (and a few diodes for a fake gate), and the subtraction with a 7483 full-adder chip hard-wired to add either 0000 or 1110. Adding 14 (1110) is a 4-bit two's complement negative 2. Adding negative two is like subtracting two. And for what it's worth, that adder chip always ran warm to the touch.
The seven characters that need lowering are:
I see 8 connections between U3 and U4, so I probably also added the underline to that set.
After a few years it was starting to get a little bit unreliable being on a solderless breadboard, so I made this more permanent version. It was lighter too, so even less chance of an "accident".
I spent all day tracing it out, and here is the schematic that I got from it.
There were multiple versions of the MCM6670 character generator chip used by Tandy. Some of them had "squashed" lowercase that stayed in the 5x8 matrix. But some of them had descenders that would look perfect if lowered by two pixels. I think there also one with an extra copy of uppercase in the 00-1F range because of the way the video worked. As far as I know, all of the character generator chips were custom in having the arrow characters at 5B-5D, but Tandy didn't care about the other characters until people wanted lowercase.
My specific chargen chip is marked "3108001", which is the Tandy part number listed in the Technical Reference Handbook. Its date code is 7806. I don't know if a different part number was used for other revisions. It has the standard MCM6670 data sheet character set except for the arrows.
This is the outboard mod that I made which moves descenders down by two pixels. I'm pretty sure that originally it was just the first two boards, then I had a need for the third board. I really have no idea why I needed it. It seems to specifically switch between character code 01 and 03 under certain conditions on certain scan lines.
The basic idea is to first detect the descender character codes with U3/U4, then subtract two from the scan line address with U2. I did the detection with a demux/mux (and a few diodes for a fake gate), and the subtraction with a 7483 full-adder chip hard-wired to add either 0000 or 1110. Adding 14 (1110) is a 4-bit two's complement negative 2. Adding negative two is like subtracting two. And for what it's worth, that adder chip always ran warm to the touch.
The seven characters that need lowering are:
Code:
, ; g j p q y
After a few years it was starting to get a little bit unreliable being on a solderless breadboard, so I made this more permanent version. It was lighter too, so even less chance of an "accident".
I spent all day tracing it out, and here is the schematic that I got from it.