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