Stockly.com Forums

Stockly.com Forums (http://www.stockly.com/forums/index.php)
-   Altair 8800 (http://www.stockly.com/forums/forumdisplay.php?f=15)
-   -   Question about wiring rs232 cable for 882SIO board (http://www.stockly.com/forums/showthread.php?t=507)

phe 09-08-2007 09:50 PM

Question about wiring rs232 cable for 882SIO board
 
I'm working onthe 2SIO board and trying to figure out how to wire the molex connector to the 25 DB female connector. I cannot figure out how to match up the pins. In the MITS manual I have, it is supposedly described on pages 28 and 29.

Page 28 describes the molex connector. It refers to pins 1, 2, 3, 4, 7, 8, and 10. I'm guessing that page 29 describes the 25 DB connector (it is not labeled). It refers to pins 2, 3, 4, 3, 8, 20, and 7

The problem is that page 28 shows 2 grounds while page 29 shows only 1, and page 29 shows a DTR on pin 20 and page 28 has no corresponding pin.

Any ideas?
Paul

marty 09-09-2007 01:33 AM

Hi Paul;
I did this awhile back, and ran into the same problem :( Here is what I did, and I got it to work with my PC. Since I am not at my place and am out of town for another week or so. I can only tell you what I did remotely, and with a bad memory, mine , not the computers. I assume for now that you are using your PC with Hyperterminal.
I looked up rs-232 on the WEB, and looked for 9 pin to 25 pin, and used modem half duplex one way and full duplex the other. The full duplex is from the Altair to the Pc and the half duplex is the other way. Since the 2Sio Board doesn't provide a full duplex both ways. I should be something like this -- I am doing this from memory, so I might be wrong. connect the following --
2 (on the 25 pin) to 3 (on a 25 pin) or its equivalent on the 9 pin
3 "" to 2 "" ""
7 "" to 7 "" ""
(and I think the following)
4,5,8 "" to 20 "" ""
20 "" to 4,5,8 "" ""
( I know pins 4 or 5 possibly may not be right)
and on the Pc to the Altair side as you said it doesn't have 'DSR' So it can't be connected. If you need more help, I can look it up on the web and tell you almost for sure which ones to use. Or wait until I get back home and I will see what my machine has wired up.
Thanks Marty :) :) :)

phe 09-09-2007 02:37 AM

Thanks Marty, but I think you answered the question that I would have asked pretty soon. I think you are describing the wiring between the 25 pin connector on the Altair and the 25 or 9 pin connector on my PC. Yep, that would have been a question I would have had to ask. :eek:

But I'm a step before that. I'm trying to figure out the wiring inside the Altair case, between the 10 pin Molex connector that attaches to the 2SIO board and the 25 pin connector that I am going to mount on the back of the Altair case. Give your explanation of what happens outside the case, I may be able to figure out the wiring inside the case. But please do look, when you get home, at that part of the wiring inside the case and let me know what you did there. I’d appreciate it.

It seems that you keep bailing me out, Marty. I sure appreciate it! :D :D I hope to return the favors some day.

Paul

marty 09-09-2007 06:44 AM

Hi Paul;

You are right about the manual pages. :D :D I had to Download it to this computer, ( I have all of these files on my machine at home and my download to this machine came by a slow boat through China.) :(
so yes --
pin 1 on the sio board to pin 5 of the rs-232
2 " 8 "
3 " 4 " ( and 20, I think)
4 or 10 " 7 "
7 " 2 "
8 " 3 "
10 or 4 " 7 "

What I did to first try it out and make sure I was right ,, was to use wirewrap wire and just wrap the wire onto the 2-sio board connection and soldered it to the rs-232 connection on the other side to make sure it works. Before pinning the wire on the 2-sio side. Then bring up Hyperterminal and see IF it works, if not then make modifications. (by slipping wires on and off of the pins on the 2-sio) Hyperterminal will let you know when it is happy with the connection.
THANKS Marty :o :o

Grant Stockly 09-09-2007 08:51 PM

Hey Paul. I took notes when I wired mine. Here are the notes with pictures of my card below.

I THINK I wired both of my ports for RS-232 hardware handshake but did not connect the hardware handshake wires for port 0 that would keep the card from working without hardware handshaking. Basically, the hardware handshaking is disabled with an easy way of adding it in the future.

You should be able to use the pictures of the DB25 connector on one end and the molex on the other to figure out how I wired it. The ribbon cable is junk. :mad:

Basic Tx/Rx/Gnd Serial Configuration:
D3 to I4 - Port 0 Receive
I3 to S1-7 - Port 0 Receive
D5 to N4 - Port 0 Transmit
N3 to S1-8 - Port 0 Transmit
S1-4 to S1-10 - Port 0 Ground

E3 to J1 - Port 1 Receive
J2 to S2-7 - Port 1 Receive
E5 to N6 - Port 1 Transmit
N5 to S2-8 - Port 1 Transmit
S2-4 to S2-10 - Port 1 Ground

Hardware Handshake:

D2 to I7 - Port 0 Clear to Send (D2 end NOT connected)
I8 to S1-1 - Port 0 Clear to Send
D1 to I5 - Port 0 Data Carrier Detect (D1 end NOT connected)
I6 to S1-2 - Port 0 Data Carrier Detect
D4 to N2 - Port 0 Request to Send
N1 to S1-3 - Port 0 Request to Send

E2 to I2 - Port 1 Clear to Send
I1 to S2-1 - Port 1 Clear to Send
E1 to J3 - Port 1 Data Carrier Detect
J4 to S2-2 - Port 1 Data Carrier Detect
E4 to N8 - Port 1 Request to Send
N7 to S2-3 - Port 1 Request to Send

These are big pictures, so hopefully no one with a modem will try to load the page. :)

http://www.stockly.com/images3/07090...cable_3181.jpg

http://www.stockly.com/images3/070909-DB25-1_3182.jpg

http://www.stockly.com/images3/070909-DB25-2_3183.jpg

marty 09-09-2007 11:03 PM

THANK YOU Grant you always come through :D :D :D
I can even use these to check mine :p :p Marty

Grant Stockly 09-13-2007 02:26 AM

Any updates Paul?

Grant

phe 09-27-2007 02:57 AM

Well, after a long time away from the hobby due to extensive priorities at work, I'm back at it again. The diagram you posted, Grant, was extremely helpful. I have the board all wired and "almost" all the ICs in. There are two ICs that are a mystery, and rather than try hit/miss I figured I'd ask here first.

In the MITS intructions, page 3, IC G is defined as a 93L34 and IC F is simply defined as a 16 pin socket. Lovely.

In the kit I have two ICs left over. One is marked GD4702B and the other is marked 74LS259.

Any idea whic is G and which is F? I'd like to get this board working!

Once I install the last two IC's, what's the best way to test? Is there a preferred loader program, or otherwise, that I enter in via the switches that will at least display something on the RS-232 terminal?

Thanks guys.

Paul

Grant Stockly 09-27-2007 04:35 AM

Do you remember the e-mail I sent you on 7/20 with the 600 DPI scan of my card! ; )

