[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Apple Graphics Tablet
Michael J. Mahon wrote:
> Marc S Ressl <mressl@macgui.com> wrote:
>> Hello everyone:
>>
>> I just managed to emulate the Apple Graphics Tablet on OpenEmulator! I am
>> not releasing this yet, but I thought it would be worth to open-source my
>> findings:
>>
>> The tablet is based on the BitPad by Summagraphics Corp. It works by
>> using
>> the magneto-strictive effect, of which I knew nothing a week ago :-).
>>
>> In short: when you open the tablet there are two overlapping arrays of
>> wires, one arranged in the horizontal sense and the other in the
>> vertical.
>> It looks like this (for the X and Y axis, respectively):
>>
>> (X)
>> |---------------
>> |---------------
>> |---------------
>> |---------------
>> |---------------
>> |---------------
>> |---------------
>>
>> (Y)
>> ----------------
>> | | | | | | | |
>> | | | | | | | |
>> | | | | | | | |
>> | | | | | | | |
>> | | | | | | | |
>> | | | | | | | |
>>
>> So in order to measure the X-position of the pen, a copper wire
>> perpendicular to the X axis is energized, and a short electromagnetic
>> pulse
>> is produced that induces a mechanical wave in the X-axis wire array. The
>> mechanical wave propagates at the speed of sound in this array, which is
>> then converted back to electromagnetic energy and detected with a coil in
>> the pen.
>>
>> In short, you generate a pulse in the X-axis, and measure the time it
>> takes
>> to be received at the pen.
>>
>> The same is done for Y-axis.
>>
>> The pen also can be pressed, and this is sensed with a simple switch.
>>
>> Now comes the interesting part... how does the AppleGraphics Tablet
>> Interface work? Schematics are available on the Apple II Documentation
>> Project, but it is not very obvious:
>>
>> First, there are three 4-bit counters that are in a cascade. As expected,
>> they are of two different types (here starts my irony). The first counter
>> is
>> fed with a clock signal that is derived from the 7MHz Apple II slot
>> signal.
>> Here comes a really crazy part. They implemented a digital frequency
>> multiplier using an LC circuit. With my present knowledge of electronics
>> this seems archaic, but I was surprised to notice it works by
>> implementing
>> an LC-tuned amplifier that seems to be tuned to the 7th harmonic of the 7
>> MHz square wave. Out comes a sinusoidal wave, that is then rectified. I
>> found this very creative!
>>
>> Next, how are the counters reset? IMHO: this is absolutely awful. Reset
>> is
>> wired to the flip flop that enables the $C800 memory range, so you have
>> to
>> disable that range to reset the counters. And only the first and second
>> counter is reset, not the third.
>>
>> Also, the counters only work while $C800 memory is enabled.
>>
>> The Apple Graphics Tablet I/O uses the following I/O addresses:
>>
>> (X is the slot plus 8)
>> $C0X0: for sending a short pulse to the X-axis
>> $C0X1: for sending a short pulse to the Y-axis
>> $C0X2: writes on the data bus lines D0 to D3 the least significant 4 bits
>> of
>> the count.
>> $C0X3: writes on the data bus lines D0 to D7 the most significant 8 bits
>> of
>> the count.
>>
>> Both $C0X0 and $C0X1 also set the third 4-bit counter to state 1111. The
>> access to $C0X3 also presets the first counter, and set the state of the
>> pen
>> on the least significant bit.
>>
>> So, how does everything come together?
>>
>> * To reset the counters $C800 access must be disabled and enabled again.
>> The
>> code that does this in the ROM is quite awful.
>> * To read the X-axis, $C0X0 must be accessed. Likewise $C0X1 for the
>> Y-axis.
>> * A delay is necessary so that the pulse arrives at the pen.
>> * $C0X2 is accessed, to determine the lower 4-bits of the count.
>> * $C0X3 is accessed, to determine the higher 8-bits of the count. This
>> also
>> puts the state of the pen switch on the least significant bit of the
>> count.
>> * $C0X2 is accessed, to determine the state of the pen in the least
>> significant bit.
>>
>> Voila. I'm tired now. And I am also sure this causes a lot of
>> electromagnetic interference :-).
>>
>> With the best wishes!
>>
>> Marc.-
>
> Nice job, Marc! I'd always wondered about that tuned circuit. ;-)
>
> -michael - NadaNet 3.1 and AppleCrate II: http://home.comcast.net/~mjmahon
>
Hi Michael,
I thought this sort of LC circuit was reasonably common back in the 80s?
EG. The Phasor card uses it to generate a 2MHz clock.
Tom