The BASIC compiler is now upgraded to critical condition. I did some major surgery to use the updated calling conventions. (no more .arg; .result; nested .subs; saveall; restoreall; entrytype; etc.)
Could probably use a test suite; a generated make file/*.pl files.
There are few cases where the functions passed things on the stack and used "entrytype" to figure out how to deal with the args. I faked this by checking the total # of parameters passed, which doesn't help much for cases where both the first and second args can be either a string or a float. Fortunately, wumpus doesn't trip over my hack. It'd probably be a good idea to switch to PMC passing for these cases (look for S5/N5/I5 references).