IEEE-488 on the PDP-11
Glen Slick
glen.slick at gmail.com
Tue Nov 16 12:25:22 CST 2021
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 cctech
mailing list