• Please review our updated Terms and Rules here

T-11 experimenting

saipan59

Experienced Member
Joined
Dec 27, 2010
Messages
259
Location
Colorado Springs
Some of you may recall that 5 years ago I made a PCB for a minimal T-11 system in "8-bit static" mode. This thread discussed it:
http://www.vcfed.org/forum/showthread.php?47569-T11-clock-running-Forth&p=369704#post369704
And you may recall that there was an 'issue' related to the MC6850 UART that I chose to use. It was some sort of timing/bus loading issue, but I never really figured it out. It "worked" when I did NOT use a 74LS part on the data bus for GPIO, but rather used a 74HCT part.
The prototype was a wire-wrap board which I still have.
This week, I started working on making two changes to the wire-wrap "development system":
1) Replace the MC6850 with an AY3-1015D, to make everything "proper" on the data bus. (Note that the AY3-1015D, AY5-1013, and 6402 (aka 64S004B) are used in various DEC boards, and they're all roughly the same part). Also adding enough logic to implement the CSR bits for "Rcvr Ready" and "Xmtr Done". Adding other CSR bits is easy, but I don't need them at the moment.
2) Change the addressing so that the UART is at 176500 (the common console port address), instead of 160000.

These changes will get me very close to having the same Forth code image that runs on my LSI-11 + MXV11 Qbus setup.
Here are pics of the board. The ugly wire-wrapping could be called a "rat's nest", or we could just call it "distributed reactance" and say it is a "feature" ;-) .
The new UART is just below and to the left of the blue ZIF socket (for the EEPROM). The T-11 is above and to the left of the ZIF. The 3 rows of chips on the bottom are a separate system - it is a simple ASCII terminal, running an MC68701, with a 2-line 40-column LCD display at the very bottom.

Pete
20200318_121232.jpg
20200318_121211.jpg
 
If you need to think about UARTs in the future, you may want to consider the Signetics 2651 (and clones and improvements (e.g. 2661)). Has an BRG and does sync as well as async. Easy to program and interface to--and perfectly period-correct. One of the highlights of the now-obscure 2650 MPU family.
 
If you need to think about UARTs in the future, you may want to consider the Signetics 2651 (and clones and improvements (e.g. 2661)). Has an BRG and does sync as well as async. Easy to program and interface to--and perfectly period-correct. One of the highlights of the now-obscure 2650 MPU family.

Thanks Chuck! Yes, I did consider it, and I have a couple of them. They are in a 24-pin package, which is nice, but require more glue logic to implement the basic "DLV11" behaviors. The Intel 8251A is a similar option, and DEC used one on the T-11 Eval Board. The T-11 manual explains the details of using the 2651 in section 5.9.2.
My AY3 implementation (not tested yet!) requires only an LS32 and LS125 to make it go, and it should behave just like a DLV11.

Pete
 
A setback:
Adding the extra wires to support the new (old) UART has made the MC6850 more flakey, which makes it real hard to patch the code image to support the new UART. I was planning to run with the 6850 while I got the new UART checked out, but the new wiring has made it "barely working", and as soon as the AY3 chip is plugged in, the console becomes completely unusable.

So, I'm going to build a basic EEPROM reader/writer tool using a T.I. MCU eval board. Then I can edit code and burn it to an EEPROM from my PC via a USB cable, then move the EE chip to the T-11 board to test.
The EEPROM is 5V, and the MCU is 3.3V, but I'll put clamp diodes on the data bus lines, and I suspect everything will work. The logic-1 output current of the EE is quite low, and the minimum Vih is 2V, so it should be OK.

Pete
 
I always wanted to make a SBC using the DCT11, but they are too expensive (at the moment more expensive than a DCJ11), does anybody know a source with reasonable prices?
 
The EEPROM burner is working. The HW is mostly just wires. I added a circuit to allow controlling the 5V power via FW, and an LED to show when the power is actually on.
It reads an 8KB EE in about 3 seconds. Writing takes about 80-90 seconds. It could go faster, but some EE chips have a significantly longer write-time.
This particular MCU board includes a micro-SD slot, which could be handy for storing code images. But the MCU chip itself has 256KB of non-volatile FRAM, so a lot of stuff could be stored there also.
Now I need to setup a PC app for moving code images on and off the MCU board via USB (or, that could be done by moving a uSD card back and forth).

I always wanted to make a SBC using the DCT11, but they are too expensive (at the moment more expensive than a DCJ11), does anybody know a source with reasonable prices?

I got mine by stealing from RQDX's and VT-240's years ago.

Pete
burn1.jpg
burn2.jpg
 
I'd rather use one of my DCJ11 that are laying around than stealing the only T11 I have from my RQDX3. I need that one as my only Floppy Controller. I was thinking of building a Q-Bus board with one of my DJC11 that can be used as CPU for a system and as an SBC.
 
Project Update:
Everything works!! The AY3-1015D is now the console UART, and it's up and running Forth.
The EEPROM burner side-project was essential. It works fine for basic reading and writing chips, but I want to add some more features to it (such as a stand-alone "Copy Chip" function, that doesn't require a PC USB connection). I may also look into adding support for old-fashioned UV-erase EPROMs, such as a 2716. I think I still have a bunch, and I also have 'Mineralight' shortwave UV lamp for erasing.

A couple of "interesting" debug challenges:
1) I "learned" that if you wire the data bus bits backwards on the UART chip, then the serial bits come out backwards! Doh! :) Meanwhile, if you use characters like "A" and "B" in the test code, and look at the serial signal on a scope, the A and B look remarkably similar either backwards or forwards. This causes a lot of hair-pulling, because the serial signal looks "perfect", but the receiving terminal is displaying the wrong chars. I spent the last 2 days of "stay at home" struggling with this.
2) After item 1 was fixed, the next issue was that the Forth startup string was coming out as "FGFRH" (it should be FIG-FORTH). Every 2nd char was missing.
In the original code, the line that writes a char to the UART was this:
MOV (S)+,@#177566
But with the T-11 in Byte mode, a MOV causes two separate byte-sized writes. In addition, the T-11 precedes ALL writes with a Read. To keep the HW glue logic simpler, I changed the above line to this:
MOVB (S)+,@#177566
This makes the T-11 do only a single Write operation, which is good. But I overlooked that the post-increment (S)+ does a *byte-increment* with a MOVB, rather than a word-increment. Whoops!
So, the fix (without changing the HW) was to do this:
MOV (S)+,R1
MOVB R1,@#177566

Pete
 
Dug out a copy of "Semiconductor Databook", published by the Hudson semiconductor group in 1986.
In the description of the T-11, it says that there are two versions: one for 7.5 MHz, one for 10 MHz.
I had no idea.
Apparently the 10 MHz was used in the Atari System 2. Notes on Atari sites say that it is 21-17311-02 (instead of -01 for the 7.5 MHz T-11). AKA "DCT11-XA".

Does anyone know if this version was used anywhere else?

Pete
 
I had never heard of the 10 MHz part - I wonder if they were just selected from the normal production run.
 
Back
Top