Anyway it seems that the problem is a typo in MSBASIC.gcl: the value of _SaveChar, line 1221 https://github.com/kervinck/gigatron-ro ... .gcl#L1221, should be $31fe, not $30fe, because the vCPU program counter does cross page boundaries. With this change, the command SAVE in MSBASIC no longer crashes.
I prepared a tentative patch for the dev.rom at https://github.com/lb3361/gigatron-rom/tree/pr-msbasic. The corresponding dev.rom, attached to this post, is otherwise identical to ROMv6. Here is how things go with the patch using a Pluggy connected keyboard.
- Start MSBASIC from the main menu
- Enter a small test program and use command SAVE and wait a dozen seconds or so.
- Reset the Gigatron, start the Loader, and press CTRL+F1 to see what's on the Pluggy
- Remember the CTRL+Fx key corresponding to the "--SAVED--" entry
- Reset again the Gigatron, start MSBASIC, then press that CTRL+Fx key. The program should type itself...