| The GE TDM-114 Data Set. The big toggle switch is my modification so I could turn it off. |
In the fall of 1979, I headed off to Georgia Tech and brought my computer with me to the dorms. My roommate that first quarter wasn't impressed. Nevertheless, I continued to work with the computer and learn new things.
In those days, Georgia Tech used a CDC Cyber 74 system for instruction, and one could dial into the system with a modem. I managed to locate a GE surplus modem for about $40. It was an acoustic coupler modem -- you would dial the phone manually, then jam the handset into the unit. Speakers and microphones would pick up the sounds from the phone line through the handset.
| Rear View of TDM-114. |
| Manual with unit. |
| Schematic |
MP-S
I purchased two MP-S serial ports in early 1980. These boards use the MC6850 Asynchronous Serial Adapter (ACIA). The advantage of the ACIA is it could transmit and receive individual characters without any CPU attention. The big-banging serial port used by the MP-C required the CPU to actively perform all sending and receiving.
The MP-S is really simple, especially after removing the current-loop circuitry, as I've done. I liked this about the design of the SWTPc 6800 Computer Sytem - I/O devices could be added very inexpensively.
One board replaced the MP-C (since I was using SWTBUG by then) and communicated with the CT-64 at 1200 bps. The other used a different slot and was wired for 300 bps. Making them talk to each other was a small matter of software.
The Terminal Program
My initial attempt was a mad polling program in 6800 assembly language. It consisted of a crazy loop that looked for received characters from one port and transmitted them on another, and then did the same thing going the other direction. It even had buffering in each direction. It probably wasn't even 100 bytes long. It worked well.
In the fall of 1980, it occurred to me this could be an interrupt-driven program. This took a bit of doing. You had to configure the proper interrupts and then have an interrupt service routine to determine the cause of the interrupt and service it. Get something wrong, and nothing would happen. This made it much more difficult to debug.
I rose to the challenge and got it to run. I included even larger buffering than in the first program. I had hoped to use the MC6800's WAI (Wait for Interrupt) instruction, but ended up using the idle time to perform buffer housekeeping.
The buffering came in handy. For a while, I had a switch on the CT-64 that would pause reception from the computer. I could run a long listing at 300 bps, flip the switch and read a screenful while the next screen slowly buffered in my computer. flipping the switch again and it would spool on the screen at 1200 bps -- the top speed of the CT-64.
This experience laid the groundwork for my first job -- at Hayes Microcomputer Products, Inc after I graduated from Georgia Tech. I spent nearly twelve years writing much more sophisticated terminal programs.
I recently purchased a TDM-114 Data Set. But instead of a DB connector, it has a connector that consists of 6 flat pins (2 rows of 3). On the left of those pins is a large metal pin. And on the right of the 6 pins, is a large "female" pin, that "might" be ground? Do you have any idea about this connector and it's pinout? I assume those 2 large outer pins supply power? Any idea what voltage DC/AC it requires? Do you know what brand of RS-232 this might support, A/B/C? Or is it some other standard, or proprietary interface?
ReplyDeleteThe odd connector I described (instead of my TDM 114 having a common DB type) is a 202756-1 connector. Does that help identify it's pinout, and the voltages needed?
ReplyDeleteSorry I was Anonymous on my two previous comments, on that odd connector issue. I used my Google acct on this one, so I assume you can reply?
ReplyDeleteI took off the case cover, and mostly figured out the connector pinouts, based on your schematic image.
ReplyDeleteThe odd looking RS-232 connector actually only has 6 pins. The other two large pins at each end are just for indexing a plugged on connector (using a male and a female post).
Fortunately, the wires and jumpers were numbered inside, and apparently match labels on the schematic. So I now know which pins are TXD and RXD. But the confusing part is GND. The SIGNAL GROUND shown on the schematic is not routed to the connector. Instead, the connector has one pin connected to case ground, and another connected to the -12V test point shown in the schematic. Which would be used for the RS-232 signal ground (I assume case ground), and what would the other be used for? I assume the -12V is a logical 1 (in RS-232B speak), and maybe it was to indicate always ready, via DTR? Any idea?
I know the internal power supply produces +12, 0V, and -12V DC. But I have no idea what AC voltage the transformer input expects. 115V AC?? Do you know? The transformer is powered from the two remaining pins on the connector.
Sorry I didn't see your comments earlier. I have never seen another TDM 114 modem, other than the one I own. So the 6 pin connector is quite curious.
ReplyDeleteI would think it is all RS-232C, unless your modem is somehow set up for a 20 mA current loop. Current loop signally was common on old TeleType equipment.
The ground connection ought to be the case ground. RS-232 has signal voltages -12v for Mark and +12v for Space, all centered around the common ground. Signal ground should be connected to the case ground in exactly one place.
The -12v might be for DSR (Data SET Ready) -- kind of the other side DTR. This is a modem, so it would not assert DTR, but DSR.
As for the power supply, I would guess it is 120v AC. My unit came with a standard USA three-prong power cord. Plugged right in.