27.4.2008 VELESOFT K-MOUSE 2008 Ports adressation: ****************** master K-MOUSE ports ==================== 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 on master + switch EN31 on ) slave K-MOUSE ports ==================== 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 on slave mode always ) Inhibit port ============ 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 RIGHT / YA D1- joy LEFT / XA D2- joy DOWN / YB D3- joy UP / 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).