This fixes all the non-const pointers with static lifetime I could find
with a cheap grep (in combination with the last commit). There are
likely more lurking that I didn't find, and things that aren't pointers
that should be made const.
There are still a few mutable static pointers that break the ability to
host multiple drivers but these require refactoring to fix:
src/devices/sound/sidvoice.cpp:static const uint8_t* waveform30;
src/devices/sound/sidvoice.cpp:static const uint8_t* waveform50;
src/devices/sound/sidvoice.cpp:static const uint8_t* waveform60;
src/devices/sound/sidvoice.cpp:static const uint8_t* waveform70;
src/mame/drivers/pockstat.cpp: static const char *gme_id = "123-456-STD";
src/mame/machine/namco51.cpp: static const game_driver *namcoio_51XX_driver = nullptr;
After another two "tehkanwch" boards were found and dumped (where this ROM matched the parent), and a deeper analisys from Roberto Fresca (who thinks that it was a bitrot, since it was a nonsense modification of a sprite), I've changed the ROM #9 (gfx1) to match the parent, as found on the new dumps.
* Separate Microsoft 2-button mouse and Logitech 3-button Microsoft-compatible mouse
* Add Microsoft wheel mouse
* Make Mouse Systems mouse behave more realistically
* Add Mouse Systems "rotatable" mouse
* Simplify code and eliminate timers
(nw) X/Y translation and buttons works for all devices. The wheel on
the wheel mouse seems to be transmitting the right data, and CuteMouse
detects the wheel as being present, but no software seems to support it
properly. Software supporting the Mouse Systems "rotatable" mouse is
very rare - typically people just set the DIP switches on their M-1 for
"non-rotatable" mode. A standard mouse driver will see the "rotatable"
mouse moving two mickeys for each count, and move eratically on
rotation. The "rotable" mouse is poorly tested due to lack of software.
(nw) MAME doesn't have a proper input type for a mouse wheel, and it
doesn't seem to be possible to map the host mouse wheel to an axis when
configuring inputs. The default mapping ends up assigining the wheel or
rotation to one of the translation axes, which is very unhelpful.
Also add notes to Sun keyboard emulation.
There's a hack to make the 1200 Baud mouse actually run at 9600 Baud.
This is necessary because the SCC is incorrectly expecting 9600 Baud
rather than 1200 Baud. I don't have time to fix the SCC, so I'd
appreciate it if someone else would.
There's no way it should be expecting 9600 Baud on the mouse port.
Solaris 2.3 and later support 1200 Baud and 4800 Baud, and earlier
versions support 1200 Baud only. No version of Solaris works with a
9600 Baud mouse.
The workaround allows the mouse to be used in SunView on sun4_60 - I
haven't tested any other drivers.