> It sounds like the folks who designed the dac960 either didn't think
> much about how drivers would access it, or they were hog wild over
> gcc's packed data attribute (does microsoft's compiler have something
> similar?).
I suspect that as usual either the h/w designers weren't
thinking about the driver guys or didn't listen to them, or
the driver guys didn't come on board until after the "design
was done". The h/w logic is probably doing the equivalent of
for (i = 0; i < 10; i++) {
data_bus <= byte[i];
assert ready;
wait ack;
}
In the scheme of things this particular register layout may
have come about because that is how the design evolved or it
was an arbitrary choice or it minimized the number of logic
gates to fit in the fewest number of PALs (likely the DAC960
still carries some logic originally designed for a board full
of PALs and what not).