• Please review our updated Terms and Rules here

SIMH/os8diskserver/PDP-8

Don,

Been there and got the tee shirt! FORT.SV is there but the SABRE assembler isn't. Shouldn't be too difficult to find it on a disk though.

That's what I am looking into next regarding the various FORTRAN IV compilers (or more correctly the run-time libraries). I don't think the problem is with SIMH per se - that is a pretty damn good emulation of the PDP-8 instruction set. I suspect the problem lies at the heart of the FORTRAN IV run-time library - so a little bit of detective work is called for here... That's going to have to wait until tomorrow - bedtime here in the UK!

And YES Mike - there are different versions of OS/8, FORTRAN and just about every other program out there in the wild. That's why this 'computing archeology' is so much fun!!!

Dave
 
F4 does indeed run perfectly with or without hardware floating point or EAE. The results you're getting are either due to corrupted FortranIV system files or incompatibility in the combination of files and/or the OS/8 monitor version.

Just to convince myself I ran the following:

5 READ (4, 10) S
10 FORMAT (E14.4)
WRITE (4, 10) S
S=SQRT(S)
WRITE(4,10)S
GOTO 5
END

both with and without EAE on Simh and on my own pdp8 which doesn't have EAE (or of course an FPS ;)).
It worked just fine.

I did the following on Simh:
1. downloaded diagpack2.rk05 and disk2_fortran.rk05
2. started Simh with rk0 = diagpack2.rk05 and rk1 = disk2_fortran.rk05 and booted rk0
3. deleted a whole bunch of .BX, .BI and endless other stuff from SYS: and copied the FortranIV files from RKA1: to SYS:
4. tried the above program - worked OK
5. set cpu noeae and rebooted
6. tried the program again (including recompile) - generally produced incorrect results

So I agree with what you're seeing but the fault is either in the images you've grabbed or some other incompatibility as suggested above. At the moment it looks as though Mike's more unusual problems (aside fro the occasional inability to load etc.) are down to this.

As a by-the-way you can't assume that any old .SV or .RL file will happily coexist with any other or even that a correct set of files will work with any monitor version (though this is much less common).

It's a bit late in the UK and I'm off to bed but I'll try to put up a working image for download tomorrow if I can work out how.

Hope that helps.
 
That sounds like a plan. I was going to try and make a system that worked in a similar manner - although copying the FORTRAN stuff to a blank disk and then trying various 'flavours' of OS/8 until finding a combination that worked.

Thanks for the info. that it DOES run without the EAE card set - so we are not wasting our time!

Incidentally, I have been unable to contact the guy that has those 11/23s. I have tried a few times by sending him e-mails and leaving messages on his answering machine. I may go through the switchboard next time to see if he still works there. If not - I will try someone else!

Dave
 
Well, what do you know. I started to look for a different disk image that had Fortran IV on them and I found one. I was using an image called 'disk2.fortran.rk05', that I found on pdp8online.com and decided to try a different image called pdp8-12.rk05. I looked at the image and found a copy of all the Fortran IV files that I needed. So, I thought I'd test it in SIMH. I erased all the old Fortran IV files and loaded these new files, and guess what, all my programs work! All the READS work correctly, the exponents and the square root. Amazing!

Then I copied these files into my PDP8 and it failed as it did previously. But, I betting I copied something wrong. So, tomorrow I'll try it again, hopefully it was a matter of fat fingers hitting the wrong keys. It did work in SIMH! Making progress, Mike
 
Well done Mike...

Looking back at post #158 I see you have copied the following executable files:

F4.SV
PASS2.SV
PASS20.SV
PASS3.SV
RALF.SV
LOAD.SV
FRTS.SV
LIBRA.SV

These appear to be all the executables (although you missed LIBRA.SV out).

What about FORLIB.RL? This is the FORTRAN IV run-time libraries - which is where I think the problem lies in the first place. I notice that you don't seem to be copying that but LIB8.RL instead?

Reading the FORTRAN installation chapter - I notice that there is an OS/8 utility called EPIC that permits file comparisons. When you get F4 working properly, it would be interesting to locate a copy of EPIC and find out which files are the same and which files are different. One possibility is that FORLIB.RL has been modified by the original user of the disk image that was posted and some of the modifications that were undertaken were not specified to work both with and without the EAE hardware (especially if the user PDP-8 had the EAE hardware fitted). Another possibility (as has been said before) is that the variant of OS/8 needs to match FORTRAN. I think this is perhaps less likely (but possible).

