Forum OpenACS Q&A: compiling OMSI PASCAL programs in DEC RT57XM monitor

For 25 years we have been more or less forced to use DEC RT11SJ version 5.1 monitors to compile / run laser trimming applications software on older ESI laser trimming systems. Problem is the RT11SJ OS thinks there's only 512k-bytes of RAM when there's really a wompin' 4MB actually available, meaning I have to really mess with size of overlays and external procedure files. Mentec Inc bought rights to DEC OS systems, sold me the RT57XM (version 5.7) monitor which informs OS that there's really 4MB of RAM available. Advised me to re-compile my applications software within the RT57XM monitor but did not provide the compilation software (PASCAL.sav) for first level source code compilation. So I copied PASCAL.sav from the RT11SJ monitor to the RT57XM monitor, I get the "*" prompt, but it dumps to ODT mode when I execute my compilation text string. Mentec thinks old PASCAL compiler may be referencing drivers that do not exist in the newer OS so I may need DEC-written PASCAL compiler software, which is probably no longer available.
Objective is to find PASCAL compiler software compatible with DEC RT57XM monitor.

Thank you for your help!!

Posted by Don Baccus on
Not sure why you're posting an OMSI Pascal question here at OpenACS but you've lucked out ...

I'm one of the two principal authors of the old PDP-11 OMSI Pascal compiler you're referring to. I did the work under contract to ESI while in college. No development work has been done on that compiler since the late 1970s.

The compiler uses the standard RT/11 device drivers and the standard API to load and reference them. You should ask Mentec if they've modified the application-OS API. If not, drivers shouldn't be a problem.

A more likely source of the dump to ODT is memory management. Clearly this has changed since 4 MB is being made visible to the operating system and applications. The PDP-11 is a 16-bit computer and the original architecture only allowed direct reference to 64KB total, 32KB in I[nstruction] space and 32KB in D[ata] space. Obviously changes were made to make 512KB available and even more changes to make 4MB available.

Hmmmm... Can't believe my eyes that someone is still using PDP11-machines. That is big trouble, you know.... Actually I'm co-author of the Free Pascal compiler but I'm afraid there is little I can do to get your code compiled other than getting it compiled on a PC. Which is perhaps the best thing to do: hire a good nerd and get it running on a modern computer.
Posted by Don Baccus on
The PDP-11 drives his ESI laser trimming system. He can't just recompile the program and run it on a PC.

He would have to re-engineer all of the interface hardware that connects the PDP-11 to the laser trimming system.

The system software that drives the low-level hardware interfaces to the laser trimmer is also written in the OMSI Pascal dialect that among other things allows for direct whacking at the hardware. He'd have to rewrite the entire system software level supplied by ESI.

First, though, he'd have to reverse-engineer that software, because he doesn't have source to it. Oops!

After doing all that he could recompile his application on the PC ...

I understood that very well, but as he is searching for a compiler I assume he has the source... Not that there is much chance to get it compiled on a modern PC, but it might be an escape route. Indeed you need a good nerd to rewrite code that accesses hardware directly.
Daniël, it sounds like Roger only has the source to some of the system - probably an application program, perhaps one that he wrote himself. Presumably he doesn't have the source to any of the lower level bits that actually control the hardware directly.

I have only a vague understanding of what a "laser trimming system" is, but it looks big and expensive.

As for why Roger is asking here, well if I Google for OMSI Pascal, right now the 4th hit is this Don's PDP-11 Pascal compiler post! (Funny, I guess there's not a lot of info on late 1970's compilers on the web...) So he's here because of you, Don!

I am laughing out loud a second time. Thanks for shedding some light on this odd thread Andrew. I like the flavor of Google juice that we think led you here Roger.

Don being able to respond to this left fielder actually motivated me to walk down the hall (with a grin) and take a look at the PDPs we have in the hospital on display. One of the reason we have them around is because of this: Massachusetts General Hospital Utility Multi-Programming System (MUMPS). According to the article "the original MUMPS system was built on a spare DEC PDP-7".

Sounds like laser trimming machines have something to do with semiconductor manufacturing. Old computers making newer ones? Computers (and Don) bootsrapping themselves out of the swamp of history? Singularity must be upon us, but we still have 807 open OpenACS bugs! What are we doing wrong? /me laughs some more with images of Karl Friedrich Hieronymus Freiherr von (a.k.a. Baron) Münchhausen pulling himself up by his own hair.

Posted by Don Baccus on
MUMPS! Yeah, baby ...

