Hallo Besucher, der Thread wurde 2,5k mal aufgerufen und enthält 11 Antworten

letzter Beitrag von buexe74 am

WinVice Micromys Mouse emulation defekt ?

  • Ich versuche grade eine Mausunterstützung mit Mausrad up and down zu coden für eine Scrollmaus.


    in dem echten C64 steckt der Micromys V4 adapter mit einer ps2 scrollmaus und die abfrage des Mausrades funktioniert problemlos.


    der gleiche code in VinVice mit aktivierter Micromys Maus-Emulation erkennt zwar die mittlere Maustaste, aber nicht die Bewegung des Mausrades.


    auf dem PC mit Windows 10 64bit Professional läuft notgedrungen eine 32bit Version von Winvice 2.4 , da in de 64 bit version von WinVice die Maus-Emulation überhaupt nicht funktioniert ( Mauszeiger springt wild hin und her ). Das könnte natürlich auch am code liegen ( ich benutze den DuoMouse Treiber ) der aber wiederum am echten C64 einwandfrei funktioniert.



    Weiss jemand vielleicht darüber bescheid, ob es einen Bug in der Vinvice Maus-Emulation gibt, oder ob es am Windows 10 64bit betriebssystem liegt ?


    Edit: Am Windows 10 liegts nicht, da es auf Win XP 32bit auch nicht funktioniert. habs grad getested ( Mausrad wird ignoriert )

  • aus trunk/vice/src/arch/win32/mousedrv.c:

    Code
    1. mouse_button_left((int)(state.rgbButtons[0] & 0x80));
    2. mouse_button_right((int)(state.rgbButtons[1] & 0x80));
    3. mouse_button_middle((int)(state.rgbButtons[2] & 0x80));
    4. /* FIXME: back/forward buttons as up/down? Or state.lZ increase/decrease?
    5. mouse_button_up((int)(state.rgbButtons[3] & 0x80));
    6. mouse_button_down((int)(state.rgbButtons[4] & 0x80));
    7. */

    ...die Unterstützung ist also schlicht und einfach nicht aktiviert. Im SDL-Verzeichnis ist entsprechender Code per #ifndef USE_SDLUI2 geklammert.

  • Ja danke für die schnelle Antwort .


    Dann kann man da wohl nix machen, wenn die up/down Funktion nicht in der Micromy Emulation integriert ist , oder ?
    Frag mich, wozu das dann überhaupt implementiert wurde - vielleicht um ne 3 Tastenmaus verwenden zu können .. das ist ja auch schon ganz nützlich - aber ein Maus-Wheel wär schon der Hit. Vielleicht gabs da irgendwelche timing probleme. In der Anleitung zur Micromys V3 steht :



    If the wheel is moved up or down, a sequence of pulses appears on the UP or DN bits of the above port registers. The number of pulses is exactly the number of increments that the wheel has been moved. The following picture illustrates two pulses for a wheel movement of two clicks:

    The idle state of the UP and DN bits is 1, and the pulses bring
    the bit to zero for a period of 50ms. The time between two pulses is
    also about 50ms.

  • Frag mich, wozu das dann überhaupt implementiert wurde - vielleicht um ne 3 Tastenmaus verwenden zu können .. das ist ja auch schon ganz nützlich - aber ein Maus-Wheel wär schon der Hit.

    3-Tasten-Mäuse gab es für den C64 tatsächlich (CMD SmartMouse), Scrollwheel-Mäuse dagegen nicht. Ich spekuliere, dass sich das VICE-Team gedacht hat: "Warum eine Hardware emulieren, die es niemals gab?"
    Aber wenn Du auf SourceForge ein Ticket eröffnest, wird das vielleicht schnell geändert; der Code scheint ja eh vorhanden zu sein.

    Vielleicht gabs da irgendwelche timing probleme. [...]
    the pulses bring the bit to zero for a period of 50ms. The time between two pulses is also about 50ms.

    Das dürfte kein Problem sein. Ein kompletter Zyklus dauert 100ms, ergo können pro Sekunde zehn Klicks übertragen werden. C64-Software fragt die Joysticks üblicherweise einmal pro Frame ab und kann daher bis zu 25 (PAL) bzw. 30 (NTSC) komplette Schaltzyklen pro Sekunde auseinanderhalten.

  • Warum funktioniert eigentlich die Maus emulation in WinVice 3 jetzt überhaupt nicht mehr ?


    Kann mir das mal jemand erklären ?


    Früher wars bei mir so, dass ich auf meinem 64 bit PC die 32 bit Version von Winvice starten musste, damit die Maus funktionierte ( ich glaube es war die s64sc.exe )


    Jetzt funktionieren die Mousetreiber von damals alle nicht mehr !!


    Was ist da los ?


    Ich dachte ich hätte irgendwo gelesen, dass WinVice 3 sogar das Micromys Scrollrad unterstützt.


    ?( ???

  • Ja - kannte ich noch nicht die "Control Port Settings" - Danke !


    komischerweise speichert er jetzt die Settings nicht mehr ab - muss wohl am windows 10 liegen - wo werden überhaupt die settings abgespeichert ?


    edit: ah jetzt geht wieder was - weiss auch nicht warum.

  • Das mit den Settings abspeichern funktioniert nun doch - ich dachte die würden in einen Ordner abgespeicher, auf dem ich keine Schreibrechte habe, dabei hat WinVice eben in den default Settings einfach den hacken fürs speichen der Settings entfernt. Mein Fehler



    Aber mal zur Maus - die funktioniert bei mir tatsächlich nicht so wie sie soll - der Mauszeiger rennt bei mir immer von links oben nach rechts unten.
    (mit dem Maustreiber von der 1351 Demo diskette )


    geht dieser Maustreiber denn bei euch ?


    c64-online.com/?ddownload=221


    https://www.c64-wiki.de/wiki/Mouse_1351

  • Aber mal zur Maus - die funktioniert bei mir tatsächlich nicht so wie sie soll - der Mauszeiger rennt bei mir immer von links oben nach rechts unten.
    (mit dem Maustreiber von der 1351 Demo diskette )


    geht dieser Maustreiber denn bei euch ?

    Ja.

  • Das ist wirklich seltsam, weil ichs jetzt schon an verschiedenen Rechnern ausprobiert habe. Der Mauszeiger saust wild durchs Bild


    Windows 10 pro 64 bit


    Meine Settings in WinVice 3.1 sind folgende:


    Control Port Einstellungen: Control Port 1 Gerät: Maus (1351)


    sonst alles auf default bis auf IEC Device aktviert

  • Jetzt hab ich es gerade in der alten WinVice 2.4 sc Version 32 nochmal probiert, wo es definitiv ging mit der Maus - und siehe da - hier geht die Maus nun auch nicht mehr. Das lustigste ist eigentlich, dass die alte WinVice Version mit den Settings Dialog der neuen WinVice 3 Version startet.


    Irgendwas hat die neue Version 3.1 da verstellt an den Settings... Ich deistalliere jetzt den Dreck , obwohl alles andere gut lief ( bis auf die Maus ) und installiere nochmal neu...


    ... hat nix gebracht
    wenn ich PotX abfrage springt der Wert auch im Dreieck, auch wenn ich die Maus nicht bewege. Was kann denn da sonst noch auf PotX zugreifen, wenn man nichts in den Settings eingestellt hat ausser der Maus ?


    Ich nehm natürlich alles zurück - WinVice ist toll - wär nur super, wenn die Maus funktioniert .




    [C64SC]
    Language="de"
    Window0Xpos=734
    Window0Ypos=145
    Window0Width=723
    Window0Height=636
    SaveResourcesOnExit=1
    SoundDeviceName="dx"
    Sound=0
    SoundBufferSize=100
    VICIIVideoCache=0
    SidEngine=1
    SidModel=1
    JoyPort1Device=3
    ETHERNETCARTBase=56832
    Acia1Base=56832



    [C64]
    Language="de"
    MonitorDimensions="k?SB?k??????????@????~~{~~~~~~~~~~~~~~~~~~K^????u????AAC??c_@????Bk??????????@????~o~~~~~~~~~~~~~~~~~~~~]????c?C??s?@???Z??A?@@?Ck??????????@????~~{~~~~~~~~~~~~~~~~~~~nC???F????jDK??e_B???D@WoN??BAk??????????@????~~{~~~~~~~~~~~~~~~~~~|N@???e??B?hAC??Q?A???@@@?k????A????B?????~~~~~~~~~~w~~~~~`~~~~??B????????y@?@?|?G????"
    Window0Xpos=593
    Window0Ypos=208
    Window0Width=735
    Window0Height=645
    SaveResourcesOnExit=1
    SoundDeviceName="dx"
    SoundBufferSize=100
    VICIIVideoCache=1
    SidEngine=1
    SidModel=1
    JoyPort4Device=0
    JoyPort3Device=0
    JoyPort2Device=0
    JoyPort1Device=9
    KeySetEnable=0
    MouseSensitivity=5
    ETHERNETCARTBase=56832
    Acia1Base=56832








    Loading system file `C:\Program Files (x86)\WinVICE-3.1-x64\C64\kernal'.
    Loading system file `C:\Program Files (x86)\WinVICE-3.1-x64\C64\basic'.
    Loading system file `C:\Program Files (x86)\WinVICE-3.1-x64\C64\chargen'.
    Loading system file `C:\Program Files (x86)\WinVICE-3.1-x64\PRINTER\mps803'.
    Palette: Loading palette `C:\Program Files (x86)\WinVICE-3.1-x64\PRINTER\mps803.vpl'.
    Loading system file `C:\Program Files (x86)\WinVICE-3.1-x64\PRINTER\nl10-cbm'.
    Palette: Loading palette `C:\Program Files (x86)\WinVICE-3.1-x64\PRINTER\nl10.vpl'.
    NL10: Printer driver initialized.
    Palette: Loading palette `C:\Program Files (x86)\WinVICE-3.1-x64\PRINTER\1520.vpl'.
    Loading system file `C:\Program Files (x86)\WinVICE-3.1-x64\DRIVES\dos1540'.
    Loading system file `C:\Program Files (x86)\WinVICE-3.1-x64\DRIVES\dos1541'.
    Loading system file `C:\Program Files (x86)\WinVICE-3.1-x64\DRIVES\d1541II'.
    Loading system file `C:\Program Files (x86)\WinVICE-3.1-x64\DRIVES\dos1570'.
    Loading system file `C:\Program Files (x86)\WinVICE-3.1-x64\DRIVES\dos1571'.
    Loading system file `C:\Program Files (x86)\WinVICE-3.1-x64\DRIVES\dos1581'.
    DriveROM: Error - 2000 ROM image not found. Hardware-level 2000 emulation is not available.
    DriveROM: Error - 4000 ROM image not found. Hardware-level 4000 emulation is not available.
    Loading system file `C:\Program Files (x86)\WinVICE-3.1-x64\DRIVES\dos2031'.
    Loading system file `C:\Program Files (x86)\WinVICE-3.1-x64\DRIVES\dos2040'.
    Loading system file `C:\Program Files (x86)\WinVICE-3.1-x64\DRIVES\dos3040'.
    Loading system file `C:\Program Files (x86)\WinVICE-3.1-x64\DRIVES\dos4040'.
    Loading system file `C:\Program Files (x86)\WinVICE-3.1-x64\DRIVES\dos1001'.
    Drive: Finished loading ROM images.
    video_dx9: Failed to prepare for rendering!
    Sound: Available sound devices: dx wmm dummy fs dump wav voc iff aiff mp3 flac ogg soundmovie
    Keyboard: Loading keymap `C:\Program Files (x86)\WinVICE-3.1-x64\C64\win_sym_de.vkm'.
    Main CPU: starting at ($FFFC).
    Main CPU: RESET.
    Sound: Opened device `dx', speed 44100Hz, fragment size 2.9ms, buffer size 101ms
    reSID: MOS8580, filter on, sampling rate 44100Hz - resampling, pass to 19845Hz
    Drive 8: RESET.
    AUTOSTART: Autodetecting image type of `C:\--- MEINE DATEN\Desktop\1351demo.d64'.
    AUTOSTART: Attached file `C:\--- MEINE DATEN\Desktop\1351demo.d64' as a disk image.
    AUTOSTART: Resetting the machine to autostart '*'
    AUTOSTART: Turning Warp mode on
    AUTOSTART: `C:\--- MEINE DATEN\Desktop\1351demo.d64' recognized as disk image.
    Main CPU: RESET.
    Drive 8: RESET.
    AUTOSTART: Loading program '*'
    AUTOSTART: Searching for ...
    AUTOSTART: Loading
    AUTOSTART: Entered ROM at $f51e
    AUTOSTART: Ready
    AUTOSTART: Turning Warp mode off
    AUTOSTART: Starting program.
    AUTOSTART: Done.
    Writing configuration file `C:\Users\Buexe\AppData\Roaming\vice\3.1\vice.ini'.



    Exiting...
    Sound: Closing device `dx'