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/)
****

Reply via email to