Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BCPL #416

Closed
larsbrinkhoff opened this issue Jan 13, 2017 · 14 comments
Closed

BCPL #416

larsbrinkhoff opened this issue Jan 13, 2017 · 14 comments
Labels

Comments

@larsbrinkhoff
Copy link
Member

larsbrinkhoff commented Jan 13, 2017

  • There is an MC: EMACS1; BCLPL 4, but nothing else in the final ITS backups.

  • There is a TOPS-20 BCPL in the Panda distribution:

    BCPL 3.3.3 1/6/78
    Inline JSYS
    
  • BBN had a BCPL compiler for TENEX.
    http://bitsavers.org/pdf/bbn/tenex/TenexBCPL_1974.pdf

  • Huw Davies wrote in alt.sys.pdp10:

    There was certainly BCPL for TOPS-10. I did some "interesting" systems programming in at one stage before moving on to BLISS-10 as my prefered language. (I'm already anticipating the comments about
    my lack of taste :-)

  • There was a BCPL at University of Essex, which was used to write an early version of MUD, see MUD - game #390.

@hrlzm
Copy link
Member

hrlzm commented Jan 13, 2017

I have found some stuff. Short of time for a couple of days. Will be back.

.type parse0.bcp
// BCPL COMPILER, WRITTEN BY:
// PETE GARDNER, COMPUTING CENTRE, UNIVERSITY OF ESSEX,
// WIVENHOE PARK, COLCHESTER, ESSEX. C04 3SQ.
$NOLIST
GET "SYSHDR"
GET "SYMHDR"
GET "BLDHDR"
$LIST

STATIC $(
NAMETREE=NIL; RLINE=NIL; NLPENDING=NIL; RECPT=NIL
SYMB=NIL; NULLTAG=NIL; TAGLIST=NIL; RECLEVEL=NIL
LIBP=NIL; ENTP=NIL; LDP=NIL; NILNODE=NIL
XREFLIST=NIL; LASTXREF=NIL; XREFGET=NIL; SYMBPP=NIL
$)

@hrlzm
Copy link
Member

hrlzm commented Jan 14, 2017

Status update:
I have found my two tapes from March 1984, with MUD and BCPL on them. Holding them in my hand
at this very moment.
I SHOULD have them as .tap files, but there are many places to look.
However, I have the (hopefully) full contents on disk on my tops-10 system(s).
Files READ.ME and READ.MUD from the MUD directory:

Tommy,
This is MUD! The file READ.MUD is a short note from Richard Bartle.
The .MAS files are the source, in compressed format - use the SUBFIL
program to unpick them. However, it is all written in Essex BCPL, which
we sell under licence, so if you don't have it, let me know + I'll
arrange for licence forms to be sent to you. It isn't expensive - I
think 50 pounds for academic institutions - but we try to avoid
piracy if possible.
Enjoy your game!
Rick.

From Bartle R[2011,2776] on February 14, 1984 at 6:59 PM
The source files for MUD (ie BCPL files) in SUBFIL format are
as follows:
MUD.MAS[2011,2776]
MUD.TXT[2011,2776]
MUDTXT.MAS[2011,2776]
all on DSKB of course! They won't be much use, however, the .EXE file and
associated bits are
MUD.EXE[2011,2011]
*.DBA[2011,2011]
MUD.??M[2011,2011]
DBASE.EXE[2011,2653]
also on DSKB. If DBASE is used, then then MUD.TXT and MUDTXT.MAS are useful,
too.
There's another, smaller version of MUD called VALLEY. This consists
of: VALLEY.EXE[2011,2011]
VALLEY.??M[2011,2011]
and some of the files that MUD needs.
If sending files is a costly business, then the minimumneeded to
play MUD is MUD.EXE, .DBA and MUD.??M . If you want a smaller game, get
VALLEY.
. If you want to correct minor bugs and do your own dungeons, get
DBASE.EXE and MUD.TXT . There's a (bad) database manipulation program, too,
POWER.EXE[2011,2011].

.cd 10,335,bcpl
Now at <10,335,bcpl> <055>

.dir

