i am writing a monitor software for a project at university and this software is supposed to be able to execute other peoples code. so if i get the code loaded in and everything i can run it properly but the issue is when i try to run code from memory address that doesn't have code i want it to give me the standard F-op code exception as apposed to just stopping the simulator. but looking at your reasoning for adding the SIMHALT i don't think you should get rid of it but just adding the ability to disable it would be useful.