PDP-7 was an 18 bit descendent of DEC's first computer. That lineage goes PDP-1/7/9/15.

The 12-bit line - first personal computer available that cost less than $50,000 - goes PDP-5/8[a bunch of 8s].

Then of course there was the old 36 bit big computer that derived from Ken Olsen's graduate days at MIT ... the PDP-6/10 series.

Those were the days. Computers had lights on them, often lots of lights. And you could program them! :) :)

Nothing, though, beats the console of an old CDC 3300 that was available to me after high school. I wanted to steal the console on display at the Frei University in Berlin.

The PC took the romance out of computers ... instead of blinking lights we can program we have ... OFFICE! YUK!

Posted by Lamar Owen on
And you can play with them, if only via emulation, thanks to simh.

I'm not sure I'd want the power bill of a real DECsystem 10 or 20, but I can run one emulated on my laptop.

I'll save the power bill for

To the OP, you can run the code via simh to test, but your hardware is going to be mighty picky about things. You might be able to find the tools you need for hobby use on simh, but not sure of licensing issues on some of that stuff.

Posted by Don Baccus on
As it turns out ... there is no escaping Google.

Working for a newspaper, we got rid of our PDP-11's a couple of years ago. A company that I used to work for (Atex), made newspaper publishing systems out of PDP-11/780's.

The did a lot of custom hardware too, in the end there was a J11 turbo board with onboard sim memory (no more going over that 1Mhz bus to get to the memory boards, the speed difference was incredible.

We had a few compilers on there. There was a pascal one, but there was also a whitesmiths (??) C compiler that was insanely broken, if you nested more than 5 structures deep it would produce broken code.

Fortunately Macro/11 was a thing of beauty, reminds me pretty much of the 68000 assembly language which is probably my favourite micro-processor dialect of assembly.

Up until 3 or for years ago

* The boston Globe
* THe new york times

and many other papers will still being edited, subbed and produced on PDP/11 hardware. Quite a few large papers in the US still are although its decreasing rapidly....

Fond memories indeed.


Posted by Don Baccus on
PDP 11/780 is actually the 32-bit successor to the 16 bit PDP-11, technically it's the VAX 11/780. VAX stands for "Virtual Address eXtension".

There's a reason the MC 68000 assembly language looks much like the VAX's ... Gordon Bell's general register design and orthogonal instruction set for the 16-bit PDP-11 was the basis for the later VAX and also the 68K. The 68K was less orthogonal that either the PDP-11 or VAX. With these latter machines, operands could almost always be either memory or a register and the instruction set was very regular.

The PDP-11 is the only computer I'm aware of for which you can write a program which fills all memory with a copy of itself - running backwards!

mov -(pc),-(pc)

Where pc is the Program Counter, i.e. the register that points to the current instruction (actually points one word beyond as it is executing).

And of course the PDP-11 is why C has autoincrement and autodecrement operators ... they map directly onto the operand modes supported by the hardware.

Not only did Whitesmith's C compiler suck, so did the people at Whitesmith's.

Posted by Ben Koot on
For those not familiar with the trusted PDP-11, like myself, here's a picture.



Thats right r0-r15 could be address or data registers compared to a0-a7/d0-d7 on MC68000

re your comments about decrement and increment in C being direct relation to the underlying assembly language, what about LINK and UNLINK on the 68000, their main purpose was to preserve registers en-masse and really where there as far as I can see as a convenience for compiler writers!!

Still very good, if fast fading memories.

I was lucky to even get the PDP-11 experience I started with them in 1988 (aged 17), when in most other industries they where already 'OLD' technology.

Because of the lack of instruction cache, there where some amazing examples of self modifying code. ditto for the 68000. With the advent of the 68020 and associated instruction cache, such things became bad practice.

Nice trip down memory lane

Posted by Don Baccus on
Oh, all non-X86 modern computers are designed with the needs of compilers in mind. My example with the PDP-11 is the opposite of that ... C mapped the autoincrement/autodecrement modes to the language, rather than the modes being invented in order to make it easier to compile C or any other languages ...
Posted by willard west on
My company ( has been supplying many ESI users with an "updated" PDP-11 platform called the Osprey Co-processor. The product can run about 4 times faster that the PDP-11/93,4, but most ESI users have been limited to only about 30% throughput improvements by timing constraints inherent in the original ESI hardware and software design.

We can also provide modern upgrades/replacements for the entire HP1000 product series and most Data General Nova and 16-bit Eclipse systems if anyone has an interest.

Sold quite a few disk sub-systems to Dick Jensen of ATEX back in my earlier days in the industry.