Jerry, Noel,
Thanks for your feedback. Also, Noel was correct on the typos I made on DD1, DE1, and
DF1. I was copying from a scanned .pdf and some strange OCR translation was occurring and
I missed correcting those.
Yesterday I stuck the ADV11-A in a MINC-23 with 256 KB memory and verified that it
worked. The CSR is different than a MNCAD and the voltage range bits may be different, but
when I connected a 40 pin cable and a IDE to screw terminal connector on the I could match
up the +4.5 and -4.5 reference voltage signals with the diagram with the screw terminals
and then make voltage changes on channel 0 and see the A/D counts change.
Today, I cut the BDAL18 BC1 trace to ground, verified it still worked in the MINC, then
moved it to a PDP-11/73 RSX11M+ system I use for hardware testing. The RSX system was not
configured for this card and the default 400 vector conflicts (I think) with the bottom of
kernel stack so I?ll need to either move the vector switches on the card down or re-sysgen
this test RSX system. Thus, the only quick testing I could do is via the CSR.
Also, to make it easy to see values change I used the 2 digit LED display next to the
console port to display the least significant bits of the readings. This is a technique I
use to debug interrupt routines as you can write a 2 digit octal number with a simple
MOV.
I didn?t loop on the status bit because RSX is multiuser/tasking, but just used a 1
second mark time to assure the conversion was done. This would be changed to an interrupt
service routine once I fix the vector issue. Using the LED display made the test code very
simple:
.TITLE ADTST
.ENABL LC
.IDENT /280118/
; TKB commands: IDLE/PR:5/-FP=IDLE
.MCALL EXIT$S MRKT$S WTSE$S
LEDCSR = 177524
ADCSR = 170400
ADBUF = 170402
.even
LEDS: MOV #177777,R0
MOV #100,R1 ; COUNT
10$: MOV R0,@#LEDCSR ; Display inverted contents of R0
CLR @#ADCSR ; Clear A/D status register
INC @#ADCSR ; START A/D
MRKT$S #1,#1,#2 ; Set Mark Time for 1 sec on eflg #1
WTSE$S #1 ; Wait for eflg #1
MOV @#ADBUF,R0 ; Get A/D value
BIS #177700,R0 ; Set all bits high but lower 100
; DEC R0 ; this line counts to 77 octal on display
SOB R1,10$
MOV #177777,@#LEDCSR ; Reset LEDs to .
EXIT$S
.END LEDS
So Noel and Jerry, you are correct it is that simple. If the A/D was DMA, that would be
another situation (like the RX02 controller).
Best Regards,
Mark