カテゴリ 重要度 ステータス 解決状況 登録日時 最終更新
DIP/入力認証済み未処理2026-08-27 05:262026-08-28 18:57
 
テスターMarcher担当者 ソースapple/mac128.cpp
バージョン0.288発生バージョン修正バージョン
修正コミットプルリク
フラグ
セット mac128k, mac512k
セット詳細
mac128k - Macintosh 128k
mac512k - Macintosh 512k
 
概 要キーボードのリピート間隔がPRAMに保存されない。
詳 細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.
再現手順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.
追加情報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.
 
添付ファイル