I work for a conservation organization of old computer equipment as a volunteer
I have to create an interface between the ASR33 and a computer to facilitate the task instead of typing on the teletype, we can just send text with the computer.
I made a 20ma adapter to RRS232, after I make the connections well and everything.
I opened hyperterminal but I can not configure for communication to work well with the ASR33.
I work for a conservation organization of old computer equipment as a volunteer
I have to create an interface between the ASR33 and a computer to facilitate the task instead of typing on the teletype, we can just send text with the computer.
I made a 20ma adapter to RRS232, after I make the connections well and everything.
I opened hyperterminal but I can not configure for communication to work well with the ASR33.
Do you have an idea for that?
excuse for my english, i have a average level .
Thanks u
First, are you sure the ASR33 does not already have a RS-232 input?
Second, have you looked at the output signal of your adapter with an oscilloscope to see if it really is sending on the 20ma current loop?
Third, do you have the PC baud rate set to 110?
Fourth, when the keyboard and printer are patched together, does the printer work and print what you typed?
Fifth, have you measured the 20ma current loop and are really getting 20ma or close to it?
Converting the 20ma current loop to RS232 is the correct way to go. If you have done that correctly, you can do a simple loop back test by tying pins 2 and 3 together of the db9 RS232 connector.
When that is done correctly, you should be able to type on the ASR33 keyboard and see what you type on the printer.
If you cannot do that, you will never get it to communicate with your PC.
Since you mentioned hyperterminal, I assume you would like to communicate with your ASR using a PC.
Windows still supports 110 baud, which is the speed of the ASR.
Not all USB to Serial Converters will work with this process. Some USB to Serial converters only output TTL and many will not go 110 Baud.
The ASR33 needs 110 N82 no parity 8 bits 2 stop bits.
Most newer PCs do not have built in serial ports and you will need to find a USB to RS232 converter that can go 110 baud. They are out there but maybe not the $4 units you find on EBAY.
Somewhere on this forum, I remember seeing a discussion about which adapters might work.
I am not going to say "The ASR33 needs 110 N82 no parity 8 bits 2 stop bits." won't work, but I had to Google the ASR33 since I scrapped mine sometime after 1986.
The specs I found says the data is 7-bit ASCII and uppercase letters only.
I had mine on my SYM-1 single board computer. Worked perfectly.
That's my experiment in the above youtube. Here is the code.
/* Arduino Forum assisted ASR33 Demo
ASR33 Teletype is 110 Baud N82. The ASR doesn't care if it gets lower case,
it will always print upper case.
*/
const uint8_t typeLed = 16; //typeLed just flashed when typing
const uint8_t rtty1 = 10; // rtty1 is the serial output and is output 10
void setup() {
pinMode (rtty1, OUTPUT);
pinMode (typeLed, OUTPUT);
RXLED0; // Turn off RXLED
TXLED0; // Turn off TXLED
pinMode (typeLed, LOW);
delay (300);
}
void loop() {
rtty_txstring("\n"); // \n = LF \r = CR \a = bell
rtty_txstring( "THE QUICK BROWN FOX JUMPED OVER THE LAZY DOGS BACK 123456789 \r\n\a" ); //Text to Print
TXLED1;
delay(300); // Pause to allow for Carriage Return.
TXLED0;
rtty_txstring( "NOW is THE time FOR all GOOD men TO come TO the AID of THEIR Country \r\n\a\a" );//Text to Print
RXLED1;
delay(300); // Pause to allow for Carriage Return.
RXLED0;
rtty_txstring( "ABCDEFGHIJKLMNOPQRSTUVWXYZ 1234567890 !@#$%^&*() -= _+ ;' : <> <>/? \r\n\a\a\a" );//Text to Print
RXLED1;
delay(300); // Pause to allow for Carriage Return.
RXLED0;
}
void rtty_txbyte (char c) {
rtty_txbit (0); // Start bit
for (byte i = 0; i < 8; i++) //8 bits in char (byte).
{
rtty_txbit(c & 1);
c = c >> 1;
}
rtty_txbit (1); // Stop bit 1
rtty_txbit (1); // Stop bit 2 - Teletype needs 2 stop bits
digitalWrite(typeLed, !digitalRead(typeLed));
}
void rtty_txbit (byte bit) {
digitalWrite(rtty1, bit);
delayMicroseconds(9090); //9.09 ms is the bit speed for 110 Baud
}
void rtty_txstring (char *string) // *variable is a pointer to the variable
{
/* Simple function to send a char at a time to
** rtty_txbyte function.
** Each char is one byte (8 Bits)
*/
char c;
c = *string++;
while ( c != '\0') // \0 denotes end of string
{
rtty_txbyte (c);
c = *string++; //move to c to next char of string
}
}
The big issue with the ASR is that it runs 110 baud. Many computers are no longer supporting 110. That is why we bit bashed the above example.
I have the complete manuals... Buried within is the description of the data format. In those days, they didn't have anything but 50baud (maybe it was 55) and 110). Remember these are mechanical UARTS.
In the manual it describes the data word:
6.01 (section of the manual)
Speed ..... 100 words per minute
600 operations per minute
6.02 (section of the manual)
Transmission Code - 8 Level StartStop
Signals With 11 Unit Transmission
Pattern:
Start pulse
Intelligence pulses
Stop pulses ....
· 1 unit of time
· 8 units of time
· 2 units of time
11-unit code
The mechanical "UART" uses the wait time of what we call 2 stop bits so the ASR knows another byte is coming.
10 characters per second.... 11 events 1 start, 8 data, 2 stop... 110 baud instead of 100 baud.
It will communicate with an old PC that has a built in serial port (remember those) and is running older versions of windows. You may have trouble with Windows 8 and above. I have not tried them.
As with the Arduino, any data rate that can be evenly made from all the other standard data rates: 300, 9600, etc. has easily been maintained in the OS. Unfortunately 110 does not fit that standard.
My current project is to try to get the ASR33 to once again operate as a Terminal on a Linux machine. All the recent versions no longer support 110 and all the upper and lower case nonsense. We keep loading older and older versions but still having trouble.
If you just want to demo your ASR33, I would suggest an old version of windows on an old PC with a hardware serial port built on the motherboard. I have made that work but its not good enough to play ADVENTURE or HANGMAN. That's my goal.
That's my 2 cents... I have been working on this with a buddy of mine for several months and still we are not quite there. We did it about 10 years ago but that computer died and would never start up again.
I can still remember when CBS news came on the B & W TV to the sound of a teletype clacking away in the background, printing out the news straight off "the wire".
Wikipedia says "The Model 33 used the seven-bit upper-case only ASCII code, also known as CCITT International Telegraphic Alphabet No. 5, with one (even) parity bit and two stop bits. " which would be 7E2 instead of 8N2.