Before, I had the impression that sending the boot codes (scancodes) to IOB is enough and the LM will reboot upon reading these codes. It seems this is not the case and the boot codes are actually processed by IOB to see if a boot is requested. I also see there is a BOOT signal on IOB in the schematics.
I see only some commented code in kbd and some comments about this. I assume this (booting from keyboard) is not working and has never worked before ?
I see in uc-cadr.lisp, the decision for cold or warm boot (or reloading virtual memory) are checked by reading KBD CSR and KBD LOW byte, so this is done here.
Then, when a boot sequence is sensed by IOB, is it enough to return LM (ucode, uexec etc.) back to the initial state (prom should be enabled, PC=0, memories are zero etc.) and keep the boot scancode still in KBD register ? I am already trying this but no success yet. I wonder if I am missing something small or big.