BCPL EXE 104 <155> 8-Feb-80 3H(103) DSKB: [10,335,BCPL]
BCPL MAS 582 <155> 12-Feb-80
BCPL00 EXE 132 <155> 8-Feb-80 3H(103)
BCPL01 EXE 144 <155> 8-Feb-80 3H(103)
BCPL02 EXE 104 <155> 8-Feb-80 3H(103)
BCPL03 EXE 28 <155> 8-Feb-80 3H(103)
360LIB MAS 12 <155> 17-Aug-78
ACS GET 1 <155> 2-Nov-77
ARRLIB GET 1 <155> 15-Aug-75
ARRLIB MAS 7 <155> 10-May-76
ARRLIB REL 3 <155> 15-Aug-75
ASSINT MAS 18 <155> 7-Sep-76
BCLDOC CTL 1 <155> 22-Nov-78
BCLEND RNM 1 <155> 6-May-76
BCLMAC MAC 5 <155> 6-Mar-75
BCLUSR RNM 3 <155> 19-Nov-75
BCPL CTL 5 <155> 22-Nov-78
BCPL HLP 5 <155> 31-Aug-78
BCPL RNM 206 <155> 15-Nov-78
BCPL TXT 11 <155> 21-Nov-78
BCPLDT HLP 2 <155> 15-Apr-75
BCPLDT MAS 171 <155> 25-May-76
BCPLDT REL 97 <155> 23-Mar-76
BCPLIB CTL 7 <155> 7-Oct-78
BCPLIB GET 2 <155> 23-Oct-75
BCPLIB RNM 78 <155> 7-Oct-78
BITS GET 2 <155> 25-Feb-75
BUILD CTL 7 <155> 31-Aug-78
CMDLIB GET 1 <155> 10-Sep-75
CMDLIB MAS 12 <155> 21-Feb-78
CMDLIB REL 6 <155> 21-Feb-78
COM22C SCM 5 <155> 26-Apr-78
COROUT GET 3 <155> 20-Nov-75
COROUT MAS 17 <155> 10-May-76
COROUT REL 5 <155> 26-Jan-77
DICLIB GET 3 <155> 23-Jul-76
DICLIB MAS 26 <155> 27-Jul-76
DICLIB REL 12 <155> 23-Jul-76
ERRORS GET 2 <155> 8-Jun-78
GLOBAL BCL 3 <155> 13-Mar-75
GLOBAL CTL 2 <155> 29-Sep-77
GLOBAL REL 83 <155> 13-Mar-75
ICLLIB MAS 29 <155> 7-Mar-79
IOLIB GET 1 <155> 23-Oct-75
IOPACK GET 1 <155> 7-Oct-78
IOUUO GET 1 <155> 7-Feb-75
JOBDAT GET 1 <155> 7-Feb-75
KERNEL GET 1 <155> 7-Oct-78
LOWLIB REL 131 <155> 8-Feb-80
QUEUER MAS 177 <155> 26-Oct-78
RFS GET 3 <155> 15-Sep-75
RFSLIB GET 1 <155> 19-Sep-75
RFSLIB MAS 38 <155> 22-Oct-76
RFSLIB REL 28 <155> 19-Feb-76
SCB GET 5 <155> 21-Feb-78
SCNLIB MAS 56 <155> 9-Oct-78
SIMULA MAS 18 <155> 25-Nov-75
SUBFIL BCL 19 <155> 15-Sep-78
SUBFIL CTL 2 <155> 29-Sep-77
SUBFIL EXE 56 <155> 15-Sep-78 3B(13)
SUBFIL HLP 5 <155> 31-Oct-75
SYNLIB REL 10 <155> 15-Apr-75
USEFUL GET 1 <155> 7-Oct-78
BCPLIB MAS 227 <155> 12-Feb-80
BCPL DIR 7 <155> 20-Apr-79
BCPLIB REL 137 <155> 7-Feb-80
Total of 2874 blocks in 66 files on DSKB: [10,335,BCPL]

Will set this up for public access somehow next week.

--Johnny

@larsbrinkhoff
Copy link
Member Author

Thanks @hrlzm!

I got the MUD sources from Richard Bartle yesterday. I'm just awaiting explicit permission to publish the files. However, everone thought Essex BCPL was lost forever, so this is most exciting!

@hrlzm
Copy link
Member

hrlzm commented Jan 15, 2017

Done so far:

https://www.pdc.kth.se/~bygg/tops/BCPL.tap
https://www.pdc.kth.se/~bygg/tops/MUD.tap

These files should work directly with your tops-10 machine.

