Subject: another RX01 documentation error

From: "Douglas W. Jones" <[email-masked]>
Date: Wed, 2 Nov 94 14:11:10 CST

There's another error in the RX8/RX11 Floppy Disk System Maintenance Manual
that I forgot to mention in my previous post on such errors:

On page 4-5, Figure 4-5, documenting the RXSA Format (RX8E version)

As shown  00 01 02 03 04 05 06 07 08 09 10 11
         |  |  |  |  |0 |0 |0 |  |  |  |  |  |
         |__|__|__|__|__|__|__|__|__|__|__|__|
         \___________/        \______________/
           not used                1-32(8)

Reality   00 01 02 03 04 05 06 07 08 09 10 11
         |  |  |  |  |  |0 |0 |  |  |  |  |  |
         |__|__|__|__|__|__|__|__|__|__|__|__|
         \______________/     \______________/
             not used              1-32(8)

This is clearly documented in the flowcharts of the microcode (and in
the controller microcode itself).  8 bits are transferred from the
interface buffer to the RX01 controller, but then the microcode
deliberately masks out the high bit.  See figure 5-16 on page 5-20,
the second box down from continuation A in the flowchart. and in the
microcode, the block of code following PUTSEC (locations 0145-0157
in the 9-FEB-76 version of the microcode).  I found this because the
puzzling PDP-8 RX01 code I got from a diskette image that I still
can't boot actually sets bit 4, and this caused one of the errors
I've been working my way around.

This error also shows up in Figure 3-3 on page 3-3, documenting the
RXSA Format as seen by a PDP-11 (just add 4 more unused bits on the
left side of both of the above illustrations, then renumber the bits
from right to left.

Checking in the RX01/RX02 Pocket Service Guide, EK RX012-PS-002,
Sept 1981, this error is still present!  See Figure 1-5, page 15,
where the sector address register is shown, in PDP-8 format, and
Figure 1-7, page 17, where it's given in PDP-11 format.

This will matter for those developing RX01 emulators.  It shouldn't
matter to those writing RX01 applications code (except that keeping
bit 4 equal to zero does limit the selection of "wild constants" you
can use in packing your code).  I suspect that the extra microcode
needed to ignore this bit was inserted specifically to allowed
someone to squeeze one word out of an RX01 device driver by using
an otherwise unusable instruction as a constant.

				Doug Jones
				[email-masked]

---

From: Charles Lasner <[email-masked]>
Date: Thu, 3 Nov 1994 18:36:49 -0500 (EST)

Regarding the RXSA format:

I believe it's documented somewhere that the sector value is a seven-bit 
value, thus allowing an 8th hi-bit to be ignorable.  And yes, some 
8-programmers did use code with the bit set.

Note also, that on the DSD-210, you set the sector to 152 to initiate a 
format track operation, and on newer DSD drives (never on the -8, only 
the -11) you use 154 and 155 to get sd or dd, etc.

cjl