• Please review our updated Terms and Rules here

SerialDisk Support/Idea/Info Thread

antiquekid3

Veteran Member
Joined
Nov 10, 2009
Messages
594
Location
Alabama
For those not familiar with SerialDisk, I created a bit of software with the help of David Gesswein and others about a year ago that allows an Omnibus PDP-8 to boot OS/8 via a second serial port attached to a modern computer running a simple disk server. It uses SimH-compatible RK05 images, but is not RK8E register compatible. It requires modifying the system handler and handler table for full OS/8 support.

It's an open-source project, and you can find all of the related files on GitHub. There's a how-to guide under the docs subdirectory, which is mostly up-to-date.

I see from discussion with others that the documentation is lacking, and that's something I would like to find time to improve. Just for instance, it references SD0: through SD4: for the four sides of the two RK05 images. Those should be SDA0:, SDB0:, SDA1:, and SDB1: instead, to better track how DEC numbered the devices with the RK8E handler.

Here are some areas of improvement that I or others have been brainstorming:

1. Improve support for classic PDP-8s, pre-Omnibus, by eliminating Omnibus-only instructions (BSW, for instance)
2. Improve support for the DECmate series (I now have a DM III to play with, so this may happen soon)
3. Add support for the Omni-USB board to take advantage of the high speed
4. Add a snippet to disable interrupts for better support with FRTS and other interrupt-driven programs
5. Start supporting P?S/8 with the help of Charles Lasner
6. Support the DR8-E parallel interface and connection to a microcontroller for faster transfers (will require DR8-E hardware mods and major server changes)
7. Add ION/IOFF support (not sure this is necessary, and not sure I have room either in the system handler)
8. Ensure Cygwin, OS X, Linux, and FreeBSD are all supported (termios.h seems to be the biggest difference between these, particularly max baud rates)
9. Refactor codebase, use header files, more comments, etc.

That's what I can think of off the top of my head. Does anyone else have any ideas?

I open-sourced SerialDisk in hopes that some people would contribute directly to the codebase without channeling through me directly. I'd love to see some user contributions!

Also, I tried to do a mental tally of how many people have successfully used SerialDisk so far, and think it's around 10. If you can chime in here and let me know if you've used it successfully, I would greatly appreciate that. Thanks!

Kyle
 
Hi All;
Kyle, as You know I am interested, but, as You know, it will be awhile before I am ready to proceed with trying it out, and would be ready to upload and see if it works on my system..

THANK YOU Marty
 
Kyle,

First of all, I am, as you know, a very happy SerialDisk user. Thank you very much for putting this together! I currently use it on my 8/F, with the boot code set up in an M847 diode board and SerialDisk running on a Raspberry Pi. I've also used it with my 8/A but haven't tried to burn a boot ROM for it. Here are some thoughts/requests -

- I'd like to see you include support for non-OMNIBUS 8's but I don't know how tight you are on space for adding additional instructions. It's also not clear how many earlier 8's have enough memory to run OS/8 but of course if you have P?S/8 running, then there are (many?) more potential users. Along those lines, anything that let's this system see the light of day would be welcome. I'd be happy just to know how to pronounce it!

Could the SerialDisk framework be used to load one of the smaller monitors? This would be a major branch, essentially asking it to become SerialTAPE, doing a DECTape emulation via serial port, kind of an OMNIBUS TU58 emulator. Obviously this is not a quick add-on.

- My request for ION/IOFF support was overkill - what I really should have asked for was simply disabling interrupts to support the FRTS (= Adventure) - so no need to squander time and code space on the ION request.

