IEEE-488 on the PDP-11

Jonathan Chapman lists at glitchwrks.com
Tue Nov 16 13:35:51 CST 2021


Excellent, now I don't have to dig into that particular project tomorrow :P

Thanks,
Jonathan

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐

On Tuesday, November 16th, 2021 at 13:25, Glen Slick via cctalk <cctalk at classiccmp.org> wrote:

> On Tue, Nov 16, 2021 at 9:23 AM Douglas Taylor via cctalk
>
> cctalk at classiccmp.org wrote:
>
> > I'm going by the 'Instrument Bus Subroutines Programmer's Reference
> >
> > Manual' that is on bitsavers. [/pdf/dec/pdp11/minc] In section 4, page
> >
> > 4-1 it seems to imply that there are 6 files:
> >
> > IBLIB.OBJ
> >
> > IBSVER.FOR
> >
> > IBMNC.SYS
> >
> > IBNMNC.SYS
> >
> > IBXMNC.SYS
> >
> > IBXNMC.SYS
> >
> > I think that's it. *.OBJ is a library to link to, *.FOR is a test
> >
> > program, *.SYS are device drivers for MINC and ordinary PDP-11 SJ, FB
> >
> > and XM monitors. It probably is on it's own disk (RX01 RX02?)
> >
> > Doug
>
> I have an original DEC RX01 floppy labeled:
>
> AS-H300E-BC
>
> INSTMT BUS SUB V2.1 BIN RX1
>
> (c) 1983 Digital Equipment Corporation
>
> I have an image I created from that floppy which I can mount using
>
> PUTR, and then access the files on the floppy image:
>
> C:\PUTR>PUTR
>
> PUTR V2.01 Copyright (C) 1995-2001 by John Wilson wilson at dbit.com.
>
> All rights reserved. See www.dbit.com for other DEC-related software.
>
> COPY mode is ASCII, SET COPY BINARY to change
>
> (C:\PUTR)>MOUNT RX0: AS-H300E.IMG /RONLY /RX01
>
> (C:\PUTR)>DIR RX0:
>
> Volume in drive RX0 is RT11A
>
> Directory of RX0:\.
>
> 16-Nov-2021
>
> IB .MAC 76 27-Mar-1982
>
> IBBASE.MAC 8 27-Mar-1982
>
> IBCBLK.MAC 3 27-Mar-1982
>
> IBCMD .MAC 2 27-Mar-1982
>
> IBDCL .MAC 1 27-Mar-1982
>
> IBDEV .MAC 2 27-Mar-1982
>
> IBERMF.MAC 5 27-Mar-1982
>
> IBERR .MAC 4 27-Mar-1982
>
> IBERRF.MAC 2 27-Mar-1982
>
> IBERSH.MAC 3 27-Mar-1982
>
> IBGET .MAC 1 27-Mar-1982
>
> IBGTL .MAC 1 27-Mar-1982
>
> IBIFC .MAC 1 27-Mar-1982
>
> IBINIT.MAC 6 27-Mar-1982
>
> IBLEGL.MAC 2 27-Mar-1982
>
> IBLLO .MAC 1 27-Mar-1982
>
> IBLNR .MAC 2 27-Mar-1982
>
> IBLSN .MAC 5 27-Mar-1982
>
> IBPPD .MAC 2 27-Mar-1982
>
> IBPPE .MAC 2 27-Mar-1982
>
> IBPPL .MAC 2 27-Mar-1982
>
> IBPPU .MAC 1 27-Mar-1982
>
> IBRCVS.MAC 1 27-Mar-1982
>
> IBRDA .MAC 1 27-Mar-1982
>
> IBRECV.MAC 3 27-Mar-1982
>
> IBREMO.MAC 2 27-Mar-1982
>
> IBREN .MAC 1 27-Mar-1982
>
> IBSDC .MAC 1 27-Mar-1982
>
> IBSEND.MAC 3 27-Mar-1982
>
> IBSPL .MAC 3 27-Mar-1982
>
> IBSRQ .MAC 5 27-Mar-1982
>
> IBSRQF.MAC 1 27-Mar-1982
>
> IBSTER.MAC 2 27-Mar-1982
>
> IBSTS .MAC 2 27-Mar-1982
>
> IBTERM.MAC 2 27-Mar-1982
>
> IBTIMO.MAC 2 27-Mar-1982
>
> IBTLK .MAC 4 27-Mar-1982
>
> IBUNIT.MAC 2 27-Mar-1982
>
> IBUNL .MAC 2 27-Mar-1982
>
> IBUNT .MAC 2 27-Mar-1982
>
> IBWAIT.MAC 1 27-Mar-1982
>
> IBXFER.MAC 3 27-Mar-1982
>
> IB .ASM 9 27-Mar-1982
>
> IBLOC .ASM 1 27-Mar-1982
>
> IBMNC .SYS 10 27-Mar-1982
>
> IBXMNC.SYS 11 27-Mar-1982
>
> IBNMNC.SYS 10 27-Mar-1982
>
> IBXNMC.SYS 11 27-Mar-1982
>
> IBDBLD.COM 1 27-Mar-1982
>
> IBLIB .OBJ 45 27-May-1982
>
> IBSVER.FOR 7 27-Mar-1982
>
> IBXBLD.COM 1 08-Mar-1983
>
> IBSBLD.COM 2 08-Mar-1983
>
> IBLBLD.COM 10 27-Mar-1982
>
> < UNUSED > 193
>
> 54 Files, 293 Blocks
>
> 193 Free blocks
>
> (C:\PUTR)>COPY RX0:IBSVER.FOR C:
>
> IBSVER.FOR
>
> C****************************************************************************
>
> C
>
> C THIS PROGRAM IS THE INSTALLATION/VERIFICATION PROGRAM FOR THE IBS IEEE BUS
>
> C INTERFACE ROUTINES.
>
> C
>
> C*****************************************************************************
>
> C
>
> EXTERNAL SERVE !ADDRESS OF USER'S SRQ HANDLING ROUTINE.
>
> BYTE ASCII(26) !ASCII ARRAY CONTAINING THE ALPHABET.
>
> INTEGER TALK,STAT
>
> IBZERO=' ' !ASCII CODE FOR ZERO INSTRUMENT ADDRESS
>
> LISTEN=5 !OUR LISTENER'S PRIMARY IEEE BUS ADDRESS.
>
> TALK=6 !OUR TALKER'S PRIMARY IEEE BUS ADDRESS.
>
> MAXL=15 !OUR MAXIMUM TRANSMIT/RECEIVE LENGTH.
>
> LINE=6
>
> C
>
> TYPE 1000
>
> 1000 FORMAT('1 IBS-11 V2.1 Verification Program'///
>
> 1' This procedure assumes that IB.SYS (or IBX.SYS) has been INSTALLED
>
> 2 and LOADED'/' in this system. Also, this procedure assumes
>
> 3 that no devices'/' are connected to your IBV11-A/IB11
>
> 4 instrument bus.')
>
> TYPE 1001
>
> 1001 FORMAT(//' The first part of this test calls routines that do
>
> 1 not depend'/' on any device and thus should produce no
>
> 2 error messages.'//)
>
> C
>
> CALL IBSTER(16,20) !ALLOW ERROR NUMBER 16 (TIME-OUT) TO OCCUR 20 X
>
> CALL IBSTER(5,5) !ALLOW THE NO DEFAULT LISTENER ERROR 5 TIMES
>
> CALL IBSTER(7,2) !ALLOW THE BAD UNIT ERROR TO OCCUR TWICE
>
> CALL IBSTER(15,25) !ALLOW THE NO VALID LISTENER ERROR TO OCCUR 25 X
>
> CALL IBSRQ(SERVE,,,STAT) !SET-UP TO HANDLE SRQ'S
>
> CALL IBSRQF(IFLG) !GET STATUS OF SRQ IEEE INTERFACE CONTROL LINE
>
> CALL IBTERM() !CLEARS INTERNAL TERMINATOR'S LIST
>
> CALL IBPPL !CONDUCT A PARALLEL POLL
>
> CALL IBIFC !ISSUE THE IEEE INTERFACE-CLEAR
>
> STAT=IBERRF() !GET ERROR INFORMATION
>
> CALL IBRDA !DISABLE (TURN-OFF) THE IEEE REMOTE LINE
>
> CALL IBREN !ENABLE (TURN-ON) THE IEEE REMOTE LINE
>
> TYPE 1002,IBREMO() !READ AND TYPE THE REMOTE LINE STATUS
>
> 1002 FORMAT(' IBREMO should return minus one at this point. IBREMO ='
>
> 1I6)
>
> C
>
> TYPE 1003
>
> 1003 FORMAT(//' At this point non-fatal error messages should begin to
>
> 1 appear.'//' EXPECTED ERROR MESSAGES'
>
> 2/' -------------------------------')
>
> CALL IBTIMO(120) !SET TIME-OUT VALUE TO 2 SECONDS
>
> CALL IBDEV(TALK,IBZERO) !SET-UP SRQ-CAPABLE DEVICE ADDRESS LIST
>
> CALL IBLNR() !CHECK FOR VALID LISTENERS
>
> CALL IBSEND(ASCII,MAXL,LISTEN)
>
> CALL IBSEOI(ASCII,MAXL,LISTEN)
>
> CALL IBRECV(ASCII,MAXL,TALK)
>
> CALL IBRCVS(STAT) !GET OUR RECEIVE STATUS BACK
>
> LENGTH=IBXFER(MAXL,TALK,LISTEN)
>
> CALL IBASND(ASCII,MAXL,LISTEN)
>
> CALL IBARCV(ASCII,MAXL,TALK)
>
> CALL IBAXFR(MAXL,TALK,LISTEN)
>
> CALL IBWAIT !WAIT FOR PRECEDING ASYNCHRONOUS I/O TO COMPLETE
>
> CALL IBFREE(LISTEN,TALK)
>
> CALL IBGTL(LISTEN)
>
> CALL IBSDC(LISTEN)
>
> CALL IBGET(LISTEN)
>
> CALL IBCMD(7)
>
> STAT=IBSTS(TALK)
>
> IFUN=IBSPL(STAT,TALK)
>
> CALL IBPPE(ISENSE,LINE)
>
> CALL IBPPD()
>
> CALL IBPPU
>
> CALL IBUNL
>
> CALL IBUNT
>
> CALL IBLLO
>
> CALL IBDCL
>
> CALL IBUNIT(2)
>
> TYPE 1004
>
> 1004 FORMAT(//' IBS-11 VERIFICATION PROCEDURE SUCCESSFUL!'//)
>
> STOP 'END IBS VERIFY'
>
> END
>
> C
>
> C*****************************************************************************
>
> C
>
> C THE USER'S SRQ HANDLING ROUTINE:
>
> C
>
> C*****************************************************************************
>
> SUBROUTINE SERVE
>
> RETURN
>
> END


More information about the cctalk mailing list