ALGOL 8

94 views
Skip to first unread message

Dawson Rosell

unread,
Jul 28, 2017, 12:43:58 PM7/28/17
to PDP-12 Restoration Project
On bitsavers where the .bin files are located for ALGOL 8 (DECUS 8-213) there are 7 .bin files. The manual for it says there are 2 or 3 (don't remember off the top of my head) How should I be loading these in? I ran the BIN loader and sent over the first file and it hung and didn't finish sending until I hit the Continue switch a couple times... So it doesn't seem to like that file or the way I was loading it in.

Any ideas on what I should try? 

http://bitsavers.informatik.uni-stuttgart.de/bits/DEC/pdp8/papertapeImages/set7_20040310/


https://ia601908.us.archive.org/7/items/bitsavers_decdecuspd_3578604/8-213_4K_ALGOL.pdf

Thanks!

-Dawson

Michael Thompson

unread,
Jul 8, 2019, 8:22:20 PM7/8/19
to Dawson Rosell, PDP-12 Restoration Project
This was recently posted to classiccomp


Date: Sun, 7 Jul 2019 23:19:25 -0400
From: Charles Dickman <c...@chdickman.com>
Subject: RALGOL - A PDP8 ALGOL 60

I played around with this algol 60 compiler for the PDP8 and succeeded in
getting it to run. I have not found any other notes, so I thought that I
would give a leg up to the next one that wants to work on it.

-chuck

--------

This ALGOL 60 implementation for the PDP8 was written by Roger H. Abbott while he was at Oxford.

The bits are here:
http://www.bitsavers.org/bits/DEC/pdp8/papertapeImages/russ.ucs.indiana.edu/Langs/Algol/

A copy of the manual here:
https://archive.org/details/hack42_ROG_ALGOL_Compiler

A paper here:
http://pdp8.de/download/RogAlgol.pdf

Mr. Abbotts business is here:
http://www.angelfire.com/biz/rhaminisys/index.html

The website or the host is a bit sketchy. The business is probably defunct.
I found a link that said Mr. Abbott died in the early 2000.

The system is two parts: the compiler and the runtime.

This is all assuming the use of OS/8.

To create the SV file for the compiler:
.R ABSLDR
*INTRUN.BN,ALGCOM.BN,COMOS8.BN$
.SAVE SYS:ALGCOM.SV
.R ALGCOM.SV

To create the SV file for the runtime system/loader:
.R ABSLDR
*FPP.BN,ALGRUN.BN,RUNOS8.BN
.SAVE SYS:RALGOL.SV
.R RALGOL.SV

There are other options for the FPP.BN for other hardware possibilities. FPEAE8.BN for the classic pdp8 EAE and FPPEAE.BN for the PDP8/e EAE. This needs some testings.

Running an ALGOL program:

.TYPE FLOAT.AL
'BEGIN'
  'REAL' A,B;
  TEXT(1,"HELLO WORLD!");
  SKIP(1);
  A := 3.141592;
  B := COS(A);
  TEXT(1,"A = ");
  RWRITE(1,A);
  SKIP(1);
  TEXT(1,"B = COS(A) = ");
  RWRITE(1,B);
'END'
$$$$$

.R ALGCOM

ROGALGOL MK40
OUT<IN*FLOAT<FLOAT

SIZE 39

.R RALGOL

ROGALGOLOADER
INPUT FILENAME ?*FLOAT.AC

ENDS 0251
^^PHELLO WORLD!
A = +0.314159E+001
B = COS(A) = -0.999999E+000
^^PHELLO WORLD!
A = +0.314159E+001
B = COS(A) = -0.999999E+000
^^C
.

The source AL file must end with a few $$$$ or an odd fault code will result. The fault codes are embedded in the source files as addresses.

The compiler output file has the AC suffix.

After the loader runs it will pause with a ^ prompt and the user will have to enter a ^P to proceed or ^C to quit.

The manual is the best description for the user.

--
You received this message because you are subscribed to the Google Groups "PDP-12 Restoration Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pdp+uns...@d.umn.edu.


--
Michael Thompson

Peter Peterson

unread,
Jul 8, 2019, 10:20:03 PM7/8/19
to Michael Thompson, Dawson Rosell, PDP-12 Restoration Project
Oooh -- fantastic! I would love to write some ALGOL for the PDP-12. 

Peter
--
Peter A. H. Peterson, Ph.D.
Assistant Professor
Department of Computer Science
University of Minnesota Duluth

CLASystems

unread,
Jul 8, 2019, 11:45:19 PM7/8/19
to Peter Peterson, Dawson Rosell, PDP-12 Restoration Project
I'm surprised this was recovered.  For years, I heard the source code was lost.  A random sampling of the code and I see the source is bizarrely formatted, although technically passable.  I suspect this was done in part by someone not really familiar with PDP-8 assembler conventions, but spent the effort to disassemble it.

I had pondered it years ago as a natural for P?S/8, but the source was considered lost.

Perhaps I should reconsider this for a future release.

The present level of P?S/8 could support this with just the input and output routines modified, cookie-cutter to all other P?S/8 conforming programs [which in general are cookie-cutter to each other on these issues.  Efficient co-routines are all you need, and as per usual, the poor but freely distributed OS/8 analogues were used.  Only my Kermit-12 uses the better grade of routines that take up half the space; the P?S/8 routines are about 2/3 of that smaller size still.

User interface would be simpler as the P?S/8 command decoder can specify the files directly, making it more like CCL;  Apparently this was done before OS/8 had the notion of CCL, as overhead ridden as it is; P?S/8 always had it efficiently, etc.

When the P?S/8 SHELL is done, an even better overall result is possible, as then there need be only one input and/or output file at a time.  The 4K "basic" P?S/8 requires the input be specified across concatenated input files as a stream or by use of available utilities, conversion into a stream of input not editable in P?S/8 presently.  This would become superfluous when the optional SHELL environment as it maintains the syntax of basic P?S/8 but then uses a directory structure of what OS/8 SHOULD have been [but never delivered].

In any case, I suspect the scope of the source code may be short enough that either way would be satisfactory, so just having the lower overhead of the P/S/8 environment may be adequate.

In any case, I am glad something is available!

cjl [something to clean up when and if I have some spare time and in the mood for cosmetic reconstruction of source code as it should have been created]


--
To unsubscribe from this group and stop receiving emails from it, send an email to pdp+uns...@d.umn.edu.


--
"In the future, OS/2 will be on everyone's desktop"

Bill Gates, 1992
Reply all
Reply to author
Forward
0 new messages