It is (however) vitally important that the same version of the FORTRAN compiler, assembler, loader, librarian and run-time system be kept together (i.e. don't just copy parts of a distribution) as this will almost certainly result in strange issues (speaking as a compiler writer myself).

Keep up the good work Mike - you will get there in the end...

Don't forget sometimes to double-check stuff you may have forgotten. For example "it worked on SIMH but not on my PDP-8 hardware". Did you double-check whether the SIMH pdp8.ini file has the EAE subsystem ENABLED or DISABLED? This may account for the difference - and can easily be done in the heat of experimentation.

Dave
 
OK, the reason the PDP8E didn't work with the new disk image where SIMH did, was entirely my fault. Made a couple mistakes, first I only copied pdp8-12.rk05 to my Windows XP version of Serial Disk. This came to me as I fell asleep last night, but I successfully resisted the urge to get up and try it. Then this morning after re-figuring out how to transfer files from the XP machine to the Raspberry PI (use WinSCP), I forgot you have to use a LINUX command cdmod 755 startserialdisk. My Linux knowledge is very low and have to relie on what others write. By the way I have gotten my Raspberry Pi machine to work with Serial Disk. Malcolm Macleod has posted a method to use Kyle's Serial Disk RK05 with a Raspberry Pi computer. I have gotten it to work, but it uses Linux which is still rather foreign to me. Anyway, after getting the correct disk image and the proper programming done, my PDP8E now behaves just like the SIMH program. All my programs work including the square root.

Dave I thought about trying to find out which file in the original FORTRAN file was bad. I thought that I'd just replace one file at a time on RKA0: and try to compile. Using SIMH works so fast it should not take much time, maybe this afternoon.

Using LIB8.RL was a mistake, the correct FORTRAN IV library is FORLIB.RL. I always double check, but even at that, I still make mistakes.

Thanks Mike
 
Well done Mike. You seem to have got to the bottom of it.

Things have overtaken me (not unusually) but in case it's of value to you I put some files up which might interest you. The page is at http://ccgi.theadamsons.force9.co.uk/pdp8software/os8diskserver/ .

os8v3q_160405.rk05 is a bootable OS/8 system disk for the os8diskserver. It's already got the SDSK device set as the system device so nothing to do but call it from the server as the first disk.

server -1 os8v3q_160405.rk05

os8v3q_simh_160405.rk05 is the identical disk but with RK05 set as the system device, so it will boot in Simh if you do:

at rk0 os8v3q_simh_160405.rk05
bo rk


This should let you see easily whether Simh and the real hardware get the same results on anything. The disk was built from the original distribution tapes but has a few patches as documented in the pdp8 software news (bitsavers). There's a batch file called TRIAL.BI which will, if you type 'SUB TRIAL' to the monitor's '.', do a quick run of the Basic, FII and FIV systems.

newserver.c is a slightly modified version of Kyle Owens' server which can serve up to 4 images (same command line, just adding -2 and -3 for the additional disks). serverdiff.txt is a diff with the original server just as a fyi. The SDSK handlers on the images have also been slightly modified so that they can handle the extra drives SDA0-3 and SDB0-3. You can use the images with Kyle's original server of course - just don't reference the non-existent drives.

os8v3q_sources1.rk05 and os8v3q_sources2.rk05 are non-bootable images with the sources etc. which came with the original OS/8 v3q full release.

For instance when I'm doing any development I usually start the server with:

newserver -1 os8v3q_160405.rk05 -2 os8v3q_sources1.rk05 -3 os8v3q_sources2.rk05 -4 scratch.rk05

Bob
 
Last edited:
I did a compare of F4.SV from pdp8-12.rk05 and disk2.fortran.rk05 from David's website. He provides a very nice disk file lister and then the option to look at that specific file in multiple different ways by clicking on the 'More' field. I hadn't noticed that option before - nice feature David! I chose the 'Display as 12 bit octal data' option and it presented me with an OCTAL dump of the file contents. I copied and pasted the two octal dumps (from the different disk files) into my OS/X editor (text wrangler) and told it to compare the two buffers. Major differences! So I can confirm that the two disks (pdp8-12.rk05 and disk2.fortran.rk05) contain different versions of FORTRAN IV. Now, which one is the latest version is something else...

Remember Mike, those who never make any errors never actually do anything!

Dave
 
My very first boss would tell me, don't be afraid to make a mistake, it proves that you are working, but don't make too many of them!

It would be nice to know what versions of what work with what. I just discovered the OS/8 VER command.

VER OS/8 - KBM V3T - CCL V3E

This must mean that I have OS/8. Is KBM V3T the version of OS/8? CCL is the concise command language. There are a number of different Fortran's, evidenced by the different documents. I see Fortran II and IV, then there is 4K Fortran and 8K Fortran. Yet I do not see in the documentation what machines these would work with. The OS/8 handbook mentions Fortran II & IV and their libraries, but what relation are these to the 4K and 8K versions? Then what is on all the disk images out there? Amazing, Mike.
 
@Bob - Thanks for posting newserver.c and your disk images. At this point, Kyle is up to his neck in trying to finish school but hopefully you will submit your changes back to his git site and all will be re-integrated into the source tree.

BTW, Kyle included an unannounced but astoundingly useful little bit of trickery in his last release (Dec 24, 2015). He provided a .ini file for SIMH that uses the linux socat utility to allow you to run SerialDisk images _directly_ from within SIMH. You can do all your experimentation, including loading system handlers, BUILD, etc. in SIMH, then load those images directly onto your physical hardware. No need for separate files for SIMH vs SerialDisk.

We (Malcolm and I) just discovered this gift during recent conversations with Kyle; it will be included in an updated version of Mal's SerialDisk setup guide. Kyle put this together as a "development aid"; he couldn't understand why we were so excited about it as a "utility". :)

