[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Q: Timing: How many clock-cycles to print one char on screen?



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

In article <Pine.A41.4.21.0010020946500.66714-100000@asterix.uni-muenster.de>,
Holger Picker  <pickerh@uni-muenster.de> wrote:
>How many (processor-)clockcycles does it normally take to 
>print one char (textmode) on screen?

However long it takes to execute the store instruction that writes into the
framebuffer, which depends mainly on the addressing mode you use.  The
minimum for instructions that write to the framebuffer will be, IIRC, 3 or 4
cycles.

The time it'll take for it to actually show up on-screen is determined by
when you did the write in relation to where on the screen the video hardware
is currently drawing.  There's a byte that can be monitored to determine
when the video hardware is in the vertical-blanking interval.  I don't
recall where it is off the top of my head, but I remember that its "sense"
is inverted between the IIe and IIGS.  It could then take up to a bit under
1/60 s for the character to appear, depending on how far down the screen
it's located.

>I also could need precise information on the actual amount of video lines
>(visible and non-visible) for emulating the display output.

Of the 262.5 lines in a half-frame of video (half-frame because the Apple II
doesn't do interlaced video), 192 are used for the display.  If I was at
home right now, I'd check my technical references and get the numbers for
where the display begins and ends (the _Apple_IIe_Technical_Reference_
_Manual_, in particular, has this info and is useful to have around).

Also, note that the display-timing information assumes you're using NTSC
equipment (which may not be such a good assumption for you, given your
location).  Still, I'm not aware of any software for the II that cared much
whether it was run on NTSC or PAL hardware, as processor and video-generator
accesses to memory are interleaved on the II so that they don't interfere
with each other.

  _/_
 / v \
(IIGS(  Scott Alfter (remove Voyager's hull number for email address)
 \_^_/  http://salfter.dyndns.org
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.2 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE52LtJVgTKos01OwkRAj9AAKDW85aPP/Qxah18ZaVElR0zAWZquQCgl0Ak
NmX4XTzbd1xtz9AzEziG9QQ=
=LFvL
-----END PGP SIGNATURE-----