• Please review our updated Terms and Rules here

Calcomp 563 software options

gnupublic

Experienced Member
Joined
Jan 23, 2019
Messages
254
Location
Germany, Berlin
In three weeks there is VCFB in Berlin (Germany) and I will show the ZUSE Graphomat files.
Read in by a GNT reader/punch converted by a pdp8/e on my Tektronix 7006-1 Terminal. Like I did this here:

HERE

I also would like to plot them on the Calcomp. Yesterday I got the Calcomp plotter running from it's panel. Movement is OK, the pen first had some contact problems, but is now working fine.
I also found the M842 (and one spare).
From the documentation side I found most things on Davids site:
HERE, a treasure of information!

But reading the Handbook I only found plotting integration into Fortran 4 or with PAL8.

Can anybody point me to more information about FOCAL or BASIC. Is there a program that can plot a TEK plot on the calcomp?
Thanks,
Volker

IMG_8930.jpg
 
Last edited:
...
But reading the Handbook I only found plotting integration into Fortran 4 or with PAL8.

Can anybody point me to more information about FOCAL or BASIC. Is there a program that can plot a TEK plot on the calcomp?
...

View attachment 1287215

Congratulations for having scored a functional Calcomp plotter in such a nice condition.
Historically most serious plotting applications (and libraries) were written in Fortran, so it would make sense to use Fortran for authenticity when writing a demo program for VCFB.
 
Can anybody point me to more information about FOCAL or BASIC. Is there a program that can plot a TEK plot on the calcomp?
There was a extension for FOCAL. See PLOTR page 57 of PDF. I didn't find a tape for it in a quick search,
http://bitsavers.org/pdf/dec/pdp8/focal/DEC-08-AJAB-D_FOCAL_Programming_Manual_Jan70.pdf
I don't remember seeing extensions to BASIC.

Can you run OS/8? If so you can use my FORTRAN program which reads vectors from a file and plots them. If interested I can put it online if I didn't.
I haven't looked at how hard it would be to use the PAL8 code.

I've demonstrated my plotter a couple times. Looks like I haven't put up this years show. Older one.
http://www.pdp8online.com/shows/vcfe17/pics/P1090861.shtml?small
 
In three weeks there is VCFB in Berlin (Germany) and I will show the ZUSE Graphomat files.
Read in by a GNT reader/punch converted by a pdp8/e on my Tektronix 7006-1 Terminal. Like I did this here:

HERE

I also would like to plot them on the Calcomp. Yesterday I got the Calcomp plotter running from it's panel. Movement is OK, the pen first had some contact problems, but is now working fine.
I also found the M842 (and one spare).
From the documentation side I found most things on Davids site:
HERE, a treasure of information!

But reading the Handbook I only found plotting integration into Fortran 4 or with PAL8.

Can anybody point me to more information about FOCAL or BASIC. Is there a program that can plot a TEK plot on the calcomp?
Thanks,
Volker

View attachment 1287215
Hi Gnu,

It's been a long while since I heard anything Calcomp. I can't help with your present problem, but I used to maintain Calcomp and Versatec electrostatic printer/plotters back in the early 80's for a company that manufactured the electrostatic paper and toner for those machines. All ancient history now.
 
Hi Gnu,

It's been a long while since I heard anything Calcomp.
Back sometime around the mid 70's my father, in an effort to teach my sister and I something about investing, bought a few shares of CALCOMP for each of us and set up some sort of account. I was around 15 and my sister was 12. :D He did it because I had gotten interested in computers and I think, because it was a time when people thought you could do no wrong investing in computers. He was a smart man, but not very savvy in high tech. IIRC, the stock tanked and the company was sold and our shares were worthless within a few years.
 
Thanks for the information.

@djg , it would be great to get and learn from your program. I also saw the demo with FFT and PDP-8/I that was plotted, great demo!

@vrs42 , interesting is, that U/W Focal uses a device PLTR: to use the plotter routines. So it needs a handler and build. I found UWFOC on some tapes, will have a look at the devices there.

I also have to look at the TU-56 tapes I got from Gerold Pauler. His father had the 8/m together with this plotter. So maybe there is everything to bring it to work. I also have to look in the papers that came together with the hardware. Will be some nice investigating in old stuff.

So trying to work on it today, my dektop pdp8/e developed a problem. OS8diskserver did not boot today, It was the last card I changed, the M8650 with 38k4 baud.
 
@vrs42 , interesting is, that U/W Focal uses a device PLTR: to use the plotter routines. So it needs a handler and build. I found UWFOC on some tapes, will have a look at the devices there.
Hmm. Reading the code, it seems that U/W Focal is writing directly to the plotter. It seems to be saying that PLTR: can be used somehow with Library Open commands, but I don't see the implementation for that yet.
 
I think Calcomp only provided their interface routines in Fortran. The plotter only moves one step per command so any routine must drive it like that. very intensive..
 
@gnupublic The following may be useful.