The GD4702B chip is the chip called "4702". The 74LS259 is a LS TTL version of the 93L34.

Here is a link to a scan of the complete card. Its a pretty big picture!

http://www.stockly.com/images3/090720-88-2SIO%20Replica%20Prototype%20Top.jpg

Grant Stockly 09-27-2007 04:45 AM

The first program I ran was one that would "echo" all characters sent to the Altair. If you typed "Hello" into the Altair, it would print "Hello" back as you typed.

The next step is getting 4k basic to run. I will try to get you a good memory image and some instructions on that.

I won't be able get you anything until Saturday or Sunday. But you should be able to keep busy until then.

marty 09-27-2007 05:24 AM

Hi Grant;
I would be interested in the above listing and programs.
Thank You Marty:D

phe 09-27-2007 12:36 PM

Quote:

Originally Posted by Grant Stockly (Post 845)
Do you remember the e-mail I sent you on 7/20 with the 600 DPI scan of my card! ; )

Unfortunately not until you reminded me :o

Quote:

Originally Posted by Grant Stockly (Post 845)
The GD4702B chip is the chip called "4702". The 74LS259 is a LS TTL version of the 93L34.

Got it. Thanks.

Paul

phe 09-28-2007 03:31 AM

Interestingly I've searched the web for altair programs and found nothing useful. I find that pretty amazing. Well, I've written a number of programs already using the switches, so I took a crack at my own echo program. I would have guessed the program to echo characters would be:

IN 11 011 011
021 00 010 001

OUT 11 010 011
021 00 010 001

JMP 11 000 011
0 00 000 000
00 000 000

So I keyed this in via the switches and then tried every possible configuration of windows hyperterminal I could think of, all 9600 baud, with various partty, flow control, and stop bits settings. I've tried it with and without a null modem cable.

No go.

Either my program is wrong (highly likely because I used port 021 which is for data and not port 020 which is for control). But I can't find decent descriptions of how the IO ports actually work.

I wonder if the documentation was easier to come by in 1975. Or you could just attend the local computer club group.

Paul

Grant Stockly 09-28-2007 04:12 AM

You have to reset the port and send a config byte. You also have to check if there is data waiting in the chip buffer before you try to read the serial chip.

You SHOULD check to make sure that the TRANSMIT buffer is empty before transmitting a byte, but for this test we can assume that since you first have to wait for a byte that there will be more than enough time to transmit it before a new byte has been received. Do you understand that?

Here is a sample program I just wrote. Sometime saturday night I'll get the program from my S-100 book to you.

Code:

;Serial echo program for the 8080 and 2SIO
;
.EQU CONT,0 ;CONTROL/STATUS PORT OF 2SIO CARD
.EQU DATA,1 ;DATA PORT OF 2SIO CARD
;
;
RESET:
  MVI  A, H'03  ;MASTER RESET
  OUT  CONT
  MVI  A, H'15  ;CLK/16, 8N1, RTS LOW TX/RX INTERRUPTS DISABLED
  OUT  CONT
LOADLP:
  IN    CONT      ;WAIT FOR RX BUFFER TO BE FULL
  ANI  H'01
  JZ    LOADLP
  IN    DATA      ;GET DATA
  OUT  DATA      ;SEND DATA
  JMP  LOOP


marty 09-28-2007 04:14 AM

ECHO Program
 
Hi Paul;
I Don't have my notebook here with me, So I had to look it up on the net !!!
I didn't take the time to look at all there was, but this should get you started.
000 333 input
001 000 or 020 or what ever port you have
002 017
003 332
004 000
005 000
006 333
007 001 or 021 or what ever port you have
010 323
011 001 or 021 or what ever port you have or 377 if you want to use the sense switches.
012 303
013 000
014 000
(This is in octal)
Good Luck Marty :D

Grant Stockly 09-28-2007 04:38 AM

H in the above program means "hex", don't treat those values as octal! :)

Back in the old days there were magazines and journals for programming help. Programming a computer was just the way you did things. There was basic, but in the earliest days no one even had that!

So in order to survive you just had to learn it by whatever way possible.

The most exciting thing about the kits that I build is the idea that I'm helping preserve some of the knowledge and allowing people to experience these things!

Grant Stockly 09-28-2007 04:41 AM

Marty, you should initialize the port first. It may happen that sometimes it works but that could be just luck. You can't ever count on things being right inside the chips. ;)

phe 09-28-2007 05:01 AM

yipee!!!! My card works. I tried your program, Grant. Here are the octal codes for it (assuming you start it at 000):

000 076
001 003
002 323
003 020
004 076
005 025
006 323
007 020

010 333
011 020
012 346
013 001
014 312
015 010
016 000
017 333

020 021
021 323
022 021
023 303
024 010
025 000


I have not tried your program yet, Marty. I'll give that a go tomorrow.

Thanks, guys!

Paul

Grant Stockly 09-28-2007 05:17 AM

Now, even though you were basically doing what a robot could do...building the board...doesn't it just give you a great feeling of accomplishment!?

When that thing is booting basic using your several thousand solder joints all the pain and suffering will have been worth it. :D:D:D

