• Please review our updated Terms and Rules here

PDP8/M M8357 RX01/RX02 Question

MauriceH

Experienced Member
Joined
Apr 2, 2014
Messages
399
Location
Dordrecht , Netherlands
Have de PDP8/M with a M8357 RX01/RX02 card.
Downloaded a RX01 OS8 Boot image flop , Took a RX02 drive and set it to RX01 mode.
Bootstrap RX8E.
See initialize the floppy drive, See 1 Led on Ac light up thats it.

Did manage to load paper tape Maindec-08-DIRXA-B-PB RX8/RX01 DIAGNOSTIC PROGRAM
Sadly I only could find a -C or -D manual, But I in the end got some test going by trial and error.
I can see at the monitor and fysical at the RX02 the counting sectors and tracks, so something is working.

After reading some info at website http://www.chdickman.com/rx02/ ,
I read something about options M8357, Is it true that this card does not work with a
RX02 drive in RX01 Mode?
M8357-RX01-02_Opties.jpg
Maindec-08-DIRXA-B-PB_Tape.jpg
M8357-Maindec-Diag-001.jpg
M8357-Maindec-Diag-002.jpg
 
Hi Maurice,

I read something about options M8357, Is it true that this card does not work with a RX02 drive in RX01 Mode?

That is an error in that table. All my RX02 drives run in RX01 mode over here. That is on PDP8 and PDP11 and no problems at all...

Did you run all maindecs for the PDP8 including the memory management M837? If the machine still has an error then you can have problems to get a RX01 maindec trough the test. There is a minimum of tests to be done on the PDP/8 CPU that should run 100%. I fell in that trap once even testing a new VC8E board set. I could not get it trough the test. Even OS/8 did run fine. But there was a problem in de MQ register.

So make sure that you run all programs on the PDP8 to be 100% sure that the machine is working correctly. After that you can throw some maindecs to the RX controller...

You can find the PDP8 tests for the CPU and memory management here at the site of Don North for example.
https://www.ak6dn.com/PDP-8/MAINDEC/

Regards, Roland
 
Last edited:
Roland, Thanks for explaining RX02/RX01 issue.

Did several "Toggle In Program" tests.
I'll see I first go test some more Main Decs as you suggest.

Have some work to do running tests, I'll be back :p
 
Well, my first question would really be, why on earth would you ever set an RX02 drive to work like an RX01 with an RX8E???
 
Well, my first question would really be, why on earth would you ever set an RX02 drive to work like an RX01 with an RX8E???

Simple, I have several of these RX01 and RX02 drives. But not enough for all of my machines. Making images of RX01 disks is easy with IMD. And in my PDP11/10 I have the RX11 controller. So I can easily move the drives and also the disks between the machines. It is a bit lazy I have to admit... I've been given an RX211 controller recently, so I'm thinking to reconfigure one of these drives back to RX02 and use that controller. And I'm thinking to add switches on the back of a drive and connect these to the internal dipswitches.

Regards, Roland
 
Simple, I have several of these RX01 and RX02 drives. But not enough for all of my machines. Making images of RX01 disks is easy with IMD. And in my PDP11/10 I have the RX11 controller. So I can easily move the drives and also the disks between the machines. It is a bit lazy I have to admit... I've been given an RX211 controller recently, so I'm thinking to reconfigure one of these drives back to RX02 and use that controller. And I'm thinking to add switches on the back of a drive and connect these to the internal dipswitches.

Regards, Roland

Ok. Fair enough. If you are moving the drive around, and have RX11 controllers, then I can see a point. But in the OP case, as far as I understand, he has an RX8E and an RX02 drive, and he's setting the RX02 to be RX01 compatible. That just don't make sense.

However, with that said, I can't see why an RX02 set to RX01-mode would not work in an RX8E, just as a normal RX01 would. But it seems like a much better idea to keep it in RX02 mode, and be able to read/write all floppies.
 