There is a early CDC CYBER version of the Calcomp HCBS library mostly written in Fortran IV but with two smallish assembler helper routines (PACK and PACK1). The helper routines could be rewritten in Fortran IV or native PDP-8/e assembler. The rest should easily port to the PDP-8/e.


HCBS stands for "Host Computer Basic Software". It is described in Section 3 of the following manual:

 
Today I tryed the maindecs. But with no success.

maindec-08-d6cc-pb does loop immediatly.
maindec-8E-d6ab-pb throws an error, but I can't find a description for this maindec. So I don't know what this means. How to use this maindec is described in the schmetic for the M842 (found it on David's site).

Then I did a small loop, to send the motion register to the plotter. First an LAS to get the AC filled with the command:

0000 7604 LAS
0001 6506 IOT clear flag, load motion register, set flag
0002 2300 slow down
0003 5202
0004 5200 loop

With this litte code I can move the plotter in any direction. That's quite fine. Also I tested the pen up/down was ok.
This behaviour is the same with any of both M842 I have.
 
@djg , it would be great to get and learn from your program. I also saw the demo with FFT and PDP-8/I that was plotted, great demo!
Put some stuff here. Sample plots are tektronix 401x plots converted to my format.
http://www.pdp8online.com/ftp/software/plotter/

I also have spirograph code I can dig up if interested. Let me know. Looks like binary is on one of the system images. SPID8E.LD

Many of the files I was plotting were from https://tomislavmikulic.com/gallery1.html. He had restrictions on what I could do with them. If interested I can check if some can be made available.

When your done I would be interested in getting copies of interesting plots you did.

I think I did run d6cc maindec long time ago.
 
Thanks a lot @djg! Will have a look at it, when I have the M842 running.

It's strange. I use a M8650 @36k4 for the os8diskserver (40/41) and a M8655 @2k4 for the console, and an M8655 @1k2 for the GNT reader/punch at address 30/31.
This is working for a while without problems.
But now with the M842 in the box, two M8650 broke down. Hopefully there is no connection to the M842.

It took me some time to find the last broken M8650, because OS/8 boots up, DIR is ok and a lot of other stuff, but I was not able to start UW-FOCAL. It stops loading and nothing happened, but with ^C I came back to OS/8.
Very strange.
This is time consuming....
And meanwhile I am short with spares for M8650.
 
Fortran will go into infinite interrupt loop if something generates an interrupt it doesn't know about. os8diskserver is supposed to prevent that for its device. You will need to make sure your GNT interface has interrupts disabled or always cleared.
 
Focal also uses interrupts so an interrupt from an unknown device will hang the ISR (Interrupt Service Routine). Is UW-FOCAL a special variant of FOCAL? I've only run FOCAL 69 from paper tape, never tried to run it from OS/8 and I would not expect it to do the right thing when you hit ^C if it was started from OS/8.
 
Only the newest version of OS8 disk server fixes the FTRS interrupt issue across the whole Family of 8 CPU's. At this point it has probably been tested on everything but a PDP-5.

If you pull the M842 does the issue go away? You might also be able to clear it if you halt the CPU and then hit clear and continue. The clear should clear any set flags on all the cards. If you need more detail on what causes the ISR to hang when a new device is added I can try to explain it.
 
Only the newest version of OS8 disk server fixes the FTRS interrupt issue across the whole Family of 8 CPU's. At this point it has probably been tested on everything but a PDP-5.

If you pull the M842 does the issue go away? You might also be able to clear it if you halt the CPU and then hit clear and continue. The clear should clear any set flags on all the cards. If you need more detail on what causes the ISR to hang when a new device is added I can try to explain it.
I would like to know why the ISR hangs with a "new device".
If the software enables interrupt generation on the new device, then it better deals with it.
Is this poorly designed hardware which has interrupts "hard-enabled"?
 
I would like to know why the ISR hangs with a "new device".
If the software enables interrupt generation on the new device, then it better deals with it.
Is this poorly designed hardware which has interrupts "hard-enabled"?
The older hardware typically doesn't have a feature to enable/disable interrupts. That only really became a thing during the Omnibus era. Since the feature isn't available on the peripherals for the older CPUs, software designed to be run with them can't use it.

It's only an issue if interrupts are actually enabled, which is typically FOCAL, FORTRAN, or possibly a timesharing system.

The correct thing is not to leave the device requesting an interrupt, which on the old gear typically means "ready" flags cannot be left set.
 
I would like to know why the ISR hangs with a "new device".
In case the problem seems mysterious to anyone:

If the device is requesting an interrupt and they're enabled, an interrupt occurs.

The Interrupt Service Routine runs around, servicing devices it knows about, and returns from the interrupt.

If the device wasn't serviced (because the ISR didn't know about it), the interrupt is still requested, and another interrupt is generated. Note that it is generated immediately after the return from the previous interrupt. No progress is made on the non-interrupt part of the code. Only the ISR ever executes, over and over.
 
Back
Top