For those of you without access to tops-10, I will extract all the .MAS files and produce a set of all
the text files in some format, like a .tar or .zip file. This will happen soon, but not today. :-(

--Johnny

@larsbrinkhoff
Copy link
Member Author

I created a new PDP-10/essex-bcpl repository.

Just the tape image for now. My copy of t10backup.c didn't handle the image too well. I had to hack it to get all files extracted, so I'm not sure they're ok. And of course, I can't do anything about the master files.

@larsbrinkhoff
Copy link
Member Author

I think more research on this is beoynd the scope of this ITS repository.

@hansliss
Copy link
Member

@larsbrinkhoff and @hrlzm, I have quite a lot of Essex BCPL stuff available, but it's not quite up and running yet. I have this in my directory in the Panda system, restored from an old tape image:
TOPS20:
BCPL.DOC.1;P775250 3 6860(7) 11-Apr-84 00:40:35
.EXE.1;P775250 26 66560(7) 8-Aug-84 18:32:10
.GUI.1;P775250 26 65914(7) 11-Apr-84 01:30:03
.HELP.1;P775252 2 3300(7) 11-Apr-84 01:39:30
.MAN.1;P775250 68 173890(7) 11-Apr-84 00:42:57
BCPL00.EXE.1;P775250 33 84480(7) 8-Aug-84 18:57:36
BCPL01.EXE.1;P775250 36 92160(7) 8-Aug-84 23:12:28
BCPL02.EXE.1;P775250 26 66560(7) 8-Aug-84 23:57:19
BCPL03.EXE.1;P775250 7 17920(7) 9-Aug-84 00:14:15

Total of 227 pages in 9 files

I managed to compile a test program, but i can't LOAD it because the system is missing BCPLIB.REL. I do have a set of source files, ostensibly for BCPLIB and others, but I haven't tried transferring them or building anything from them yet:
-r--r--r-- 1 hansl hansl 612 Jul 25 1996 acs.get
-r--r--r-- 1 hansl hansl 0 Jul 25 1996 bclrun.000
-r--r--r-- 1 hansl hansl 850 Jul 25 1996 bclrun.bcp
-r--r--r-- 1 hansl hansl 6699 Jul 25 1996 bcpl.doc
-r--r--r-- 1 hansl hansl 64332 Jul 25 1996 bcpl.gui
-r--r--r-- 1 hansl hansl 3210 Jul 25 1996 bcpl.hlp
-r--r--r-- 1 hansl hansl 907 Jul 25 1996 bcplib.get
-r--r--r-- 1 hansl hansl 139547 Jul 25 1996 bcplib.mas
-r--r--r-- 1 hansl hansl 169064 Jul 25 1996 bcpl.man
-r--r--r-- 1 hansl hansl 700 Jul 25 1996 bits.get
-r--r--r-- 1 hansl hansl 764 Jul 25 1996 errors.get
-r--r--r-- 1 hansl hansl 213 Jul 25 1996 iolib.get
-r--r--r-- 1 hansl hansl 397 Jul 25 1996 iopack.get
-r--r--r-- 1 hansl hansl 162 Jul 25 1996 iouuo.get
-r--r--r-- 1 hansl hansl 284 Jul 25 1996 jobdat.get
-r--r--r-- 1 hansl hansl 332 Jul 25 1996 kernel.get
-r--r--r-- 1 hansl hansl 1316 Jul 25 1996 rfs.get
-r--r--r-- 1 hansl hansl 405 Jul 25 1996 rfslib.get
-r--r--r-- 1 hansl hansl 23072 Jul 25 1996 rfslib.mas
-r--r--r-- 1 hansl hansl 2845 Jul 25 1996 scb.get
-r--r--r-- 1 hansl hansl 82 Jul 25 1996 test.bcl
-r--r--r-- 1 hansl hansl 410 Jul 25 1996 test.lst
-r--r--r-- 1 hansl hansl 1123 Jul 25 1996 trans.tbl
-r--r--r-- 1 hansl hansl 193 Jul 25 1996 useful.get

@larsbrinkhoff
Copy link
Member Author

@hansliss Great! @hrlzm's tape image is here:
https://github.com/PDP-10/essex-bcpl

@hansliss
Copy link
Member

hansliss commented Dec 11, 2017 via email

@larsbrinkhoff
Copy link
Member Author

@hansliss Any update on your BCPL stuff?

@hansliss
Copy link
Member

hansliss commented Jan 26, 2018 via email

@larsbrinkhoff
Copy link
Member Author

@hansliss,

@quentinnuk has installed Esssex BCPL and built MUD:
https://www.quentin.org.uk/tag/bcpl/

@hansliss
Copy link
Member

hansliss commented Oct 26, 2018 via email

@larsbrinkhoff
Copy link
Member Author

larsbrinkhoff commented Mar 26, 2022

FYI, the BBN BCPL compiler may have been found:

// Code Generator for BCPL on TENEX

https://github.com/PDP-10/tenex-bcpl

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants