From: Jim Brain (brain_at_jbrain.com)
Date: 2007-12-12 16:50:25
ruud.baltissen@abp.nl wrote:
> Pure curiousity: why didn't you use the SCH I sent you as base?
> For every one else: http://www.baltissen.org/images/1541ide.png
>
Given the additional complexity of the device, I was afraid that it was
not exactly a superset of the 8 bit interface. As well, I was afraid
that by deleting things from the 16 bit design, I would render the 8-bit
idea useless. My task, as I saw it, was to layout the 8 bit interface,
and I wanted to make sure I got that done. Finally, the 16 bit design
uses more ICs. The 8 bit design was vary frugal with ICs, and I felt
that was an elegant design on your part. However, now that I know they
are equivalent, I can try to lay it out minus the RAM, ROM, etc.
>
> Sorry to say, but this is a very bad idea IMO. At this moment I store several parameters, like the size of the disk, the start of the directory and the link to the next sector, as four bytes in a row. Copying them to disk can be done like this:
>
> ldx #3
> 1 lda LBA0,X
> sta IDE_reg,X
> dex
> bpl 1
> With a shifted address a more complex routine is needed.
>
> That's why I used this scheme:
> A0..3 : basic IDE registers
> A4 : choosing CS0 or CS1
> A5 : high/low byte
> When I started with the 8 bit design, I could use a lot of the original 16-bits sources as I only had to drop everything conneted with A5.
>
You are correct, of course, and it's trivial to change it. However, it
does make the memory map funky:
$00-$1f=IDE registers low byte
$20-$3f=IDE registers hi byte
Unless someone objects, I will make the change. That will indeed make
it 100% compatible with your original design.
Message was sent through the cbm-hackers mailing list
Archive generated by hypermail pre-2.1.8.