- More (or better documented) debugging functions - my system occasionally goes off the rails with the server reporting that it has received unrecognized requests from the 8/M (sorry, I'll grab the actual text next time it happens) but I don't know what the actual input/request was. The jump circuitry in my M847 is a little wonky and gets lost sometimes; I think this is when I get those messages.

- OMNI-USB, of course.

- Header files and comments would be great!

I'm happy to do anything I can to help with testing, etc.

Jack
 
Last edited:
Some Open Source programs like SIMH, include Project and Solution files so that they can be compiled with Microsoft Visual Studio. The debugger in Visual Studio is quite nice, so there is some value in this to Windows users/developers.

It is not much work to add a Windows GUI to an existing program. This would let you drag-and-drop an RK05 image onto the server. We could also add a some real-time display of the head/track/sector that is being read or written.

I have used your serial disk program very successfully on my PDP-8/e.
 
I've also used it with my 8/A but haven't tried to burn a boot ROM for it. Here are some thoughts

Jack


Jack, send me a Pm with your address - I figured out how to do the serial boot loader in GAL devices, (eventually in bipolar ROMs when I have time)

- Crawford
 
Kyle,

First, serialdisk is awesome, and thanks for releasing it. I'd be happy to help any way I can. I think a lightweight version that could be compiled on TCC (Tiny C Compiler) on a really small small platform would work well in a lot of people. That might also cover DOS and some other platforms.

-Crawford
 
I've used SerialDisk whilst debugging a TU56/TD8E on an 8/e. Very convenient and troublefree - many thanks.

To keep clutter down on my bench I use a single PC running Windows with Cygwin for SerialDisk concurrent with Hyperterminal for TTY or Brays for papertape emulation.

Slow progress because of a lack of a formatted/formattable dectape and on the backburner meantime for the summer but I'll get back to it in a few months ;).

By the way, has anyone managed to get a copy of P?S/8 ? I had understood that Charles Lasner hadn't released it to anyone and sadly he seems to contribute much less these days. I would be very pleased to have a copy!
 
Last edited:
Could the SerialDisk framework be used to load one of the smaller monitors? This would be a major branch, essentially asking it to become SerialTAPE, doing a DECTape emulation via serial port, kind of an OMNIBUS TU58 emulator. Obviously this is not a quick add-on.

Hmm. For any program that talks directly to a device, this wouldn't work. It sounds like these early small monitors would do exactly that. Remember, the handler I wrote ties in with OS/8. There's nothing stopping you from writing your own driver for another monitor. Both SerialDisk and DECtape are block-level devices, so modifying the code would be straightforward, I'd think. Now, I see this being much more feasible with a modern production board which can emulate a block storage device with a CPLD, SD card, microcontroller, etc.

- More (or better documented) debugging functions - my system occasionally goes off the rails with the server reporting that it has received unrecognized requests from the 8/M (sorry, I'll grab the actual text next time it happens) but I don't know what the actual input/request was. The jump circuitry in my M847 is a little wonky and gets lost sometimes; I think this is when I get those messages.

You can build the server with debugging support, but that doesn't fix the issue at hand; something is definitely wrong if your system goes wonky. I'd say check the serial card if it's not the M847. I've run SerialDisk in all kinds of ways since its inception and have never had things go wrong like you describe. The only things I've done to make it unhappy is an incorrect baud rate and a broken KL8E.

Kyle
 
First, serialdisk is awesome, and thanks for releasing it. I'd be happy to help any way I can. I think a lightweight version that could be compiled on TCC (Tiny C Compiler) on a really small small platform would work well in a lot of people. That might also cover DOS and some other platforms.

Glad you like it, Crawford. No reason it shouldn't compile with TCC perhaps with small modifications. I do all my development with clang/gcc on Linux and OS X, but you could get this going under DOS too without much difficulty. Personally, it's not something I have an interest in supporting, but if someone in the community wants to add some #defines for it, I will certainly incorporate that into the repository.

Kyle
 
By the way, has anyone managed to get a copy of P?S/8 ? I had understood that Charles Lasner hadn't released it to anyone and sadly he seems to contribute much less these days. I would be very pleased to have a copy!

He's still working on getting the source for the 1989 edition back together from old tapes and disks. He'll hopefully be releasing it soon-ish.
 
Some Open Source programs like SIMH, include Project and Solution files so that they can be compiled with Microsoft Visual Studio. The debugger in Visual Studio is quite nice, so there is some value in this to Windows users/developers.

It is not much work to add a Windows GUI to an existing program. This would let you drag-and-drop an RK05 image onto the server. We could also add a some real-time display of the head/track/sector that is being read or written.

Hmm...I don't even have a running Windows machine at the moment, so this isn't something I could do, but if anyone wants to add a GUI, that'd be neat. I'd personally strive for Qt or the like to make it fully cross-platform, but then again, I probably wouldn't be doing it in the first place; I have no experience with GUIs. I also enjoy my time in the command line. :)
 
Kyle,

I also remembered something I thought a while ago. How about a version that runs on an Arduino with an Sd card? It wouldn't be the fastest, but would probably be the cheapest solution. I take that back, if you use a teensy 3.1 it would be fast and cheap.

-Crawford
 
Good idea! That should be straightforward enough. My eventual goal is to have a completely redesigned board that can truly emulate an RK05 down to the register level, but I think a small SerialDisk system would be a good interim solution.

Kyle
 
Crawford / Kyle,

The arduino SerialDisk server would be awesome! I already built the TU58 arduino emulator and so could probably just reflash it for SerialDisk : http://www.vintage-computer.com/vcforum/album.php?albumid=271&attachmentid=22656.

Kyle, a register level RK05 emulator will be the fantistic bit of work that awakens the hundreds of sleeping omnibus pdp-8s still in garages, closets, and under workbenches. I would like to see everybody who has an omnibus 8 be able to run Adventure!

Lou
 
Last edited:
Back
Top