And if second serial port isn't implemented yet their is a version that works on the console port
https://github.com/dustyoldcomputers/console-serial-disk
https://github.com/dustyoldcomputers/console-serial-disk
Not only fun, this is a great thing!This Mac simulation with all the hardware extensions looks fun:
Os/8 will run fine in 8K. The only exception is when the system device driver cannot be made to fit in the last page of field 0 along with the other overhead that also needs to live there.Ok, so I have tracked the following text down in the OS/8 V3D System Reference Manual:
View attachment 1268310
That looks conclusive that I should be able to run OS/8 on an 8KW machine. OK, it might be a limited system, but that comes with the territory...
Yes. Most commonly folks mimic the RK05 geometry, as that arrangement is simple, but the result is fairly roomy. The existing serial disk device drivers and their associated servers have trod this ground already. Problems with RESORC, etc. persist, but mostly don't prevent things from working, so much as make them look wrong.I assume that I would write my own serial disk device driver that 'masquerades' as an existing disk device that supports the associated disk geometry. That avoids (presumably) having to modify PIP, RESORC, BUILD etc.
RESORC in particular has many versions, newer ones are not even written in PAL. So far, no-one has managed to fix all the issues there. As a result, user drivers are often mislabeled in the output.Are there any other gotchas I need to consider?
OK. If your new device looks just like, say an RK05 driver, with the same names, entry points, and sizes, then things are fairly easy. The boot device will supply it's driver from block 0, which will be installed in the last page of field 0 as SYS:. Since it's permanently resident, things just work.My current problem is where are all instances of the 'old' device driver squirreled away?
That is a nightmare. You'll need to be a serious masochist to enjoy that.The obvious way of building a new disk is to start off with an existing (say) RK05 image and patch the beast.
The other way is to start off with the paper tape distribution and build a system from scratch.
ISTR something like that, but loading from paper tape is so slow and (for me at least) error prone, that I haven't even looked at that process in years.Where are the disk driver(s) actually stored for BUILD to use? I can't see them within the BUILD source. Or are they somehow 'tagged onto' the end of the BUILD tape?
I hear you there! I'm puzzling over the DMS manuals at the moment. Took me some minutes to understand how to even list the directory. Now I'm trying to understand how files and directories are stored, and ... yikes.I am re-reading the OS/8 manuals - but there is only so much a brain can take in at any one time before leaking...
Two page system handlers is the only thing I know of. In the case of a 2 page SYS handler the first page is found from 07607 to 07743 and the second page is loaded between 27600 through 27777. The TD8E handler and the third party byte version of the RX0X handler are the only ones I can think of off the top of my head. I strongly suggest avoiding a 2 page system handler. The implementation was a kludge from the start.What are the constraints that will 'break' OS/8 running with 8KW?
Yes.Is it just the 'size' of the disk/tape device driver?
No. PIP uses handlers in the regular way. What it does have is special knowledge of the size of devices. This is so when you tell it to format a device it knows when to stop. It has to know this for things like the RK05 and RL01 where there are multiple partitions stored on a device. For example, if you write off the end of RK0A you will start overwriting the beginning of RK0B and blow the directory. In theory the handlers will not let this happen but almost none of them enforce this because there is no code room to do the test.Is it also true that PIP contains it's own copy of the device drivers - designed for interrupt use?
For the most part this works. PIP needs to be patched for User defined handler sizes which does not apply here. RESORC knows about DEC devices so it works for them but not for user defined devices. BOOT may also have some device specific information. I have not looked closely at it.I see there are data/code within various programs (e.g. PIP/RESORC) to handle different devices. Presumably, if I piggy-back my device driver off another one, and mimic the device geometry, all of this will be well. I have already done this with my existing device driver and it seems to work fine.
One that surprised me was the way BOOT copies the system info from the old system device to the new one. It performs a read using SYS. Then it saves the last page of field 0 somewhere and loads the new SYS into the last page of field 0 and does the write. It then puts back the saves the last page and puts the original back. I think of these are Read SYS and Write SYS. Because in Console Serial Disk the Read SYS and the Write SYS were the same where one of them was pretending to be an RK05 and the other the Virtual CSD 4095 block image it didn't work. The entry point address is passed to the server and that is what is used to determine the virtual device. In the case of BOOT both of the entry points were 07605 so both were the emulated RK05 image. So it copied the system blocks over the top of itself. It didn't hurt anything but it didn't work to create a bootable image either.I am still trying to work out where all the 'gotchas' are though!
I think the only thing in PIP is that it assumes the device size by using the entry point address to figure out the size of the device for non system devices. This is why you have to patch the size for non DEC devices. I need to do more research for my book on this topic.Just having a look through the V3D OS/8 sources. I see device tables embedded within RESORC, but nothing obvious jumping out at me within PIP.
What they don't say here is that you can't boot from the TD8E with only 8k. But if you have the RK05 why would you want to?Ok, so I have tracked the following text down in the OS/8 V3D System Reference Manual:
View attachment 1268310
That looks conclusive that I should be able to run OS/8 on an 8KW machine. OK, it might be a limited system, but that comes with the territory...
I assume that I would write my own serial disk device driver that 'masquerades' as an existing disk device that supports the associated disk geometry. That avoids (presumably) having to modify PIP, RESORC, BUILD etc.
Are there any other gotchas I need to consider?
I use DMS with my straight 8 so some experience if you get stuck. I have code to extract stuff from DMS images to generate my web pages I can send if useful to you. Did send them to someone. Was that you?I hear you there! I'm puzzling over the DMS manuals at the moment. Took me some minutes to understand how to even list the directory. Now I'm trying to understand how files and directories are stored, and ... yikes.
Yes, you did send the stuff to me a while back. I'm gradually reminding myself of things I guess I used to know, but this time starting from the context of actually using DMS.I use DMS with my straight 8 so some experience if you get stuck. I have code to extract stuff from DMS images to generate my web pages I can send if useful to you. Did send them to someone. Was that you?
http://www.pdp8online.com/pdp8cgi/d...es/dms/monitor_system_maindecs.tu56;sort=name
You are welcome.Thanks for the other 'gotchas' Doug - that will save some further head scratching.
Is their a functional RF08 around? I haven't seen one. Probably could make one under SIMH.Are there also RF08 images around? It looks like every media typpe moves the directory and SAM blocks around. The RF08 also apparently has partitions, whereas the DF32 doesn't.
I've not seen one either. The only one I remember seeing is the one at the Computer Museum of America. I probably walked by one in the basement of the Living Computer Museum but you would never know without opening the cabinet. I would guess it would have the same issues as the DF32 with the corrosion on the platters. Do you have any operating DF32? I don't plan to even try to get my 2 platters running.Is their a functional RF08 around? I haven't seen one. Probably could make one under SIMH.