Well for his maindec it might be a good idea to keep it in rx01 mode. After it passes the maindec you can use it in rx02 mode. Not all os8 images have the rx02 driver. Rx01 and rx02 drivers are not the same... So that is something to watch for as well.

Regards, Roland
 
Actually, even if you move the drive around, it don't make sense. You need to have the switches set differently when connected to an RX11, RX211 or RX8E. But for the RX8E, there is nothing on the controller to change. So if you move the drive from any PDP-11 to a PDP-8 you are going to need to change the switches anyway on the RX02. Why not go for RX02 mode?

If he only have RX01 test programs then fair enough, that would be a good reason to go with RX01 setting. But for a PDP-8, in general, the differences between RX01 and RX02 are way less than the difference on a PDP-11. The biggest risk/problem is if the undefined bits are non-zero when playing with an RX01. If you have an RX02 some more bits matter, and non-zero goes more into RX02 specifics. If left zero, it still works the same as the RX01 from a programming point of view.
I would suspect that even bootloaders and so on will work fine either with an RX01 or RX02 on the PDP-8, unless they are having reserved and undefined bits set in the code.
 
Actually, even if you move the drive around, it don't make sense. You need to have the switches set differently when connected to an RX11, RX211 or RX8E. But for the RX8E, there is nothing on the controller to change. So if you move the drive from any PDP-11 to a PDP-8 you are going to need to change the switches anyway on the RX02. Why not go for RX02 mode?

I've almost always seen them set for RX01 mode when using the RX8E. There are a couple of reasons for this, I think.

The main issue is that the drivers are not the same -- the system driver, in particular, is quite space constrained, and there is no room in the code to decide how many sectors to read to get a block. It is a decision that has to be made at assembly/system build time. So setting up for RX02 means you need *another* driver, at least, to read RX01 media. As a practical matter, it means you have to choose.

The drivers for RX02 weren't available at first, so a lot of the existing stuff out there is RX01.

Also, when I use real media, RX01 (being an industry standard format) media are quite available. Since you can't reformat, that matters.

I do have one 8/A whose RX02 is in RX02 mode , and it is a pain that nothing else can read the media. (The PDP-8 also predates networking, so sneakernet is all they have.)

Vince
 
Hi Vince,

Yes the RX01 and RX02 drivers are quire different. The bootstraps are different too. The RX02 drivers are a lot bigger as well. I've edited the non system RX01 and RX02 drivers to be able to add a second drive. So I have a boot disk image which has RXA0...RXA3. In this way I can use two RX controllers. (on the primary controller at 75 I usually have an RX emulator, and on the secondary at 76 I have usually a real RX drive). There are very little OS8 disk images on RX02 to be found. So for me RX01 mode is just very easy. I have several hundred of disks so I don't worry about the space. To be honest, I'm looking for a good RX02 disk image that has OS/8 and a good working version of BUILD on it with all the installed driver files on it as well.

But the discussion is getting a bit outside the question that Maurice asked...

Regards, Roland
 
Sorry I don't get it this argument.
As long as there is NO way to IMD RX02 disks with a PC driven 8"drive attached too, I have no other option than to strap it to RX01 to imd a nice 8ich ffd and load a OS8 boot.
That is for the moment,.... try to load.

And as I am also stuck with 1x M6855 async, due to fact the 2nd a M8650 is defect.
I use that to attach the VT420 terminal to get some view of what is happening.
Even have no RX02 I "stole" it from a PDP1123.

Yes I am aware of simulators, but first get the basics going.

Had already years off struggle to get the PDP8M even going as it is, was full dead on arrival with many failures.

I don't know if that M8357 is fully OK, the RX02 is,as it is from a working pdp1123.
Got from Roland a good working RX01 IMD to boot OS8 so that also is not the problem.
Bootstrap is from or the M847 (RX01 boot, checked) or the M847-A with multiple boot options fi. RX01.RX02.
So I can choose.

