willyvmm / mouSTer

mouSTer - universal USB HID class device to db9 adapter.
66 stars 3 forks source link

iiglo M310 mouse not working (Atari ST) #10

Closed evldhs closed 1 year ago

evldhs commented 2 years ago

iiglo Travel Mouse Model number: M310 P/N: IIM310WL Barcode: 7070205140330

Tested with Atari STe and Atari Falcon Mouster firmware 3.16.2600

The wireless mouse (with USB dongle) does not work. Mouse pointer does not move in any direction and no clicks seem to work. The mouse works fine with a PC or Mac and also with the Smallymouse2 adapter for the Atari.

Other mice work fine with the same Mouster.

Configuration is set to force mouse and Atari mode.

See attached zip for debug file and ini file. mousterdebug.zip

Copy/paste of the debug file:

3.16.2600 1EA7 0064 06 B5 FF 09 01 A1 01 85 B5 09 02 15 00 26 FF 00 75 08 95 07 81 02 09 02 15 00 26 FF 00 75 08 95 07 91 02 C0 05 01 09 02 A1 01 85 02 09 01 A1 00 05 09 19 01 29 08 15 00 25 01 95 08 75 01 81 02 05 01 09 30 09 31 16 01 F8 26 FF 07 75 0C 95 02 81 06 09 38 15 81 25 7F 75 08 95 01 81 06 05 0C 0A 38 02 95 01 81 06 C0 C0

Copy/paste of the ini file:

; ; ; mouSTer - universal USB HID class device to db9 adapter. ; Firmware revision: 3.16.2600

; ; /// /////
; /// // // / / / / // / // ; / / / / / / / // / //// //
; / / / / / / / / / / /
;
/ / / // /// /// / /// _/
; ; ; ############################################################################### ; # # ; # Features: # ; # Emulates Atari, Amiga and Commodore 1351 mouse. # ; # Can handle up to 16 buttons that can be translated to an action # ; # Can handle up to 6 axes, that can be translated to an action # ; # # ; # More to come... # ; # *an action - means any joystick direction or fire/mouse button # ; # # ; ############################################################################### ; ; ############################################################################### ; # Users Manual # ; ############################################################################### ; ; ############################################################################### ; # WARNING: WARRANTY MAY BE VOID IF USED WITH Atari 7800 # ; ############################################################################### ; # Atari 7800 IS NOT SUPPORTED: # ; # Please do not use the mouSTer with Atari 7800. # ; # It may be dangerous for the mouSTer due to weird A7800 construction. # ; ############################################################################### ; ; ############################################################################### ; # Gamepad Buttons Mapping # ; ############################################################################### ; # To make it easier, mouSTer is normalizing first 4 buttons of most gamepads # ; # Default settings emulates only standard 1 button Joystick. # ; # Button | SONY | XBOX | Default Action # ; # (4) 1 | SQUARE | X | Fire # ; # (1) (3) 2 | CROSS | A | Fire # ; # (2) 3 | CIRCLE | B | AutoFire # ; # 4 | TRIANGLE | Y | AutoFire # ; ############################################################################### ; ; ###############################-Blink-Codes-################################### ; ; The mouSTer signals its state by using MORSE CODE, simply, blinking the LED. ; List of possible messages: ; ; Very fast blinking: ; - Bootloader is Active and is waiting for the USB drive with a new firmware. ; - If the USB drive is not detected within two seconds, ; the main program will run. ; ; Normal blinking: ; - the mouSTer is ready, and is awaiting a USB HID device (mouse, gamepad etc). ; ; HeartBeat: ; - two fast blinks and a long pause - the mouSTer is alive and operational. ; ; SOS: <... --- ...> Critical problem has occurred. ; Not possible to recover from this state. Please power cycle the mouSTer. ; ; E: <.> An error has occurred. Remove USB device | Check INI file syntax. ; ; R: <.-.> Operation successfully finished. Remove the USB device. ; ; D: <-..> Debug data generated. Remove the USB device. ; ; ##############################-Using-an-USB-Drive-############################# ; ; When the USB drive is inserted, the mouSTer looks for the 'MOUSTER' folder. ; If the folder doesn't exist, it will be created and opened. ; In the next step, the mouSTer searches for the configuration file: 'MOUSTER.INI' ; If exists, the configuration will be read and parsed then written to memory. ; The MOUSTER.MSG file will be created with short status or error line number. ; ; If no .INI file is present, mouSTer will search for new firmware file mouSTer.fw ; If the firmware file is present, mouSTer will activate the bootloader, ; and install new firmware. ; ; In case if no INI nor firmware is present - mouSTer will create a new INI file ; and dump current config into it with the current firmware version on the top. ; ; mouSTer is case insensitive. ; ; mouSTer config file: '/MOUSTER/MOUSTER.INI' ; mouSTer firmware file: '/MOUSTER/MOUSTER.FW' ; mouSTer message file: '/MOUSTER/MOUSTER.MSG' ; mouSTer debug file: '/MOUSTER/MOUSTER.DBG' ; ; most up to date information and the latest firmware is always available at: ; ; ############################################################################### ; ######################### http://Jil.guru/mouSTer ########################### ; ############################################################################### ; ; FAQ: ; 1) My controler is not working with mouSTer: ; - Please activate DEBUG mode ; - Connect then disconnect your controller ; - Plug an EMPTY USB thumb drive and wait until D letter in morse code ; - Send us the generated MOUSTER.DBG file. ;
; 2) Right Mouse Button is not working on My Amiga: ; - This issue is caused by damaged PCB around the PAULA chip ; - Or by broken PAULA chip itself. ; - In some rare cases RMB is working with original mouse ; But not with the mouSTer. ; In this case the PAULA is badly damaged, and is working "on the egde" ; with the original Mouse. Unfortunatelly mouSTer is not able to force the ; badly broken PAULA to work. ; In most cases, when the PAULA is only slighty damaged mouSTer work perfectly. ; ; ################################-Configuration-################################ ;

