K-MOUSE TURBO 2008

- new PCB and schematic
- best joystick / amiga-mouse stability
- fuller joystick and kempston joystick support
- possibility use USB or PS/2 connector without changes on PCB
- new PCB layout without wires patch




NEW K-MOUSE 2008 SCHEMATIC


    K-MOUSE 2008(K-MOUSE) is new mouse interface compatible with original Kempston Mouse. New is supported PS/2 wheeled mouse with 3 buttons. K-MOUSE is compatible with russian wheeled Kempston mouse interfaces.

 

MASTER MOUSE CONFIGURATION
JUMPER SWITCH SETUP
ON ON enable port 31 + enable extra features
ON OFF enable port 31 + disable extra features
OFF ON

disable port 31 and enable extra features

SLAVE MOUSE CONFIGURATION
JUMPER SWITCH SETUP
OFF OFF disable port 31 + enable port 127 + disable extra features

 

CONNECTOR CANON 9 FOR JOYSTICK

1-     UP
2-     DOWN
3-     LEFT
4-     RIGHT
5-     FIRE 3
6-     FIRE 1
7-     +5V
8-     GND
9-     FIRE 2

 

K-MOUSE 2008

Ports addressing:
*****************


master K-MOUSE ports (read only)
================================

buttons= 64223(#FADF) 1xxxx0x0 11011111 ( D4-D7=4bit wheel counter )
X-AXIS = 64479(#FBDF) 1xxxx0x1 11011111
Y-AXIS = 65503(#FFDF) 1xxxx1x1 11011111
rd7ffd = 65247(#FEDF) 1xxxx1x0 11011111 ( return data of port #7FFD )
A-MOUSE/KEMPSTON JOY= 31 (#1F) 00011111 ( port #1F is available if switch EN31 is on )


slave K-MOUSE ports (read only)
===============================

buttons=  2783(#0ADF) 0xxxx0x0 11011111 ( D4-D7=4bit wheel counter )
X-AXIS =  3039(#0BDF) 0xxxx0x1 11011111
Y-AXIS =  4063(#0FDF) 0xxxx1x1 11011111
rd7ffd =  3807(#0EDF) 0xxxx1x0 11011111 ( return data of port #7FFD )
FULLER JOYSTICK =     127(#7F) 01111111 ( port #7F is available in slave mode )


inhibit port (write only)
=========================

inhibit = 16095(#3EDF) 0xxxx1x0 11011111 ( inhibit / enable ports )


mouse buttons port 64223/15071:
===============================

D0- right button
D1- left button
D2- middle button
D3- always log.1
D4- \
D5-  \ 4bit mouse
D6-  / wheel counter
D7- /
(press button = log.0)


KEMPSTON JOYSTICK / A-MOUSE : port 31(#1F)
==========================================

D0- joy RIGHT / XB
D1- joy LEFT / YB
D2- joy DOWN / XA
D3- joy UP / YA
D4- joy FIRE 1 / left button
D5- joy FIRE 2 / right button
D6- joy FIRE 3 / middle button
D7- always 0
(all signals on port #1F is active in log.1)


FULLER JOYSTICK / A-MOUSE : port 127(#7F)
=========================================

D0- joy UP / YA
D1- joy DOWN / XA
D2- joy LEFT / YB
D3- joy RIGHT / XB
D4- always 1
D5- joy FIRE 3 / middle button
D6- joy FIRE 2 / right button
D7- joy FIRE 1 / left button
(all signals on port #7F is active in log.0)


K-MOUSE 2008 can work only as Kempston mouse or Kempston
joystick or Fuller joystick in one time.

Push mouse button for active Kempston mouse mode + disable joy

Push joy fire for active Kempston/Fuller joy mode + disable mouse

Interface use CANON9 connector for connect standard Atari joy
or real Amiga mouse. If real Amiga mouse is connect to CANON9,
mouse FIRE deactive PS/2 mouse and Amiga mouse work as Kempston
mouse and in same time as A-MOUSE

Interface contain:

1) RESET BUTTON - ZX reset
2) VIDEO CONNECTOR - video output only for ZX16,48,48+ !!!
3) JUMPER "EN31" (enable/disable read port 31)
4) SWITCH "EXTRA" - for enable/disable EXTRA MODE(extra features)



EXTRA FEATURES (switch extra - yellow led is active) :
======================================================


push LEFT+RIGHT+MIDDLE mouse buttons = enter to EXTRA MODE

in EXTRA MODE:
- push LEFT button - IN 31 return JOY(A-MOUSE) or 0(for games with
joystick control - many ZX games detect joy
at bit 4(fire=start game) on port 31)
- push RIGHT button - swap LEFT and RIGHT mouse buttons
(only for Kempston mouse)
- push MIDDLE button - change kempston mouse speed (normal / slow)
NORMAL speed is 4x faster than original kempston mouse
SLOW speed is as original kemp.mouse - good for graphic art
- push LEFT+RIGHT+MIDDLE buttons - reset k-mouse features
- push LEFT+RIGHT - cancel (exit extra mode without any changes)
- move mouse WHEEL more than 4 step - disable / enable read mouse
wheel on button port. If wheel is off, D4-D7 return 1111.

After any setting is EXTRA MODE off.



MASTER / SLAVE mode
===================


K-MOUSE support connect two K-MOUSE interfaces !

If switch "EXTRA" and jumper "EN31" is off = SLAVE interface.
Any other combinations = MASTER interface.



INHIBIT INTERFACE:
==================


OUT 16095,128 = inhibit master and slave k-mouse ports and fuller port
(only port 31 can be enable on switch "EN31")
OUT 16095,0 = enable master and slave k-mouse ports and fuller port



IM2 fixed vector table adress (correct floating bus value):
===========================================================

K-MOUSE return to data bus correct 8bit low adress (#FF) of
vector table. Will work software with incomplete vector table.



READ port 32765(#7FFD):
=======================


(this feature is used too for master / slave detect)

K-MOUSE 2008 use for write to port 32765 same adressation as original
ZX128/+2(grey): 0xxxxxxx xxxxxx0x (detect only /IORQ,/WR,/A15 and /A1) !

- If master interface is present then IN 65247 return data of port #7FFD
- If slave interface is present then IN 16095 return data of port #7FFD



PS/2 or USB
===========


You can use PS/2 or USB connector for PC mouse.
Interface support PS/2 protocol and is possible connect USB
mouse with PS/2 protocol too(USB/PS2 mouse).

 

 



DOWNLOAD

UNIVERSAL EXTERNAL VERSION

PCB and SCHEMATIC for EAGLE
Source for CPLD
(version 2008)-last version

JTAG cable for programming CPLD

See more details...

HEX file for PIC16F84A (for all K-MOUSE versions)

documentation in .TXT - for external version 2008


 

EXTERNAL VERSIONS FOR MB02+
This versions is specially modified for MB02+ interface
for enable read MB02 and ZX128 memory paging ports

PCB and SCHEMATIC is same as for universal version
Source for modified CPLD (MB02 version 2008)- ( readable MB02+ paging port )
Source for modified CPLD (MB02 version 2008)- ( readable 128kB paging port )