Our newest team member, Ryan, has not only been fixing lots of my poorly-hacked code, but has also been playing through the game, and finding lots of plot-related bugs. For me, this means more work on the Usecode-interpreter, which has been the most frustrating, and the most satisfying, part of this project.
And I think I've got the solution to most of the problems. First, the ABRT opcode, which I was interpreting the same as a RET, is really like a 'throw' in Java; it not only returns, but passes its effect upwards to the caller. In addition, the 0x4 opcode, which I was interpreting as a 'jmp-if-done', is really a 'catch', and the previously 'unknown' opcode, 0x40, is always the target of a 'catch'. So if a called function returns with an ABRT, control should pass immediately there. I'll give this all a try tonight.
World News
I'm a news junkie, and have been following the Middle East peace talks almost hourly. It's depressing, but I see no way the two sides can compromise on Jerusalem when both have religious reasons for their claims. My proposal (which, of course, nobody really cares about:-)) would be for them to share sovereignty, with a city council made up of representatives from both sides, and an integrated police force.
I know it seems improbable that the two sides could ever trust each other to do something like that. But then, weren't Britain and France mortal enemies for hundreds of years, with each claiming the other's territory?