>Johnny Billquist wrote:

In any case, adding and correcting the extra code was quite
easy.  The challenge was to also add support for a user buffer
being above the 1/4 MB boundary in a PDP-11 with all 4 MB
of memory when a Mapped RT-11 Monitor was used since
the controller supported only 18-bit addresses.

This would be the Qbus controller. And that is an annoying detail, yes. You need a bounce buffer in the low part of memory. One of a few Qbus controllers with 18-bit addressing for DMA.

Well, it was an early controller and since it was for a floppy
drive and the problem was really only with a Mapped RT-11
Monitor when the user buffer was in extended memory above
1/4 MB, it really was not a major problem.   What actually
might be more of a problem (if I ever finish the job of placing
the code and bounce buffer into extended memory) is making
sure that the portion of extended memory is below 1/4 MB.
That would be the responsibility of the installation code to
allocate the memory and check to make sure that the bounce
buffer is below 1/4 MB.
I guess that could also be done with the RK05 controller
and the original RL01 / RL02 controller.  The latter versions
of the RL01 / RL02 controller support 22-bit user buffer
addresses.  What about tape controllers?

And then there is the problem of making sure that other programs
and device drivers don't gobble up the memory below 1/4 MB
which they don't actually require.  That aspect, it turns out is
actually very easy to solve.  The code to allocate any extended
memory in RT-11 normally allocates memory from the bottom
up.  However, it is possible to change a single word of just one
of the instructions in the XALLOC subroutine in RT-11 so that
all of the memory is allocated from the top down!  And since it
is a single word being changed, it is not even necessary to stop
interrupts while it is being done.  Eventually I want to write the
code for XAX.SYS which will support:
SET  XA  HIGH
SET  XA  LOW
SET  XA  TOGGLE
SET  XA  BOOT=[LOW,HIGH]
SET  XA  SHOW
SET  XA  HELP
and allow the user to control how extended memory is allocated
under a Mapped RT-11 Monitor.

R  RESORC /Z
already provides the current setting, otherwise provided by:
SHOW  CONFIGURATION

I guess I could check the setting in DYX.SYS before I allocate
the extended memory and toggle the setting back after the
extended memory is allocated.

Another problem was that the index hole for single-sided floppies
was offset about 1/2" from the index hole for double-sided
floppies.  That challenge was solved by using a DPDT switch
to flip the sensors that were used on the DSD 880/30 and
that supported using, as double-sided, floppies with the single-
sided index hole.  While a number of 8" floppies had been
purchased that had the double-sided index hole, that was less
than 10% of the total and after punching the extra pair of holes
in single-sided floppies just a few times, it was very quickly
apparent that the DPDT switch was a much better one-time
solution.  What was initially a surprise was that EITHER the
single-sided OR double-sided index hole could be used with
the same floppy to access the sectors even though the holes
were in different positions.  The timing did not seem to matter.
Only the device driver software cared if the bit was set one
way or the other, so flipping the sensors which were activated
was an excellent one-time solution when the user (me!!)
wanted to use a floppy with a single-sided index hole as a
double-sided floppy.

In any case, the code was enhanced, my version of DYX.SYS
supported the RX03 double-density, double-sided floppy drive
under a 22-bit RT-11 monitor.  So I set about the job of the
LLFs for double-sided 8" floppy media.  As mentioned above,
in addition to a couple of dozen 8" DEC floppies, I had about
a dozen other brands.  To make a long story short at this point,
the results were "interesting".  Every non-DEC branded 8" floppy
could hold an LLF for double-sided, double-density.  On the other
hand, I seem to remember that only about 2/3 of the DEC 8"
floppies managed to complete the LLF.  The other 1/3 of the
DEC 8" floppies could hold an LLF on the normal first side,
but not on the second side.

Obviously this story was somewhat different since it was not
necessary to ask DEC maintenance to make the LLF capability
with the DSD 880/30 to work - it already worked.  In addition,
there was no DEC maintenance contract in the first place and
there was no 50 gallon oil drum.  There was also no refusal
by DEC to enhance the DY.MAC device driver to support
the RX03 floppy drive since DEC was not asked.

Over the decades since, I have always wondered how it was
even possible for ONLY the DEC 8" floppies to be unable to
take an LLF double-sided when every other brand managed
to do so.  There was probably one floppy that was so severely
damaged that it would not take an LLF on either side, but that
was a specific exception.  Any 8" floppy which could take a
double-sided, double-density LLF held the data successfully
when used in practice.

Probably qualification differences. DEC only cared if one side was good. So floppies with one bad side were still acceptable for DEC, since they only used one side anyway.
Floppies sold as double sided needed to pass testing on both sides.

I would agree with your analysis if any of the other non-DEC floppy
brands had even a couple of floppies which had not accepted an LLF
for double-sided operation.  BUT,  NOT  EVEN  ONE??????????
It seems a bit unlikely unless DEC specifically managed to locate a
shipment at an excellent cost advantage and the floppies could be
made at less expense.

Don't forget that except for less than 10% of the floppies being
specifically for double-sided operation, all of the other non-DEC
brand floppies were also sold ONLY for single-sided operation.

So how did ONLY  DEC manage to acquire the one batch of
floppy media that supported using a substantial portion of them
(about 33% if I remember correctly) on only one side even
though they were coated on both sides.  In fact, I used to wonder
why the floppy material was coated on both sides in the first
place.  By then, double-sided 5 1/4" floppies were the standard
for the PC systems, so it was reasonable for all floppy media
to be produced to support double-sided operation.

ALL  LONG  AGO  NOW  IN  THE  PAST!!!!!!!!!!!!!!!!!!

Jerome Fine

Reply via email to