From: Jim Brain on
On 2/10/2010 2:50 AM, Chris Baird wrote:
>> (Well, I suppose if you're willing to only use the bottom 8 bits of
>> each word of storage).
>
> 256 byte sectors makes it easier for the 6502, plus no-one on a 8-bit
> micro is going to miss 20GB on a 40GB laptop drive.. Alternatively,
> some? drives have a "8 bit transfer mode" Feature bit that I believe
> pushes the high-byte through the data0-7 lines.

Dunno, I get asked all the time if uIEC supports 32GB SD cards, and I
have had folks ask if the IDE version supports drives > 137GB.

> Your description is functionally the same as what I came up with:
> (2x 573s, 245, 139): http://www.twitpic.com/12d0bj
>
From my vantage point:

PA3:PA2 - /CSA /CSB /CSC ULE /UOE /ENABLE LLE
00 0 1 1 0 0 1 1

lower latch is loaded from data, passing it to IO15:8, upper latch is
sent to IO7:0

01 1 0 1 1 1 0 1

buffer passes IO7:0 to data, upper and lower latch is loaded from IO7:0,
passing it to IO15:8

10 1 1 0 1 0 1 0

upper latch is loaded from data and sent to IO7:0


I don't see IDE lines R/W/A2:0/CS1:0, so I'm assuming IO15:8 offers
those lines.

I see issues with 00, if IO15:8 is R/W/CS0/CS1/RESET/A0/A1/A2. If you
want to do a read, you'd send 10 and put the addressing data on the D7:0
lines, but the upper latch will be driving the bus. You'd then go to
01, but then your address would be trashed by the data coming from IO7:0.

Jim


From: Jim Brain on
On 2/11/2010 5:09 AM, Chris Baird wrote:
> > Dunno, I get asked all the time if uIEC supports 32GB SD cards, and I
> > have had folks ask if the IDE version supports drives> 137GB.
>
> "Please add feature X; I'll make it worth your while..."
> There's no-one in the vintage restorating group like that, thankfully,
>
> > I don't see IDE lines R/W/A2:0/CS1:0, so I'm assuming IO15:8 offers
> > those lines.
>
> Correct. /CS1 might only really be used to set a soft reset command and
> wasn't considered essential, and also means always having to ensure it
> is in the right state, so the SYM1 has it permanently tied high on the
> adaptor.
>
> > If you want to do a read, you'd send 10 and put the addressing data
> > on the D7:0 lines, but the upper latch will be driving the bus.
>
> The upper latch's /OE is connected to /PA2, disabiling its outputs
> during a read.
>

In state PA3:PA2 = 10, which is the read command, /OE is 0 (PA2 = 0), so
the output is ENABLED (it's active low). Not to mention that in that
state, Q=D, but the '245 is actively feeding back, so there's a feedback
loop there.

Jim
From: BruceMcF on
On Feb 1, 4:13 pm, Chris Baird <ab...(a)brushtail.apana.org.au> wrote:
> I've recently built a "$5" IDE harddrive interface for a
> Synertek SYM-1 (see <http://www.twitpic.com/photos/Sym_Biosys>),
> and now the idea is to bung one onto my C128.
> For that, I'll need 16 bits of I/O...

Another way to get 16 bits of I/O is to use Port B for 8-bits and use
the two serial ports connected to the input and output of a serial
shift register for the other 8-bits (well, 6 bits, but it would be
written as 8-bits). I was under the impression there was a serial
shift register with a parallel latch that could be selected by pulling
the normal Port-B select line down (PA2?) to put the serial latch
values out, but I don't know its part#.

The Address, /Write /Read /CS0 on the serial shift because when doing
block reads/writes, they do not have to be modified, so the faster
PortB is connected straight through for the data lines.
From: BruceMcF on
On Feb 2, 1:04 am, Jim Brain <br...(a)jbrain.com> wrote:
> You might find it easier to wire up 2 LS164s to one shift register
> CLK/DATA line on the user port, and 2 LS166s to the other shift
> register.  Then, use the 9 output lines to trigger
> R/W/CS0/CS1/A0/A1/A2/RESET

Faster, since its for 8-bit IDE, to use the User port for data and one
serial CLK/DATA to write to a shift register.

But skip CS1, and using a shift register for data, and its very close
to an SPI interface, and you might be able to get a CF and also SD in
the same cheap interface.
From: Jim Brain on
On 2/11/2010 3:30 PM, Chris Baird wrote:
> > In state PA3:PA2 = 10, which is the read command, /OE is 0 (PA2 = 0),
> > so the output is ENABLED (it's active low). Not to mention that in
> > that state, Q=D, but the '245 is actively feeding back, so there's a
> > feedback loop there.
>
> Debugged circuit: http://twitpic.com/12mnww
>
Looks great, but now there's no R/W/CS0/A2/A1/A0 :-)

Jim