Jack
 
Thanks for that Jack. I mentioned the mods I'd made to Kyle a few months ago and he told me then about his socat experimentation. I was never able to get it running either on my Pi or on Cygwin setups though and I don't have any other native Linux machines to hand presently so I abandoned it at least for the meantime. I'll revisit it sometime.
 
Bob, I am interested in your 'NewServer'. I began studying your post. I assume that I would have to compile newserver.c, as I did in Kyle's write up. Kind of follow that procedure? So, I downloaded newserver.c and then attempted to down load the *.RK05 files, but they opened up in a browser page. Something not right here? Mike

PS, I noticed that you have a OS/8 version number of V3Q. My OS/8 version is V3E. Do you think that the last letter could be a minor version change number and the 3 is a major change number?
 
Probably my incompetence - the .rk05 files are OK though, I checked after posting them. Depending on your browser just right-click or whatever and Save (but not as an html obviously).
(Just checked on IE - right-click, Save As, change filetype to *.* and filename to take out any .html or whatever). I'll try to do better next time ;)).

DEC's OS/8 release numbering is a bit confusing, I've seen a few references to Sales Department dabbling, but in this case I think that both KMv3E and KMv3Q are compatible versions of OS/8 v3D. V3D lasted with various minor changes until OS/78 (another Salesman title) IIRC. Anyone else have more input on this?

Much of the OS/8/78 well-behaved software (ie which uses the standard OS/8 access routines) runs on any version but stuff which interacts at a lower level (eg BUILD, some of PIP etc.) are very version dependent.

<edit> I think the problem may be with the server I use for this bit of my site - it seems to default to serving things as web pages and I don't know how to persuade it otherwise :(. </edit>
 
Last edited:
Bob, today I took some time today, to try out your 'newserver'. I compiled newserver.c in both my XP and PI machines. Copied the disk images to both and created a copy of one of the source.rk5 images as the scratch.rk05 image. Made new batch files for calling each. And all the stars and moons must have been in order, because it all worked!

I found that I had 4 drives each with two sides (inner and outer?). They all had stuff on them. I did notice a couple differences between your OS/8 version V3Q and my V3E version.

1. The rubout works different. V3Q is the traditional DIT/TR, where as V3E does a backspace, space rubout.

