Re: [cc65] Profiling, timing on the Apple //e

From: Oliver Schmidt <>
Date: 2009-08-23 09:34:11
Hi Dave,

> On the other hand, the OP mentioned wanting to do timing specifically on an
> Apple IIe, which does have a vertical blanking (VBL) interrupt available (60
> Hz for an NTSC display, 50 Hz for PAL).

I'm actually pretty sure that this isn't true.

The Apple IIe allows to poll the VBL state but there's no interrupt.
This feature is by the way used by the mouse to syncronize its VBL
interrupt on startup. On an original Apple II without VBL polling the
mouse has to use some trick instead which requires to clear the hires
screen. That is even reflected in "my" cc65 docs:
Programs using this driver will have to be linked with --start-addr
$4000 to reserve the first hires page if they are intended to run on
an Apple ][ (in contrast to an Apple //e) because the AppleMouse II
Card firmware writes to the hires page when initializing on that

More trivia: I learned this the hard way when initializing the mouse
on a IIe with the ROM banked out: The mouse firmware didn't detect the
IIe and therefore killed the hires screen as it would on an original
II. Now the cc65 mouse driver temporarily banks in the ROM while
initializing the mouse...

The Apple IIc has VBL interrupts - simply because it comes with a
built-in mouse.

Best, Oliver
To unsubscribe from the list send mail to with
the string "unsubscribe cc65" in the body(!) of the mail.
Received on Sun Aug 23 09:34:20 2009

This archive was generated by hypermail 2.1.8 : 2009-08-23 09:34:23 CEST