
Originally Posted by
bobaboba
@DougIngram “For the Non-sys handler it is also called SDSK with four devices supported. SDA0, SDA1, SDB0 and SDB1. I have a version of serial disk that Charles Lasner massaged which allows for 8 entry points but I don't think anyone has ever tried it. To do so would require changes to the server. I started making changes but it was not an easy change to make on the existing code so I decided to write it over from scratch with 8 devices in mind.”
In fact I did the 8 entry point non-sys handler which Charles subsequently modified to run on a non-omnibus machine (which I tried to do by simply replacing the BSWs with rotates but it needed more expertise). More or less a hack of the standard DEC multiple-entry-servicing code. I also modded the sys handler to have 4 entries (equivalent to 2xRK05) which for most purposes minimises the number of handlers that need to be in memory simultaneously. The changes to the server side were minimal I thought - only really a matter of replicating the code which recognises which ID the handler has requested and associated file pointers. I use it as standard - works fine.
This means you must be Bob Adamson per the Charles comments. Thanks for setting me straight. The version found on Github is still the 4 device one from Dec 24 of 2015. Is there another repository with your updates?
I just went back and re-read Charles revisions history. He mentions that you did the update to 4 devices but nowhere is the 8 device support mentioned. I just assumed that Charles did that. Sorry about that.
At some point I will be uploading my modified version and I would hate to leave out your contributions. My version does 3 byte to 2 word mapping over the serial port making it 25% faster. But it has not been tested because this requires the more significant changes to the server side. It was this more than the increase to 8 devices which prompted the rewrite. To clarify, in some places you need to still do the current dual six bit transfers and during the large block transfers the server has to do the two words to three byte packing and three byte to two word unpacking. Unfortunately, the SYS handler has to be quite a bit shorter and there simply isn't enough room to add the packing and unpacking operations. A one page non sys handler is 128 words while the sys handler loses 7 words from the front (down to 121) and 28 words from the end making it have to fit in 93 words. A sys handler can use the data break addresses (7750-7755) for non-persistent temporary storage. What this means to the server is that it has to treat SYS and NON-SYS requests differently. And boot would need to be treated the dual 6 bit way until the transition to the boot2 code loaded from the server. And I wanted the new server to be compatible with the old handlers. So it would need to recognize different wake up codes to identify the handler.
Best Wishes!
Doug Ingraham
2nd owner of Straight 8 SN1173
5 other PDP-8's including an 8/i and a DECSet 8000
SOL-20
Bookmarks