From ee9835938a27c7f8d3eb22192d4f3be9244f535e Mon Sep 17 00:00:00 2001 From: Paul Gardner-Stephen Date: Sat, 31 May 2025 20:40:25 +0930 Subject: [PATCH] force CPU into hypervisor before updating HYPPO image #222 --- src/tools/m65.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/tools/m65.c b/src/tools/m65.c index 5daa70a0..de916763 100644 --- a/src/tools/m65.c +++ b/src/tools/m65.c @@ -2280,7 +2280,21 @@ int main(int argc, char **argv) if (hyppo) { log_info("replacing hyppo..."); real_stop_cpu(); - load_file(hyppo, 0xfff8000, patchKS); + + // Reset CPU, and then stop it quickly so that we know it's still in the hypervisor + monitor_sync(); + slow_write(fd, "\r!\r", 3); + usleep(100000); + slow_write(fd, "\rt1\r", 4); + monitor_sync(); + sleep(1); + + load_file(hyppo, 0xfff8000, patchKS); + + // Reset CPU after loading new HYPPO + slow_write(fd, "\r!\r", 3); + monitor_sync(); + sleep(2); } if (flashmenufile) { log_info("replacing flashmenu");