Marco Antonio Simon dal Poz <[EMAIL PROTECTED]> wrote:
> > The 2793 floppycontroller HAS the capacity to handle 500 Kbit/s
> > (apparantly, this was used for larger 8 inch disks -a loooonnngg,
> > loooonnngg, time ago).
>
> Are you SURE??? If WD2793 has this capacity, then let's do a big research!
Texas Instruments TMS 2793 (is the same FDC) datasheets say so (no
doubt), and I don't think they lie. The 2793 works with a 'bit clock'
that is a combination of some quartz input frequency (mostly 1 or 2,
and can be 4 MHz.), and both hardware- and software-settable
dividers. Like 2 MHz. divided by 8 -> 250 Kbits/sec.
Resulting bit clocks are mentioned of 125, 250 (DD disks) AND 500
(8" and HD disks) KHz., or Kbits/sec, if you wish.
> [...Z80 clockcycle counts...]
>
> Did you verify a clockcycles table for this instructions? They're a bit
> different from my values.
A bit different? You mean: 1 clocktick different..!!
I did some research once, timing duration of 3.58 million times
repeated instruction sequences (with interrupts disabled, every
clockcycle taken then gives exactly 1 second delay), and timing this
with a hand-stopwatch. Primitive, but solid.
One rule became clear, of which I have never found an exception yet:
Clockcycles taken by the Z80 in a MSX are the same as is stated in
Z80 datasheets (I used Zilog's), PLUS ONE.
So Zilog docs say NOP = 4 cycles -> on MSX: 5 cycles
Zilog docs say instruction = xx cycles -> on MSX: xx+1 cycles
The same applies to conditional JP, CALLs & RET's:
Zilog says DJNZ = 8 or 13 cycles (8 if skipped, 13 if jumping)
-> on MSX: 9 if skipped, or 14 if jumping
This behaviour matches perfectly MSX definition: Z80 CPU, with 1 wait
state in M1 (machine cycle one).
In other words: normal Z80 timing, with every intruction taking 1
clockcycle extra.
Ofcourse same timings apply for Turbo-R in Z80 mode.
> > -Do the INI in the above loop for starters (!): increases pointers,
> > AND sets flags!
>
> I didn't understand. Could you explain what do you mean?
According to Zilog docs, the INI instruction DOES change flags. How
exactly, I don't know. It's kind a like with the IN F,(C)
instruction, Zilog says: affects flags (and it does), but doesn't say
how. I only suggested that maybe you could use this effect. Maybe you
can find a description of the exact behaviour on Sean Young's pages
(http://www.msxnet.org).
Alwin Henseler ([EMAIL PROTECTED])
http://huizen.dds.nl/~alwinh/msx MSX Tech Doc page
****
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/)
****