MEGA65 / mega65-core

MEGA65 FPGA core
Other
237 stars 84 forks source link

Core 0.96 test: 1351 mouse is jittery in applications like MegaMOD and Sprite Editor in Freezer (but stable in BASIC) #775

Open MauriceMEGA65 opened 5 months ago

MauriceMEGA65 commented 5 months ago

Test Environment (required) MEGA65 Release 0.96 "Batch 3" Release Candidate

Describe the bug 1351 mouse pointer is jittery in applications like MegaMOD and Sprite Editor in Freezer, but seems OK in BASIC

Expected behavior Stable mouse pointer, like when using an Amiga mouse

https://github.com/MEGA65/mega65-core/assets/75681098/11d42d48-2e66-400c-acd2-34618b8305dd

https://github.com/MEGA65/mega65-core/assets/75681098/640cfed1-3e62-41b7-a375-a58f40bc981b

https://github.com/MEGA65/mega65-core/assets/75681098/c150ccf1-0c3e-40b0-be11-0a7b5e6a57d8

Screenshots See attached videos of MegaMOD, Sprite Editor and BASIC

Additional context https://discord.com/channels/719326990221574164/1196590643007463459/1198582748340834304

gardners commented 5 months ago

I've been thinking about how to fix this at the hardware level by adding hysteresis to 1351 read values. One option is to fix this in the 751- issue branch, while I have mouse_input.vhdl open for surgery. See #751

gardners commented 5 months ago

That helps, but the jitter is actually over a range of 3 values, not 2.

gardners commented 5 months ago

Meanwhile, I filed an issue on the MouSTer repo asking for optional pull-up on Amiga right and middle buttons, that would allow C64s and MEGA65s to read those buttons without requiring a special cable with pullup in it.

gardners commented 5 months ago

Confirmed this fixes 1351 mouse jitter, provided that amiga mouse aggressive mode is turned off (which now also controls 1351 de-jittering at hardware level).