[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Apple ][ plus 13 sector! Problems...



"Bill Garber" <willy46pa@comcast DOT net> wrote:

> "Bryan Parkoff" <bryanparkoff@nospam.com> wrote:
> :     It is what I understand that there are two different sequencer logic
> : PROMs.  First is to use 9 bits that it can only have one zero while
> : second is to use 10 bits that it can only have two zeros.  It is why 13
> : sectors use 9 bits while 16 sectors uses 10 bits.
> :     Do you have 13 sector PROM that you can spare?
> 
> The firmware can handle how many zero bits to look for.
> State machine only does what it's told to do.

The state machine is different.  The 16 sector upgrade consisted of two
chips: PROMs P5A and P6A, one of which is the logic state sequencer, and
the other is the boot firmware.

The 16 sector version of the logic state sequencer is able to read and
write 13 sector disks, but not the other way around.

According to Inside the Apple IIe, there were changes in the read logic
to improve the reliability of reading 16-sector data.  I expect it
changed the timing tolerances to cope better with two adjacent zero
bits.

Inside the Apple IIe has a full listing of the DOS 3.2 and 3.3 versions
of the logic state sequencer, and there are differences in the code for
the read section.  I haven't looked at it in detail.

> I would think the "State Machine" ROM would be the 
> same. The data would be the same way per sector, 
> just 3 less sectors per track. 

There is more to it than just the number of sectors per track.

There are differences in the way the disk bytes are encoded on 13-sector
and 16-sector disks.  13-sector uses a "5-and-3" encoding technique,
while 16-sector uses "6-and-2".  (These terms refer to how data bytes
are split into bits to form disk bytes: "6-and-2" means that each data
byte of 8 bits is broken into a 6-bit disk byte and 2 bits which are
combined with 2 bits from each of two other data bytes to form another
disk byte.)

The disk bytes are encoded using a table lookup technique (Group Code
Recording), which only allows some patterns of 1 and 0 bits to be
written to the disk (the restrictions are due to the reliability of
readback via the analog circuitry in the drive).