[mouster] ; general settings.

; mode= ; Operating mode, what device mouSTer will emulate. ; Default: ; mode=auto ; ; Possible values: ; [00|auto|self] - mouSTer will self determine what device to emulate (Mouse or Gamepad). ; [01|mouse|mice] - lock to mouse mode only. ; [02|gpad|gamepad] - lock to gamepad mode only. ; [03|cd32|apad] - emualate Amiga CD32 gamepad ; [255|reset_todefault|jmp$e477] - Load default values for mouSTer configuration and end processing ini file. ###NOT IMPLEMENTED YET###

mode=mouse

; afrate= ; Auto Fire Rate. Can be used with ANY defined button. ; Define time between consecutive 'auto' presses in 10's of miliseconds. ; fx: afrate=15 => button will be auto pressed every 150ms ca 6 times per second. ; to activate Auto Fire function on button, prepend its definition with (asterisk) ; when function is defined twice, as a normal and as an autofire, and both are activated, the autofire will take the priority. ; Default: ; afrate=15 ; ; Possible values: ; [0-250] - numeric value 10.

afrate=15

; heartbeat= ; Define the heartbeat LED behavior. ; Default: ; heartbeat=heartbeat ; ; Possible values: ; [00|off|false] - Heartbeat is turned OFF. ; [01|on|true] - Heartbeat is turned constant ON. ; [02|heartbeat|normal] - Heartbeat is normal, 2 short pulses and long pause.

heartbeat=heartbeat

; debug= ; Force Mouster to generate some debug data. ; Usefull to identify unrecognized USB devices. Some new features may be added in the future. ; HowTo use this feature: ; 1) Set the debug value to true. ; 2) Connect unrecognized USB HID device, wait 10 seconds, then remove. ; 3) Put empty USB drive to the mouSTer, and wait until the mouSTer finish, blinking D in morse code. ; 4) Inside the mouSTer folder beside current configuration,You should find a file MOUSTER.DBG containing some debug data. ; This mode is not intended to use in normal work. ; Default: ; debug=false ; ; Possible values: ; [00|false|off] - No debug will be generated. ; [01|true|on] - mouSTer will generate debug data and save them in MOUSTER.DBG file.

debug=true

[mouse] ; mouse emulation settings.

; type= ; Mouse type to emulate. ; Default: ; type=amiga ; ; Possible values: ; [00|atari|ata] - mouSTer will emulate atari mouse. ; [01|amiga|ami] - mouSTer will emulate amiga mouse. ; [02|c1351|c64] - mouSTer will emulate commodore C1351 mouse. Requires mode=mouse !! will not work in auto. Require real or fully emulated SID. ; [03|trackball|trb] - Trackball (Atari CX-22) emulation mode. #### Function in experimantal stage #### ; [04|a8|lame8] - Special mode dedicated to A8 - #### Function not implemented yet ##### ; [05|micromys|mimys] - mouSTer will emulate mouse with micromys protocol. ###NOT IMPLEMENTED YET###

type=atari

