Hello!
G.S. Vigneault wrote:
> ...
>
> I'd like to read opinions from MSX owners who use an ATA/IDE...
>
see below
> Since I've not yet found a satisfactory FDC chip, I'm shelving
> my FDC circuit, for now. I'm proceeding with making an ATA/IDE
> interface -- first for my Spectravideo, later for my Yamaha.
>
> I'd like to know what MSX owners like, or dislike, about IDEs
> they're using now. If I can understand the "good and bad" of
> existing IDEs, I might be able to avoid repeating errors, or
> maybe even make a good thing better. And, your experiences may
> point me towards a good way to implement ATA/IDE for MSX.
>
> Technically, there are numerous ways to go about it -- such as
> the traditional approach: A cartridge with ATA circuitry and a
> ROM for disk boot and i/o routines. This has the Z-80 do all
> the low-level ATA handling. An alternative, that may not have
> yet been tried, is a cartridge with a microcontroller which
> controls ATA functions -- PIO, sector deblocking and buffering,
> DMA, etc. -- and which the Z-80 CPU commands.
>
> Maybe the idea of using a microcontroller seems like too much
> trouble, but it depends on development resources. For example,
> I'm already developing an 8031 microcontroller circuit for my
> SV-328; it takes over the task of scanning the keyboard matrix,
> adds buffering, and interrupts the Z-80 only when there's key
> data available. The 8031 will interface to a PC keyboard; and,
> the 8031 on-board UART can directly accept a serial mouse. This
> offloads significant i/o duties from the CPU, giving the Z-80
> more computing time, rather than polling extra devices.
Nice!
But I can't see any major advantages: if I want 'computingtime' I
DIsable the interrupts or you can write your own interrupthandler (Like
we (Compjoetania TNG) do for our demo's)
Of course it is very useful for connecting a pc-keyboard or a mouse.
>
> Keep in mind that the MSX i/o architecture is effectively a
> simplistic polling scheme: It uses the single "Z-80 Mode 1"
> interrupt, at a [wasteful] rate of 50 (Europe) or 60 (Canada
> and USA) times each second -- polling any and *every* device
> that it suspects may (or may not) actually be present!
>
> Your thoughts, Anyone ?
>
> Greg_
For the moment I'm busy with the 'ultimate' hardware/software repairing
of the Sunrise IDE interface. I bought it a year ago for my MSX2, but it
never worked :-( Since Henrik Gilvad (who made it) has a too busy life,
I decided to fix the problems on my own. And with SUCCESS!
It's not my intention to discuss HERE all changes I've made to both
soft- and hardware. I'll just mention some key elements, useful for
people with a non-working IDE.
*There are 3 IDEBIOS versions available:
1. for MSX2/2+ with DOS2.20 built in! supports only LBA-compatible
IDE-harddisks
2. the same for Turbo-R, so no DOS2.20 included, LBA-only
3. for MSX2/2+/Turbo-R, DOS2.20 (when working with MSX2/2+) supports all
IDE-harddisks (uses CHS-addressing)
Get the latest bios for your configuration at Sunrise:
[EMAIL PROTECTED]
You can also try the SunriseSwiss homepage (http://www.msx.ch), but it
hasn't been updated the last few weeks)
*There was a major bug in the DOS2.20 installationroutines. This bug
made the MSX crash at startup if the primary mapper slot was not slot 3.
(for instance if you placed a large mapper in slot 1 or 2) Bug fixed in
all biosversions. (except the Turbo-R version of course)
*If you are one of the first people who bought an IDE, you'll probably
need to do the following modifications:
A. Remove the yellow resistorarray (next to the IDE-connector)
B. Replace the GAL-chip near the edge of the print. This is a specially
programmed chip and you should ask Sunrise for a new one. (Without this
new GAL-chip, you can't write to the disk!)
(I'm not sure, but I think you can leave these fixes to Sunrise, they'll
do it for free (I think))
*The IDE-interface was developed by Gilvad on his Turbo-R and was not
tested on any MSX2. And indeed, it doesn't work on most MSX2 machines.
After extensive research I came to the following conclusion: the
buffercircuitry on the interface is not very 'stable'. If it works or
not depends on your type of harddisk you use, the number of connected
hardware to your MSX, the internal distance from the cartridgeslot to
the CPU (!!), etc. etc. Writing to IDE-devices is not a problem, only
the reading.
I made some modifications to this circuitry and my HD works now! (Tested
on Philips VG8235, NMS8245, NMS8255 (3.58MHz), NMS8255 (7.16MHz) At
3.58MHz DOSSCAN gave me a transferrate of 125kB/s and on 7.16MHz
243kB/s)
Nevertheless my CDROM still doesn't work (still hardwarebufferproblems).
But I'm working on it! (Compass #2.0 will not be finished at Zandvoort
fair :-( )
To return to Greg's questions:
I don't think it is a good idea to make a 'cpu-controlled' IDE
interface, because the IDE-standard is already very Z80 friendly; at
least the IDE-interface of Sunrise is, because Gilvad implemented the
IDE-i/o in a very smart way. All you need to do is to write the desired
sectornumber to some addresslocations (*not* ports) and read/write the
sectordata from/to another addressspace. I think this can't be
simplified by using an onboard cpu. Gilvad did a great job (except for
the databusinterface ;-) )
Cya!
Jon De Schrijder
PS. I'm also working on an IDE-FAQ for Manuel Bilderbeek's pages.
PPS. If you want more info, don't hesitate to email me.
PPPS. Do there exist any other IDE-interfaces for MSX except the one
from Sunrise and the one from Egor V. ?? Please let me know.
PPPPS. Do you have a working IDE CDROM on your MSX2 or Turbo-R? Please
let me know too.
****
MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put
in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the
quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
****