Thought I start with the lowest option RX01.
SO far the heads of the RX02/01 are stepping but with as assumed , see photo, reading err.
Then I stumbled arccos that RX02 simulation project and read about a table that presumably a R02 in Mode RX01 would not work proper with RX8E.
If so I am looking for a failure that in fact isn't there.

Now confirmed it is not a problem, I;ll digg further into the pdp8m too see what failure it has.

At the moment I am digging logic of that defect M8650 board, as it is better to load things.
I'll be back
 
Um. Let's get one thing straight here. If you insert an RX01 floppy into an RX02 drive, it will look, act and behave no different than an RX01 put into an RX01 drive. Including that the programming to read the floppy is the same. You'll only get 128 words out of a sector on an RX01 floppy, even when inserted into an RX02 drive. The bootstrap will have to be the same as for an RX01 as well. The RX8E/RX28 is the same controller, and there isn't even any difference in the instructions. The differences is that the RX02 drive have some added bits that when you hook the controller up to an RX01 are just undefined or reserved.

An RX02 drive simply just have the capability of reading and writing both RX01 and RX02 floppies. And RX02 floppies just have twice as much data per sector. And floppies can be reformatted between the two formats.

If you want to read RX01 floppies, you do not have to strap an RX02 into RX01-compatible mode. All that does is basically disable the extensions that an RX02 have. Which means sloppy software might work on an RX01 but fail to read RX01 floppies on an RX02. But proper software will work just fine.

Yes, if you want to make use of the extended storage of an RX02 formatted floppy you will need a different bootloader and a different device driver. But if you just want to work on RX01 floppies, the RX01 software, unless it's messy, will work just as well with an RX02 drive.

And in addition, you could also have the device handler for RX02 in your system, and you could read data from that as well. Or use some of the drivers floating around that did the RX drives in 8-bit mode, allowing for even more storage.
 
If you want to read RX01 floppies, you do not have to strap an RX02 into RX01-compatible mode. All that does is basically disable the extensions that an RX02 have. Which means sloppy software might work on an RX01 but fail to read RX01 floppies on an RX02. But proper software will work just fine.

I'm saying it's an observed fact that flipping the switch to RX02 mode prevents booting a typical RX01 OS/8 floppy. So many (most?) folks leave the thing in RX01 mode.

I'd love to be wrong about this, but I've tried it on my 8/E, and it doesn't boot.

Vince
 
I'd love to be wrong about this, but I've tried it on my 8/E, and it doesn't boot.

OK. I think I'm getting a handle on why this is. It has to do with the toggle in bootstraps. I have identified four variants, with various complexity.