; microstep= ; In another words, DPI divider. Allow you to slow down your mouse to adapt speed to capabilities of old devices. ; Define how many real mouse steps should be translated to one virtual step ; Because division by 0 causes critical error, setting it to 0 causes critical error. Try if you don't belive me. ; Default: ; microstep=05 ; ; Possible values: ; [0-250] - numeric value.

microstep=05

; revpotlines= ; Reverse 2'nd and 3'rd button line polarity. ; This may be usefull to emulate 2 and 3 mouse buttons on 8-bit computers. ; This setting has no effect on C1351 emulation mode. ; Default: ; revpotlines=false ; ; Possible values: ; [00|false|off] - 2'nd and 3'rd button are normal. (connected to ground when active) ; [01|true|on] - 2'nd and 3'rd button are inverted. (connected to vcc when active)

revpotlines=false

; mbutton= ; Mapping physical mouse buttons for digital (atari or amiga) mouse emulation mode. ; Default: ; mbutton01=lb, mbutton02=rb, mbutton03=mb, mbutton04=lb ; mbutton05=rb, mbutton06=mb, others->none ; ; Possible values: ; [00|none|off] - Button is ignored. ; [01|lb|left] - Left button/fire. ; [02|rb|right] - Right button/paddle A. ; [03|mb|middle] - Middle button/paddle B. ; Can be defined as an Auto Fire button by prepending to definition .e.g mbutton01=01

mbutton01=lb mbutton02=rb mbutton03=mb mbutton04=lb mbutton05=rb mbutton06=*mb mbutton07=none mbutton08=none mbutton09=none mbutton10=none mbutton11=none mbutton12=none mbutton13=none mbutton14=none mbutton15=none mbutton16=none

; cbutton= ; Mapping physical mouse buttons for c1351 mouse emulation mode. ; This mode require a REAL or full emulated SID. Will not work with e.g. SwinSID. ; Default: ; cbutton01=fire, cbutton02=north, cbutton04=fire, cbutton05=north ; others->none ; ; Possible values: ; [00|none|off] - Button is ignored. ; [01|fire|trigger] - Joystick fire. ; [02|north|up] - Joystick up/north. ; [03|east|right] - Joystick right/east. ; [04|south|down] - Joystick down/south. ; [05|west|left] - Joystick left/west. ; Can be defined as an Auto Fire button by prepending to definition .e.g cbutton01=*01

cbutton01=fire cbutton02=north cbutton03=none cbutton04=fire cbutton05=north cbutton06=none cbutton07=none cbutton08=none cbutton09=none cbutton10=none cbutton11=none cbutton12=none cbutton13=none cbutton14=none cbutton15=none cbutton16=none

[gamepad] ; gamepad emulation settings.

; number= ; A gampad number that will be lit on DS3 or Xbox360 controller. ; Possible values: 0-4, where 0 no number is lit. ; Default: ; number=01 ; ; Possible values: ; [0-04] - numeric value.

number=01

; revpotlines= ; Reverse 2'nd and 3'rd button line polarity. ; This may be useful to emulate 2 and 3 mouse button on 8 bit computers. ; Default: ; revpotlines=false ; ; Possible values: ; [00|false|off] - 2'nd and 3'rd button are normal. (connected to ground when active) ; [01|true|on] - 2'nd and 3'rd button are inverted. (connected to vcc when active)

revpotlines=false

; gbutton= ; ; Mapping physical gamepad buttons for joystick emulation mode. ; GamePad always has a HAT SWITCH that is always mapped to directions. ; Default: ; gbutton01=fire, gbutton02=fire, gbutton03=fire, gbutton04=fire ; others->none ; ; Possible values: ; [00|none|off] - Button is ignored. ; [01|fire|lb] - Joystick fire/trigger, mouse left button. ; [02|paddleA|rb] - Paddle A, potX, mouse right button. ; [03|paddleB|mb] - Paddle B, potY, mouse middle button. ; [04|u|n] - Joystick up/north. ; [05|ur|ne] - Joystick up-right/north-east. ; [06|r|e] - Joystick right/east. ; [07|dr|se] - Joystick down-right/south-east. ; [08|d|s] - Joystick down/south. ; [09|dl|sw] - Joystick down-left/south-west. ; [10|l|w] - Joystick left/west. ; [11|ul|nw] - Joystick up-left/north-west. ; Can be defined as an Auto Fire button by prepending to definition .e.g gbutton01=*01

gbutton01=fire gbutton02=fire gbutton03=fire gbutton04=fire gbutton05=none gbutton06=none gbutton07=none gbutton08=none gbutton09=none gbutton10=none gbutton11=none gbutton12=none gbutton13=none gbutton14=none gbutton15=none gbutton16=none

