Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

PCW mouses

9 views
Skip to first unread message

John Elliott

unread,
Jul 11, 1997, 3:00:00 AM7/11/97
to

Does anyone have any detailed information about the protocols PCW
{mouses,mice,meece} use? I'm just idly wondering whether to add mouse
support to my emulator.

And while I'm on the subject - when I write a test bootsector, create
an interrupt handler, and enable interrupts, the handler only gets called
once (this is on a real PCW). How do I get more than one interrupt? I
_think_ I've tried everything obvious with EIs, RETs and RETIs.

------------- http://www.seasip.demon.co.uk/index.html --------------------
John Elliott |BLOODNOK: "But why have you got such a long face?"
|SEAGOON: "Heavy dentures, Sir!" - The Goon Show
:-------------------------------------------------------------------------)

Jacob Nevins

unread,
Jul 12, 1997, 3:00:00 AM7/12/97
to

In article <868661...@ox.compsoc.org.uk>,

John Elliott <j...@ox.compsoc.org.uk> wrote:
> Does anyone have any detailed information about the protocols PCW
>{mouses,mice,meece} use? I'm just idly wondering whether to add mouse
>support to my emulator.

I've got some stuff from old 8000 Plus's; unfortunately my web pages
are still out of date because the host's disc is full :-( No info on
the Keymouse, but I imagine Creative have a nice printed document on
it.

AMX mouse - ports #A0-#A7 (160-167 decimal)

Input: according to the info I have only the first three ports are
needed.

Port #A0 records vertical movement. It consists of two 4-bit counters.
The counter in bits 0-3 is incremented when the mouse is moves up, and
the counter in bits 4-7 is incremented when it is moved down. Port #A1
records horizontal movement in a similar fashion; the low nibble
counter is for rightward movement and the high nibble counter for
leftward movement.

Port #A2 shows button states (0 if button pressed, 1 otherwise):

bit 2: right button
1: middle button
0: left button

This information came from 8000 Plus (Jan 1990, p73, due to C Black of
Oxford) and I can't vouch for it.

Kempston mouse - ports #D0-#D4 (208-212 decimal)

According to 8000 Plus this device is "similar" in use to the AMX
mouse.

Hope this is helpful.

J.
--
+-----------------+-----------------------------------------+
| jt...@cam.ac.uk | http://dwmw2.robinson.cam.ac.uk/~jtn20/ |
+-----------------+-----------------------------------------+


Richard Fairhurst

unread,
Jul 13, 1997, 3:00:00 AM7/13/97
to

John Elliott <j...@ox.compsoc.org.uk> wrote:

> And while I'm on the subject - when I write a test bootsector, create
> an interrupt handler, and enable interrupts, the handler only gets called
> once (this is on a real PCW). How do I get more than one interrupt? I
> _think_ I've tried everything obvious with EIs, RETs and RETIs.

You've done IN A,(&F4), I trust?

--
Richard Fairhurst http://www.systemed.u-net.com/
A million years on and still in trouble:
put down your fists and enter with a shovel

John Elliott

unread,
Jul 13, 1997, 3:00:00 AM7/13/97
to

Jacob Nevins (jt...@thor.cam.ac.uk) wrote:

: AMX mouse - ports #A0-#A7 (160-167 decimal)
:
: Kempston mouse - ports #D0-#D4 (208-212 decimal)

Thanks; both these Mouse Pointing Devices now seem to work (at least as
far as Stop Press is concerned). FYI, the Kempston seems to work like this:

IN (0D0h) - gives an X coordinate
IN (0D1h) - gives a Y coordinate
IN (0D4h) - gives buttons, bit 0 for right and bit 1 for left. As with the
AMX, a button's pressed if the bit is 0.

I don't know what IN(0D2h) and IN(0D3h) do; Stop Press works nicely if
they consistently return 0.

Jacob Nevins

unread,
Jul 14, 1997, 3:00:00 AM7/14/97
to

John Elliott <j...@ox.compsoc.org.uk> wrote:
>FYI, the Kempston seems to work like this:
[...]

Thanks; it's been added to my page (not that that's much use to
anyone at the moment. Sigh). FWIW I've also got a bit of information
on other devices, such as the Spectravideo joystick, and the
MasterScan scanner (although there are probably better ways of
getting images into an emulator :-).

>I don't know what IN(0D2h) and IN(0D3h) do; Stop Press works nicely if
>they consistently return 0.

Does that imply that it doesn't if they don't?

Cheers,
Jacob

John Elliott

unread,
Jul 14, 1997, 3:00:00 AM7/14/97
to

Jacob Nevins (jt...@thor.cam.ac.uk) wrote:
: FWIW I've also got a bit of information

: on other devices, such as the Spectravideo joystick, and the
: MasterScan scanner (although there are probably better ways of
: getting images into an emulator :-).

That reminds me... Stop Press has some sort of digitiser
I/O on some of the 0D0h-0DFh ports not used by the Kempston.
But as for getting images in, just use IMPORT and PCWGIF.

: >I don't know what IN(0D2h) and IN(0D3h) do; Stop Press works nicely if
: >they consistently return 0.

: Does that imply that it doesn't if they don't?

No. I merely started by having all the ports return 0, and then connected
various x, y, dx or dy signals to them one at a time. Since it seems happy
with 0 on 0D2h and 0D3h, I didn't change them :-)

0 new messages