My ROM bootstrap card (bought it on eBay, but it's weird) relies on the initial sector read after a RESET to read the block. The drive switch must match the actual media inserted for this to succeed.

The more standard ROM bootstrap cards out there implement the bootstrap from the RX01/RX02 reference card. If they had started the code at address 0024, it might boot RX02, but it starts at 0033, so I think you have to manually restart it at 0024 after it hangs.

An alternate but commonly found online bootstrap boots RX01 drive 0 single density at 0032, and (if you toggle in the extra code) can also boot drive 1 single density.

The most comprehensive RX8E boot loader is found in the V3F device driver source. It loads from 0020 through 0061, and has code at 0020 to cycle the drive and density between attempts, as well as code to try another option upon any error detected. (I don't think many folks have even seen that one.) It is a couple of words too long to fit in the ROM!

(BTW, whatever is in my 8/A boot ROM doesn't seem to boot single density media with the RX02 switch set, either.)

Vince
 
One bit of good news -- I think Roland's boot card (and mine) have the V3F boot loader as the "RX28" option. So those boot cards, unlike the DEC ones, should be able to boot either media.

Vince
 
So Vince, If I Bootstrap that RX02 option 03 (RX28) and Leave the drive in RX02 mode, Should it be able to Boot the RX01 Fdisk?
Thanks for checking that on you machine.

Than again there is still a failure in or the machine or the card it self.
I did try that option. As I did try every combination of settings.
 
Ok. Checked some code. The old RX01 system handler for OS/8 is indeed very unclean and will not work with a drive set to RX02 mode, as it has junk in the undefined (for RX01) bits, which among other things selects density on an RX02 drive. Same with the RX01 boot loader.

The non-system RX01 handler for OS/8 on the other hand do look clean. The newer RX02 system handler for OS/8 can be compiled for either RX01, RX02 or RX03 mode, and the code is completely clean. However, it needs to be compiled for the explicit mode (obviously) since capacity differs, as well as having to explicitly set the density mode flag correct for the expected type of floppy.

So, if the system will work with an RX8E connected to an RX02 set in RX02 mode, booting an RX01 floppy depends on which RX system handler is used. If you use the RX handler provided with OS/78, it will work no matter which drive you use. If it was setup with RX01 as system device, it will boot with both RX01 and RX02 drives.
But the V3d RX01 system driver will not work, because it's just sloppy in a way that is incompatible with an RX02 drive.

I don't know if anyone cares, but that's a little more on the topic anyway. Basically, it could/should work, but it does require that the software don't set bits in registers that are not defined in the RX01, but which are used in the RX02. And the old RX01 system driver is indeed setting such bits.
 
Ok. Checked some code. The old RX01 system handler for OS/8 is indeed very unclean and will not work with a drive set to RX02 mode, as it has junk in the undefined (for RX01) bits, which among other things selects density on an RX02 drive. Same with the RX01 boot loader.

Ah, OK. I hadn't yet looked at the second stage boot or at the system handlers, both of which are needed for the system to come up. I had basically just found a large class of "operator error", wherein we are almost all using an RX01-only first stage bootloader optimised for length (toggling in).

This does mean most of the extant OS/8 RX01 floppy images (V3D and before) would require surgery to be made useable with the RX02 switch set. So I expect most systems that want to boot the actual old floppies will still need to set RX01 mode, rather than upgrade the system driver.

Someone should also optimise a couple of words out of the V3F bootloader so that it will fit in the M847/MI8E bootloader card :).

Vince
 
Ah, OK. I hadn't yet looked at the second stage boot or at the system handlers, both of which are needed for the system to come up. I had basically just found a large class of "operator error", wherein we are almost all using an RX01-only first stage bootloader optimised for length (toggling in).

This does mean most of the extant OS/8 RX01 floppy images (V3D and before) would require surgery to be made useable with the RX02 switch set. So I expect most systems that want to boot the actual old floppies will still need to set RX01 mode, rather than upgrade the system driver.

Someone should also optimise a couple of words out of the V3F bootloader so that it will fit in the M847/MI8E bootloader card :).

Vince

I think the original boot loader itself is also not compatible with an RX02. The RX system drivers for OS78 also contain a revised primary bootloader (in sortof documentation form), which will work on both RX01 and RX02 diskettes. You can check the code at:
ftp://ftp.update.uu.se/pub/pdp8/pdp-8/os78/v4/rxsy1.pa (for RX01 floppies that can be either in an RX01 or RX02)
ftp://ftp.update.uu.se/pub/pdp8/pdp-8/os78/v4/rxsy2.pa (for RX02 floppies)
(actually, those two files are really the same file, but with a symbol defined differently for RX01 or RX02)

But, as mentioned, this is all just when you want booting. The non-system RX01 driver in OS8 looks like it will work fine also for an RX01 floppy in an RX02 drive.
 
But, as mentioned, this is all just when you want booting. The non-system RX01 driver in OS8 looks like it will work fine also for an RX01 floppy in an RX02 drive.

That's good news for me, as it suggests I don't need a second drive pair to be able to image both kinds of media. I'll just need to boot from SerialDisk or the like and use the non-system handler.

Vince
 
Back
Top