TRS-80 Model 4P

Perpetual_Neophyte

15 May 2019, 07:24

I'm looking to adapt a keyboard from a TRS-80 4P to USB. As near as I can tell, there are no purchasable adapters to accomplish this, so I'll have to program a small microcontroller like a teensy or arduino to handle it.

Image

There is very little information available on the TRS-80 4P keyboard. Fortunately, the technical reference manual is available at http://www.classiccmp.org/dunfield/trs80/m4tech.pdf. It specifies an 8x8 key matrix and describes how the original controller functioned. The keyboard itself has a 16-pin connector and no ICs, so I believe the keyboard cable carries a parallel key matrix signal and the controller resides on the motherboard.

Image

Additionally, the case has analog brightness and contrast controls, so whatever I use as a keyboard controller has to be able to handle analog inputs.

If I'm right, I should be able to just connect the pins on the keyboard cable/case controls to some kind of microcontroller what can send the proper USB commands to the system. Suppose I'll have to trial and error the pinout, though.
Last edited by Perpetual_Neophyte on 15 May 2019, 15:44, edited 1 time in total.

User avatar
User101

15 May 2019, 09:41

:shock: what are you going to do with the System?

Anakey

15 May 2019, 09:50

seems very easy to do you just need to map out the matrix, then you can probably even do an internal conversion if there is space inside for a teensy or a pro micro. QMK has support for rotary encoders so you could even use the existing ones for volume or mouse cursor etc.

Findecanor

15 May 2019, 12:23

Perpetual_Neophyte wrote:
15 May 2019, 07:24
The keyboard itself has a 20-pin connector and no ICs, so I believe the keyboard cable carries a parallel key matrix signal and the controller resides on the motherboard.
On page 7 in the manual you linked, it says that it was scanned by the CPU.

All other 8-bit computers did likewise, AFAIK.
The Commodore SX64 and C128D did also have fat keyboard cables carrying the matrix.

Perpetual_Neophyte

15 May 2019, 15:39

User101 wrote:
15 May 2019, 09:41
:shock: what are you going to do with the System?
It's getting upgraded to modern components - the original CRT is cracked and the motherboard is fried. I doubt it's reparable without cannibalizing another one. I've had it for a long time, used to do my budget in Visicalc on this thing back in high school. But, it didn't get stored well over the years and when I picked it up from my parents last year and tried to boot it up it was toasted.

So for now the plan is to just to update it and get it running with modernized guts. I've got most of it figured out, I think, but the keyboard/front panel controls are the last piece of the puzzle.
Anakey wrote:
15 May 2019, 09:50
seems very easy to do you just need to map out the matrix, then you can probably even do an internal conversion if there is space inside for a teensy or a pro micro. QMK has support for rotary encoders so you could even use the existing ones for volume or mouse cursor etc.
I hope so. I'll check out QMK - that may be just what I'm looking for.

User avatar
User101

15 May 2019, 18:28

Perpetual_Neophyte wrote:
15 May 2019, 15:39
User101 wrote:
15 May 2019, 09:41
:shock: what are you going to do with the System?
It's getting upgraded to modern components - the original CRT is cracked and the motherboard is fried. I doubt it's reparable without cannibalizing another one. I've had it for a long time, used to do my budget in Visicalc on this thing back in high school. But, it didn't get stored well over the years and when I picked it up from my parents last year and tried to boot it up it was toasted.

So for now the plan is to just to update it and get it running with modernized guts. I've got most of it figured out, I think, but the keyboard/front panel controls are the last piece of the puzzle.
Anakey wrote:
15 May 2019, 09:50
seems very easy to do you just need to map out the matrix, then you can probably even do an internal conversion if there is space inside for a teensy or a pro micro. QMK has support for rotary encoders so you could even use the existing ones for volume or mouse cursor etc.
I hope so. I'll check out QMK - that may be just what I'm looking for.
Sounds pretty cool, so just a modern computer with retro look?

Perpetual_Neophyte

16 May 2019, 04:20

User101 wrote:
15 May 2019, 18:28
Sounds pretty cool, so just a modern computer with retro look?
Most of my systems are ships of Theseus anyway so I gave up trying to figure out what counts as a different computer a long time ago. You should see my desktop - it's an IBM Aptiva that originally rocked a Pentium II that's been consistently upgraded and kept in use since it was new.

User avatar
User101

16 May 2019, 09:53

Perpetual_Neophyte wrote:
16 May 2019, 04:20
User101 wrote:
15 May 2019, 18:28
Sounds pretty cool, so just a modern computer with retro look?
Most of my systems are ships of Theseus anyway so I gave up trying to figure out what counts as a different computer a long time ago. You should see my desktop - it's an IBM Aptiva that originally rocked a Pentium II that's been consistently upgraded and kept in use since it was new.
RAD!!!

Perpetual_Neophyte

17 May 2019, 05:55

Findecanor wrote:
15 May 2019, 12:23
Perpetual_Neophyte wrote:
15 May 2019, 07:24
The keyboard itself has a 20-pin connector and no ICs, so I believe the keyboard cable carries a parallel key matrix signal and the controller resides on the motherboard.
On page 7 in the manual you linked, it says that it was scanned by the CPU.

All other 8-bit computers did likewise, AFAIK.
The Commodore SX64 and C128D did also have fat keyboard cables carrying the matrix.
It's a 16-pin connector, mea culpa. I've edited the original post appropriately.

The CPU does do the scanning, but what I'm unsure about is the chips at U56-58 and resistor pack RP2. Do I need to replicate that or can I just hook all 16 pins directly to a microcontroller and handle it in software?

I apologize for my ignorance at this low of a level - my career's been in IT infrastructure engineering and administration, so I'm flying a bit blind here. It's been since college that I've really written much code and I got a C.

Anakey

17 May 2019, 09:13

you will be ok just hooking the 16 pins to the controller no need for other circuitry

Post Reply

Return to “Workshop”