I mistyped above, but I don't think it matters much: "an average of 32 jumps are to addresses" should have been "an average of 32 possible jumps are to addresses".

Testing for bit 7 only works if the BR/CALL isn't to the same PC as the next one that would have been executed if the opcode wasn't a BR/CALL. It can't tell if a 01 opcode at the beginning of a page is an ALEM instruction or a BR to PC 01, since the results are the same in both cases.

With the second method, if the next opcode dumped was not the one from the current page, then you'd know the original opcode was a BR/CALL. What I found from analyzing the dumps is that almost 1/2 of the possible jumps are followed by an opcode that is also in the same position of another page. So you still can't tell if the original opcode was a BR/CALL. My first thought was to dump a few more bytes so you could uniquely ID the page, but you can't dump any more bytes because shifting the opcode out destroys the page.