; abutton= ; ; Mapping physical gamepad buttons for Amiga cd32 emulation. ; GamePad always has a HAT SWITCH that is always mapped to directions. ; Default mapping settings for this mode is compatible with Sony DS4 controller. ; Default: ; abutton01=green, abutton02=red, abutton03=blue, abutton04=yellow ; abutton05=leftfront, abutton06=rightfront, abutton07=leftfront, abutton08=rightfront ; abutton09=pause, abutton10=pause, others->none ; ; Possible values: ; [00|none|off] - Button is ignored. ; [01|red|red] - Red Button on Amiga CD32 pad ; [02|blue|blu] - Blue Button on Amiga CD32 pad ; [03|yellow|yel] - Yellow Button on Amiga CD32 pad ; [04|green|gre] - Green Button on Amiga CD32 pad ; [05|rightfront|rf] - Right Front Button on Amiga CD32 pad ; [06|leftfront|lf] - Left Front Button on Amiga CD32 pad ; [07|pause|pau] - Pause Button on Amiga CD32 pad ; [08|u|n] - Joystick up/north. ; [09|ur|ne] - Joystick up-right/north-east. ; [10|r|e] - Joystick right/east. ; [11|dr|se] - Joystick down-right/south-east. ; [12|d|s] - Joystick down/south. ; [13|dl|sw] - Joystick down-left/south-west. ; [14|l|w] - Joystick left/west. ; [15|ul|nw] - Joystick up-left/north-west. ; Can be defined as an Auto Fire button by prepending to definition .e.g abutton01=*01

abutton01=green abutton02=red abutton03=blue abutton04=yellow abutton05=leftfront abutton06=rightfront abutton07=leftfront abutton08=rightfront abutton09=pause abutton10=pause abutton11=none abutton12=none abutton13=none abutton14=none abutton15=none abutton16=none

; axis= ; ##### Function partially implemented - only default settings are available and working. ##### ; Mapping physical gamepad axes for joystick emulation mode. ; in this mode, axis can be also mapped to PADLE to become true analog axis. ; axes mapped to one direction are triggered at ca. 75% deflection ; axes mapped to double direction are triggered at ca. <25 and >75 deflection ; Default: ; axis01=ns, axis02=ew, others->none ; ; Possible values: ; [00|none|off] - axis is ignored. ; [01|n|u] - axis is one direction north/up axis. ; [02|s|d] - axis is one direction south/down axis. ; [03|ns|ud] - axis is true north-south/up-down/Y axis. Default for Y axis. ; [04|e|r] - axis is one direction east/right axis. ; [05|w|l] - axis is one direction west/left axis. ; [06|ew|lr] - axis is true east-west/left-right/X axis. Default for X axis. ; [07|paddleA|potX] - axis is directly mapped to analog paddle A. requires SID. ; [08|paddleB|potY] - axis is directly mapped to analog paddle B. requires SID. ; [09|lb|fire] - axis is one direction fire button. ; [10|rb|fire] - axis is one direction button mapped to paddle A. ; [11|mb|fire] - axis is one direction button mapped to paddle B.

axis01=ns axis02=ew axis03=none axis04=none axis05=none axis06=none

; validate= ; Validate if pressed direction button are giving valid joystick direction ; valid states are: n, ne, e, se, s, sw, w, nw or neutral ; invalid states are fx: ns, ew, new ,nesw etc.. When invalid state is detected, the neutral state is applied ; buttons nor paddle never are validated. ; Default: ; validate=false ; ; Possible values: ; [00|false|off] - direction states are not validated. ; [01|true|on] - direction states are validated.

validate=false

willyvmm commented 2 years ago

Thank You for the debug data.

willyvmm commented 1 year ago

Please try the latest Pre-Release Firmware: https://github.com/willyvmm/mouSTer/releases/tag/3.17.3309

evldhs commented 1 year ago

Thanks for the update. I'm afraid that the iiglo M310 is still not recognized by the Mouster after upgrading to beta firmware 3.17.3309. Other wireless mouses work fine (for example Logitech M190) with the same Mouster.

The iiglo M310 works fine on a PC and Mac.

willyvmm commented 1 year ago

Ok. I think I've found the root cause. Please try this: https://github.com/willyvmm/mouSTer/releases/tag/3.17.3314

evldhs commented 1 year ago

Hi,

thanks for the update again and yes this solved the problem! iiglo M310 mice now works with Mouster, thanks a lot!

evldhs commented 1 year ago

Firmware 3.17.3314 resolved the issue.