Grant Stockly 09-28-2007 05:24 AM

Paul, what kinds of other programs have you made? What resources did you used to do it? Any tips and hints for other people in your situation? :)

phe 09-28-2007 05:33 AM

Quote:

Originally Posted by Grant Stockly (Post 859)
When that thing is booting basic using your several thousand solder joints all the pain and suffering will have been worth it.

It sure will. We're walking in the paths of the pioneers here. We don't need to invent the way, because they already did so, but we can still share the what they did thirty years ago. And until your kit came along, Grant, it was not possible!

Paul

phe 09-28-2007 05:53 AM

Quote:

Originally Posted by Grant Stockly (Post 860)
Paul, what kinds of other programs have you made? What resources did you used to do it? Any tips and hints for other people in your situation? :)

Nothing really earth shattering because we are dealing with switches and lights. All the things I did were of the nature: switch in some data, run the program, view the results. I wanted to learn the language a bit. I wrote a program that would fetch numbers from memory until it found 777 and then store the sum; I copied a program form a book that would multiply two numbers but it was rather laborious and error prone; I experimented with boolean logic (and/or) and looping.

All that was pretty boring and I don't really have any tips to offer. I made lots of mistakes in loading the programs through the switches.

I played around with the am radio program and made a few different tunes, including the first half of Happy Birthday. I would recommend anyone who has a musical ear try that one. I would key in the song data, run the program, hear any notes that were not right, and quickly fix just the relevant notes until the pitch was correct. Musical trial and error.

Perhaps now that I understand how to input data from the serial IO card I will try to capture the keystrokes that come in and store them in memory somewhere to create the tone sequences for songs instead of manually loading successive memory locations with the relevant values. It is probably even straightforward enough to make the altair play tones as I press keys and I might try that as well.

These are just some ideas to get some fun out of the work done so far. Nothing earthshattering, just basics.

Paul

marty 09-28-2007 12:57 PM

Echo
 
Hi Grant;

I didn't realize that I needed to do that, and I just copied the program out of 'computer notes' Thanks for correcting me, :D I'll have to try it next time when I get to my machine. Paul, Add the initialization part to the top of the program that I had for you. And see if it works. ;) Thats probably why my board sometime worked and sometimes didn't. :o Thanks Grant, Again !!!! :D

marty 09-28-2007 01:52 PM

Echo
 
Hi Paul;
There is a musical program from Dr. Dobbs, that I have at home, which works from the sense switches, I'll try to get it for you the next time i'm home. and here is the origional program from computer notes, I think it has some ERRORS in it, but it should point you in the right direction. Also I know there are some articles about the 88-sio and the 88-2sio, somewhere in the 'computer notes' ,, I just didn't have time to locate them last night. This came from 'computer notes vol 1, issue 6.
000 333
001 000
002 017
003 332
004 000
005 000
006 333
007 001
010 062
011 040, this can be anywhere you want in memory
012 000
013 333
014 000
015 007
016 332
017 012, I think this should be 013
020 000
021 072
022 040 , this can be anywhere you want in memory
023 000
024 323
025 001
026 303
027 000
030 000
There were some other programs in this article that I didn't copy.
Have a good time, Thanks Marty :D

Grant Stockly 09-30-2007 12:01 AM

From the book:

Echo routine for the Altair 8800 computer to communicate with a serial terminal via the 88-2SIO.

Page 140 of "The S-100 Bus Handbook".

000 : 076
001 : 003
002 : 323
003 : 020
004 : 076
005 : 021
006 : 323
007 : 020
010 : 333
011 : 020
012 : 017
013 : 322
014 : 010
015 : 000
016 : 333
017 : 021
020 : 323
021 : 021
022 : 303
023 : 010
024 : 000

marty 09-30-2007 02:17 AM

echo program
 
Hi Paul;

I Just found and copied the same program for you from vol. 2 issue 2 of the computer notes. Also vol .2 issue 1 has some information.
Thanks and have a good weekend Marty:D


All times are GMT. The time now is 03:22 PM.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2024, vBulletin Solutions, Inc.