• Please review our updated Terms and Rules here

OS/8 running on a PDP-8/L with 8KW memory and a non-standard mass storage device.

I have just spent an hour or two reading the programming manual. Time to go and do something less stressful now and come back to it!

I am sure there are some mistakes in some of the example code - either that or I am misunderstanding something...

We need a "hello world" example of retrieving and processing command lines (OUT-, IN- and OPT-) and loading/invoking an overlay don't we?

It looks like the command decoder (.CD.) is relocatable and can, therefore, be loaded anywhere (by the invoking program) and that an 'overlay' is invoked by loading (and executing) the "MON 1 CALL" block. However, the annoyance, is that this block is dependent upon whether the system device is a disk or a tape (block 10 (octal) for disk and block 13 (octal) for tape).

As a result of using the CALL interface, it would appear that overlays have to be 'named' files on the disk/tape media and have a fixed load/execute address. I think this is a little limiting. I wonder if there is a more 'generalised' overlay controller somewhere? I have had a quick look through the DECUS software listings but I have not found anything as yet.

Dave
 
Have you looked at Appendix B of the TD8E document? I don't have enough context to be sure what they are saying or if it's relevant.
Missed that. Looks promising.

There is also https://svn.so-much-stuff.com/svn/trunk/pdp8/src/decus/8-587/decus-8-587.pdf.

The code is a little obfuscated by the FORTRAN interface itself, but if you look for label CCHAIN it seems to be followable.
Also looks useful but been too long since last playing with DMS. Will need some quality time to study and reread DMS manual.

Thanks for both. Will see if I can redo it properly for next demo in April for local science day. Also need to fix the straight 8.
http://www.pdp8online.com/shows/rsd23/index.shtml
 
I typed in some of the code from the PDF, and got what appears to be a working TD8E image for DMS:
(The PAL8 patch isn't applied yet, so beware.)

Has anyone taken the time to understand how dta0.bin was meant to get loaded?

Perhaps it has something to do with that utility that converts tape formats to be compatible with the OS/8 bootstrap? (I haven't typed that one in yet.)

Seems like expecting everyone to either have the TD8E bootstrap rom card or to read the equivalent in from paper tape is slightly lame.
 
I thought I remember reading that the utility patched it into the OS/8 bootstrap in some way.

EDIT: Yes, on page 2 of the document, first paragraph under the title "METHOD".

Dave
 
It's not as though you have anything better to do over Christmas is it!
I'm sure folks waiting for 32K memories and Space War cards woulkd disagree.

I've been distracting myself lately by refurbishing a Logic Lab and then to distract myself from that, I've picked up this DMS TD8E project again :).

(For some reason I have never been able to figure out, working on hardware projects leaves me feeling discouraged in a way that software projects generally doesn't.)
 
Yes, on page 2 of the document, first paragraph under the title "METHOD".
Well, I copy-pasted and edited the heck out of "tmod.pa" until I got a version that assembles, and is hopefully quite close to the original. Then I added a step after BUILDER is run, to load and invoke TMOD. The monitor restarts as expected, and goes on to install the utilitities as it should.

Unofrtunately, the result doesn't seem to boot. "BOOT TD" at the SIMH prompt detaches the media (presumably it ran off the virtual reel?), and the boot process spins at 7456/7457, which is to say in the TRQD routine of TBOOT. TRQD has return address 7425, which I think means it is the first call.
 
Last edited:
Do you want to send me your assembler listing (with the octal codes) and I will proof read it for you?

When I copied a load of firmware source code for the sphere It took me a while to get it right. I made the odd mistake here and there in transcribing it that I only spotted after a while.

Dave
 
Of course, I found the problem immediately after posting the above. The last instruction needs to be "JMP I TRQD", not "JMP TRQD".
 
Is there a LINCtape driver for DMS anywhere? That ought to be doable even in 4K.

Seems like we're close to being able to run DMS anywhere it would make sense to do so.
 
I'd also love to see a copy of this thing:
It appears I have DF32 and RF08 binaries; maybe there's enough information embedded to figure out how the heck an RK08 version was done.

Maybe it was a non-system disk only thing? Requiring you to boot DF32 or RF08, but then allowing PIP to access an RK08? But if so, what was this:
 
Does it work happily now? If so, there is no point in me checking the source over again?

EDIT: I wrote this hours ago - but for some reason it either didn't post - or I forgot to hit the button!

Dave
 
Does it work happily now? If so, there is no point in me checking the source over again?
It seems to be working, though I'm sure it still has typos, hopefully in the comments only. I did check the octal, but I missed that difference in the last word.

There is a pal8 patch, which I am unclear about. The installed assembler is pald, so I don't know if I should apply it.
 
It appears I have DF32 and RF08 binaries; maybe there's enough information embedded to figure out how the heck an RK08 version was done.
I looked at these briefly. The RF08 binary is definitely PIP. It prints prompts, etc. though I wasn't running it in DMS, so the commands don't actually work. The DF32 version just looped on a HLT.

A quick comparison and grep shows them quite similar to each other. Curiously, neither contains a single instance of "4242", the classic "JMS SYSIO" instruction in a system head.
 
Today I upgraded the PALD versions to d8-asac instead of d8-asab. I also added a copy of decus-8-367b, so that folks can use that to upgrade to PAL8, which would require 8K. That, however, would cause trouble for the TD8E version, as not all of the 8K is available there.

Unfortunately, I don't have a copy of the TD8E PAL8 patches that matches 8-367B. Nor do I have a copy of decus-8-333, to make the older PAL8. For now at least, I don't know how to make a PAL8 that will leave the TD8E driver alone.
 
Back
Top