Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
09536 DIP/Input Minor Always 21 hours ago 1 hour ago
Tester Marcher View Status Public Platform MAME (Official Binary)
Assigned To Resolution Open OS Windows (x64)
Status [?] New Driver
Version 0.288 Fixed in Version Build x64
Fixed in Git Commit Github Pull Request #
Summary 09536: mac128k, mac512k: Keyboard auto-repeat rate/delay never save to PRAM, and produce uncontrollable (faster than max) repeat rate
Description On mac128k and mac512k, the two Control Panel "Keyboard" settings (Key Repeat Rate and Delay Until Repeat) do not behave consistently across sessions:

- On the very first boot after the RTC/PRAM NVRAM file for the system does not exist (fresh nvram directory, or the file deleted), keyboard repeat behaves normally and the Control Panel shows a sane, usable value for both settings (observed consistently as "3" and "2" out of 0-4).
- On every subsequent boot that reuses the resulting saved NVRAM file, keyboard auto-repeat becomes dramatically faster than even the fastest explicit Control Panel setting (4/4) allows - a single brief keypress produces several repeated characters (e.g. typing "Hello" yields something like "Hhheelllooo"). The Control Panel simultaneously displays the lowest position ("0") for both settings, which does not match the much-faster-than-max actual behavior.
- Manually dragging both sliders to any explicit position (e.g. 2/2) fixes the behavior immediately, but only for the remainder of that session. The fix does not survive a restart, even though the underlying NVRAM file is being saved and reloaded.
- macplus, run from the identical boot floppy, does not exhibit any part of this: settings persist correctly and no repeat-rate anomaly occurs on any boot.
Steps To Reproduce 1. Ensure there is no existing NVRAM file for the system (delete nvram/mac128k/rtc, or use a fresh nvram directory).
2. Start mac128k, boot from sys11.
3. Confirm typing is normal and note the Control Panel Keyboard values (consistently observed as 3/2).
4. Close MAME normally (this writes nvram/mac128k/rtc).
5. Relaunch MAME with the same system/media (step 4's NVRAM file now present, unmodified).
6. Type on the keyboard.


Actual result; Step 6: keyboard repeat is uncontrollably fast (faster than the 4/4 Control Panel maximum), and the Control Panel shows 0/0.

Expected result; Step 6 should behave identically to step 3, since nothing was deliberately changed.
Additional Information Byte-level testing (hex-dumping nvram/mac128k/rtc before/after Control Panel changes) shows:
   - Changing Speaker Volume (e.g. 3 -> 7) changes exactly one byte in the saved 20-byte file, in the expected way.
   - Changing either Keyboard setting (Key Repeat Rate or Delay Until Repeat) to any value, then closing/reopening MAME, produces NO change whatsoever in any of the 20 saved bytes.
   This shows the Keyboard cdev/Control Panel updates the live in-RAM auto-repeat thresholds (the low-memory globals KeyThresh $18E / KeyRepThresh $190, described in ROM equate listings as "unpacked, user versions of parameter ram") for the current session only, and never issues the PRAM write sequence that the Sound/Volume path clearly does perform.
Github Commit
Flags
Regression Version
Affected Sets / Systems mac128k, mac512k
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
2
User avatar
No.24628
Robbbert
Moderator
6 hours ago
There is no "System Disk 1.0" in the software lists.
User avatar
No.24635
Marcher
Tester
1 hour ago
The issue is fully reproducible on sys11. Updated the report.