2. When doing a DIR, the V3Q displays 90 characters per line and wraps around 10 characters on the TTY. whereas the V3E only does 80. Now I didn't actually count the characters. It may be that the V3Q is 80 and V3E is 72. But the V3Q has a longer line.

3. At the end of the DIR the V3Q only display the FREE BLOCKS, whereas the V3E also displays the number of files in so many free blocks.

I ran a short 6 line Fortran file and compiled it. It worked just fine. So there maybe some other differences between versions, but it is nice to have more room.

Do you think that the V3Q is a later version than the V3e? Thanks Mike.
 
Hi Mike, glad it worked for you.

OS/8 has a number of options and switches. I use a wide terminal so I've set the terminal width to 120 and the default directory listing to 4 columns. If you type 'HELP DIRECT' you'll get the switches for the directory listing. 'HELP SET' will give you the options to modify the behaviour of (say) the TTY handler. So for instance:

.DIR =2 will list the directory in 2 columns
.DIR /A=3 will list in 3 columns in alphabetic order
.SET TTY WIDTH 72 sets the 'teletype' width to 72 characters
.SET TTY COLUMNS 3 sets the default directory listing to 3 columns

And so forth. Hope that helps. Some of the OS/8 documentation, like others, has either disappeared over time or is hidden in obscure documents. You can't always go on the apparent version of things. DEC issued lots of modifications in the form of 'patches' and sometimes the versions weren't changed. Also, of course, the available on-line images are all historic copies of someone's working disks and who knows what changes they may have made or whether they patched things properly. The copy I posted was built from copies of (I think ;)) original system tapes but then I've 'updated' a few things myself so it's not really a pukka release either. Also I copied the DIRECT.SV from a later release because I liked its extensive options. So it goes on.

<edit> should have mentioned that .SET TTY (NO)SCOPE changes the rub out behaviour to suit either a screen or a hard copy output.</edit>
 
Last edited:
I forgot to mention that when I modded the diskserver handlers I also took out the BSW instructions and replaced them as required with Rotates so they should work OK with pre-omnibus 8s also. Not that there are all that many around of course - how I wish I hadn't had to part with mine, but just too little space alas. Be good if someone was able to try them.
 
I continue to be amazed at how versatile these early programs were. Thanks for the info on the switches. I'll give it a whirl today. I'm sure there is a LOT of stuff that is still to be uncovered. Mike
 
This morning I played with the HELP. Seems that any program that is a .SV can have a HELP, but not all do. Where is the help? Is it part of the .SV file or a separate file else where?

This afternoon my friend from the machine shop where I got my PDP8E computer from called and mentioned that he found a box with stuff that looked like it belonged to my computer. He asked whether I wanted or not. Of Course! Turns out there were a bunch of Mylar punch tapes (these were the programs for machine part runs), a few more Kearney and Trecker cards and maybe a half dozen over the top connectors that connect two DEC cards together.

My question is, are these connectors all the same. Seems they are two connectors that connect 18 contacts each together. The ones I have are labeled 'DIGITAL P/N 12101520'.

But.... the real prize came at the bottom of the box. A set of M8340/41 EAE cards. The M8340 has a stamped AUG 13 1974 on one side and a circle sticker OCT 75 OEM on the other. The M8341 has a stamped DEC 30 1974 on one side and a the same sticker on the other. Looking at these cars, there needs to be some over the top connectors on these cards, but only two of the line up. The M8340 has a spot for two connectors at the two left positions and the M8341 has two spots but in the middle of the card. How are these cards supposed to be installed in the machine?

I told my buddy, I owe him and his wife a Sunday breakfast. Christmas in April, after all it did snow this morning.

Here are the connectors I'm talking about
IMG_0287.jpg

Here are my new to meM8340/41
IMG_0291.jpgIMG_0288.jpgIMG_0289.jpgIMG_0290.jpg

Here is my PDP8E and CPM computers in the Rack that Jack gave me
IMG_0292.jpg

AND my PI computer, which has more computing power that all the other stuf in the picture combined.
IMG_0293.jpg

Mike
 
I found this. Apparently the timing board is first, then the 8340/41, then the major registers.

EAE.JPG

I want to change out the filter capacitors prior to pluggin the boards in and then I can try the MAINDEC programs for the EAE. This time it will mean something. Mike
 
Back
Top