Rather than make you type in code, I've added the "MBI" to the repository.
I grabbed another hour to experiment.
I've uploaded some more source. I don't know the source well enough to put the hacks where they best belong; I've only just punned a hack that may correct the padding issues. (This will have to be cleanly fixed by someone who knows the source better if it proves correct.) The "PITMAN.MBI" program is still not correct, but it looks much better. (That said, the one issue may not be an issue of `void minibasic::show_pad()' but an artifact of one of the below problems.)
I've also commented out the scrolling code because it behaves weirdly.
Before either of you get upset about the punning and the tracing stuff... I've found two pretty crazy bugs. I'm listing them here for now, but if I can't find a fix in the next 15-20 minutes I'll probably try and grab a minute to pin a note to the "issues" section.
1): The expression "64+1*3" is a silly way of saying "67" so how come the following code prints "Stage" and my little men starting at the same horizontal offset?
2): How come running the code twice without a reset puts "Stage" in a two different places?
15 LET L=4
20 LOCATE 70,1
25 PRINT "Stage ";#2;1
30 FOR A=1 TO 4
35 LET X=3:LET Y=64+A*3
37 LOCATE 0,0:PRINT X:LOCATE 2,0:PRINT Y
40 COLOR 2,0
45 LOCATE Y+1,X
50 PRINT " 0 "
55 LOCATE Y+1,X+1
60 PRINT "/X\"
65 LOCATE Y+1,X+2
70 PRINT "/ \"
75 NEXT A
80 FOR Z=1 TO 25
85 NEXT Z