• Please review our updated Terms and Rules here

How to test M8655 serial board

NicolasF

Experienced Member
Joined
Jun 28, 2006
Messages
255
Location
Argentina
Hi,

I'm trying to test the M8655 board but I can´t make it send any character. This is my configuration:

Code:
Jumpers:
FIL - open
TTY - open
SWD - closed
W2  - closed (9600 baud)
W5  - open

SB  - open (no stop bit)
NP  - open (no parity)
EVN - open (even parity)
NB1 - open (8 bits per char)
NB2 - open

Dipswitches:
       76543210
XMIT - 11100100 (9600 baud, addr 04)
RCV  - 11100011 (9600 baud, addr 03)

Conections:
BERG | DB9
-----------
F    | 2
J    | 3
VV   | 5

BERG pin E to pin M

Test program (loop that prints char "A"):
0000 7200 CLA
0001 7001 IAC
0002 7002 BSW
0003 7001 IAC
0004 6046 TLS
0005 5004 JMP 0004

I think the TLS instruction uses the two numbers in the middle as the transmit address of the card, but even if I change them I get nothing. I tried putting a scope in the F pin of the BERG connector but the signal never changes. I guess I must be doing something wrong because I tried 4 different boards and none of them seem to work. I'm using a PC with a serial port and hyper terminal as a dumb terminal. Any ideas?

Thanks!
 
That test program never waits for the character to print before going around the loop again. You need something like this:

Code:
0000	7200			CLA	/ INIT CHAR
0001	6046		L1,	TLS	/ PRINT CHAR
0002	6041		L2,	TSF	/ WAIT UNTIL PRINTED
0003	5002			 JMP L2	/ SPIN
0004	7001			IAC	/ INCRE CHAR
0005	5001			JMP L1	/ LOOP

Or if you want a simple read/echo program:

Code:
0000	6032			KCC	/ CLEAR FLAG
0001	6031		L1,	KSF	/ SKIP IF CHAR
0002	5001			 JMP L1	/ SPIN
0003	6036			KRB	/ READ CHAR
0004	6046			TLS	/ PRINT CHAR
0005	6041		L2,	TSF	/ WAIT UNTIL PRINTED
0006	5005			 JMP L2	/ SPIN
0007	5001			JMP L1	/ LOOP
 
Ok, so its necessary to loop until the char is printed even if I have a HALT instruction right after the TLS? because I tried this program and it didn't work either.

Code:
7470/ 7200	CLA clear AC
7471/ 7001	IAC increment AC - now contains 0001
7472/ 7002	BSW byte swap AC - now contains 0100
7473/ 7001	IAC increment AC - now contains 0101 (65 dec)
7474/ 6046	TLS transmit AC via UART
7475/ 7402	HLT halt

That program is for the M8650 board so, I'm not sure if it works for the M8655.
 
Assuming the hardware is set-up OK, the HLT should have permitted the character to have been transmitted.

There must be something wrong with the configuration of the card or the power supply rails. The transmitter requires + and - 15V to be present.

Incidentally, you have either 1 or 2 stop bits - never none!

If you have an oscilloscope, you should be able to monitor the transmit decode 8251 IC (E40 pin 2?). It should operate each time you perform an IOT command on the transmitter.

Dave
 
Last edited:
Hi,


76543210
XMIT - 11100100 (9600 baud, addr 04)
RCV - 11100011 (9600 baud, addr 03)

DIP switch RCV 6 is the 150 Ohm resistor.

From Dough Jones site: ...As a special case, if the R=150 switch is on, the receive baud rate is set to 150 baud...

I think this has to be off:
Also I dont have the third switches on I think it should be:

XMIT - 10000100 (9600 baud, addr 04)
RCV - 11000011 (9600 baud, addr 03)


Attached is a (very bad) picture of the switches of two working cards with 2400Baud (that is XMIT 10000100, RCV 10000011 from top to bottom).

greetings
Volker
 

Attachments

  • IMG_2269 (1).jpg
    IMG_2269 (1).jpg
    53.8 KB · Views: 1
DIP switch RCV 6 is the 150 Ohm resistor.

From Dough Jones site: ...As a special case, if the R=150 switch is on, the receive baud rate is set to 150 baud...

I think this has to be off:
Also I dont have the third switches on I think it should be:

XMIT - 10000100 (9600 baud, addr 04)
RCV - 11000011 (9600 baud, addr 03)


Attached is a (very bad) picture of the switches of two working cards with 2400Baud (that is XMIT 10000100, RCV 10000011 from top to bottom).

greetings
Volker

You are right, I had the switches wrong. Your combination worked. I also had other issues like one of the M8655 board were broken, and for some reason I´m not able to run any program from bank zero, I have to use bank 1, also I measured the voltages on the omnibus and I'm not getting the +15V, instead I have +4.8V is this ok?

Thanks!
 
The switch settings should only affect the BAUDRATE. You stated that you monitored pin F of the BERG connector but saw nothing. This is the transmit line itself, so should have had some activity even if the BAUDRATE switches were set incorrectly.

The RS232 drivers will be using the +15V supply, so if it is down at +4.8V I would strongly urge you to investigate why before any damage results...

It may be the power supply itself, or it may be a smoothing capacitor (e.g. C62 on the serial board itself).

Dave
 
The RS232 drivers will be using the +15V supply, so if it is down at +4.8V I would strongly urge you to investigate why before any damage results...

It may be the power supply itself, or it may be a smoothing capacitor (e.g. C62 on the serial board itself).

Dave

Dave has a point.

I guess that this is the same PDP-8E as the TU56 belongs to. If you haven't payed any attention to the power supply, stop doing anything more! Start with the power supply in the computer and in the TU56 before you doing anything else. Bad power supplies can cause a lot of strange behaviors and even destroy things.
 
Back
Top