Henrik Rydgård and Claude Opus 5.5
0e7a48907b
scePower: Keep the game's own CPU clock, and apply locked clock changes live
...
The game's requested CPU frequency wasn't stored anywhere, only the effective
CoreTiming clock. So a state saved with a locked clock kept that speed when
loaded with the lock off, and turning the lock off in-game left the CPU at
the locked speed until the game set its clock again (most only do at boot).
Changing the lock in-game didn't take effect either, until a reboot or a
state load.
Now RealcpuFreq is tracked and saved next to the PLL and bus, the setters
record the game's request even under a lock, and one function applies
either the lock or the game's clocks. It runs at init, on state load, and at
vblank whenever the setting has changed. Older states guess the game's clock
from the saved effective one, capped at the game's PLL.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-10-17 00:00:00 +02:00
..
2026-10-11 00:56:20 +02:00
2026-09-10 17:03:07 -06:00
2026-09-29 17:14:00 -06:00
2026-10-13 12:13:42 +02:00
2026-09-29 17:14:00 -06:00
2026-10-08 14:27:01 +02:00
2026-10-08 14:27:01 +02:00
2026-10-10 17:11:19 +02:00
2026-09-10 17:03:07 -06:00
2026-10-15 17:03:12 +02:00
2026-09-20 16:39:35 -06:00
2026-10-11 10:33:30 +02:00
2026-08-16 16:59:52 +02:00
2026-10-10 20:33:34 +02:00
2026-08-11 10:28:36 +02:00
2026-09-12 13:46:12 -06:00
2026-09-30 09:06:30 -06:00
2025-03-31 11:17:50 +02:00
2026-09-29 12:37:48 -06:00
2026-09-29 12:37:48 -06:00
2026-08-10 10:04:21 +02:00
2025-08-06 17:44:54 +02:00
2026-05-02 11:07:34 +02:00
2025-06-13 23:29:49 +02:00
2026-10-13 02:24:27 +02:00
2026-09-04 13:10:54 -06:00
2026-09-29 11:58:42 -06:00
2025-03-31 10:24:03 +02:00
2026-10-16 23:36:00 +02:00
2026-10-12 10:52:46 +02:00
2026-09-28 11:32:07 -06:00
2025-07-20 19:30:35 +02:00
2025-03-31 11:17:50 +02:00
2026-09-11 21:09:33 -06:00
2026-10-01 15:49:26 -06:00
2025-06-25 11:34:07 +02:00
2026-10-16 18:32:07 +02:00
2026-09-29 09:19:32 -06:00
2026-09-29 17:14:00 -06:00
2026-09-29 17:14:00 -06:00
2025-03-31 11:17:50 +02:00
2025-03-31 11:17:50 +02:00
2026-08-24 17:37:39 +02:00
2026-08-21 10:56:06 +02:00
2026-09-25 12:50:39 -06:00
2025-06-05 22:46:24 +02:00
2026-10-09 18:57:39 +02:00
2026-09-30 09:58:37 -06:00
2026-08-12 14:06:16 +02:00
2026-09-11 21:09:33 -06:00
2026-10-17 00:00:00 +02:00
2026-08-18 13:42:13 +02:00
2026-10-11 10:33:30 +02:00
2026-09-28 11:32:07 -06:00
2026-09-11 21:09:33 -06:00
2025-03-31 11:17:50 +02:00
2025-04-03 22:39:14 +02:00
2026-10-09 18:57:39 +02:00
2026-10-06 04:59:56 +08:00
2026-09-28 09:34:06 -06:00
2026-09-11 21:09:33 -06:00
2026-09-09 14:43:39 -06:00
2026-08-19 18:38:03 +02:00
2026-09-25 12:38:40 -06:00
2025-08-06 00:16:34 +02:00
2026-09-28 11:32:07 -06:00
2026-08-19 18:38:03 +02:00
2026-10-11 19:30:39 +02:00
2026-09-29 11:09:47 -06:00
2026-08-12 14:06:16 +02:00
2026-10-15 17:03:12 +02:00
2026-08-24 10:58:34 +02:00
2026-09-30 09:06:30 -06:00
2026-10-09 15:32:06 +02:00
2026-08-17 16:01:23 +02:00
2026-10-10 20:33:34 +02:00
2026-09-28 09:34:05 -06:00
2026-10-11 10:33:30 +02:00
2026-09-30 09:06:30 -06:00
2026-10-09 15:32:06 +02:00
2026-10-09 15:32:06 +02:00
2026-10-05 10:10:22 -06:00
2026-10-15 17:03:12 +02:00
2026-10-06 02:28:15 +08:00
2026-10-09 15:32:06 +02:00
2026-08-17 16:01:23 +02:00
2026-10-09 15:32:06 +02:00
2026-08-17 16:01:23 +02:00
2026-10-09 15:32:06 +02:00
2026-09-08 11:15:15 -06:00
2026-10-11 10:33:30 +02:00
2026-10-05 10:10:22 -06:00
2026-09-29 09:19:32 -06:00
2026-10-09 15:32:06 +02:00
2026-09-08 15:18:02 -06:00
2026-09-11 21:09:33 -06:00
2026-10-13 12:13:42 +02:00
2025-07-20 19:32:05 +02:00
2025-03-31 11:17:50 +02:00
2025-02-14 09:50:55 -06:00
2026-10-13 12:13:42 +02:00
2026-09-12 11:52:09 -06:00
2026-10-11 22:50:57 +02:00
2026-09-20 16:39:35 -06:00
2026-08-12 14:06:16 +02:00
2026-09-11 21:09:33 -06:00
2026-08-12 14:06:16 +02:00
2025-02-12 16:49:43 +03:00
2026-09-28 11:32:07 -06:00
2026-09-25 12:50:41 -06:00
2026-10-16 20:44:05 +02:00
2026-04-23 11:12:58 +02:00
2026-10-03 21:55:32 -04:00
2025-07-01 19:56:09 +03:00
2025-01-21 12:22:32 +01:00
2025-01-21 12:22:32 +01:00
2026-09-10 15:52:53 -06:00
2025-01-21 12:22:32 +01:00
2026-10-13 12:13:42 +02:00
2025-04-07 22:16:32 +02:00
2026-08-12 14:06:16 +02:00
2025-01-09 09:06:23 +01:00
2026-08-12 14:06:16 +02:00
2025-01-21 17:41:53 +01:00
2025-03-31 11:17:50 +02:00
2026-08-11 10:28:36 +02:00
2026-08-11 10:28:47 +02:00
2026-09-11 21:09:33 -06:00
2026-09-25 12:24:02 -06:00
2026-09-11 21:09:33 -06:00
2026-08-11 10:28:47 +02:00
2026-10-17 00:00:00 +02:00
2026-10-17 00:00:00 +02:00
2026-08-24 09:30:44 +02:00
2025-04-14 22:38:22 +02:00
2026-09-28 11:32:07 -06:00
2026-09-28 11:32:07 -06:00
2026-10-10 17:11:19 +02:00
2025-04-03 14:13:50 +02:00
2026-08-24 12:15:31 +02:00
2026-08-24 11:12:59 +02:00
2026-09-09 14:43:39 -06:00
2026-08-19 18:38:03 +02:00
2026-10-01 15:49:26 -06:00
2026-09-28 09:34:05 -06:00
2025-03-31 11:17:50 +02:00
2026-09-11 21:09:33 -06:00
2025-03-31 11:17:50 +02:00
2026-09-11 21:09:33 -06:00
2025-03-31 11:17:50 +02:00
2026-08-11 20:14:01 +02:00
2026-09-29 09:19:32 -06:00
2026-09-22 10:04:31 -06:00
2026-09-04 18:10:10 -06:00
2025-03-31 11:17:50 +02:00
2026-09-29 12:29:04 -06:00
2026-09-29 12:29:04 -06:00
2026-09-28 11:32:07 -06:00
2026-10-16 18:32:07 +02:00
2026-10-16 18:32:07 +02:00
2026-09-30 09:58:37 -06:00
2026-09-25 12:50:39 -06:00
2026-09-29 11:09:47 -06:00
2026-10-13 12:13:42 +02:00
2026-09-25 17:33:33 -06:00
2026-10-10 22:32:46 +02:00
2026-08-24 10:58:34 +02:00
2025-01-22 10:12:56 +01:00
2025-01-22 10:12:56 +01:00
2026-10-13 12:36:06 +02:00