This is not my area of expertise, but I believe this is the section of Mame source that was referred to:
https://github.com/mamedev/mame/blob/master/src/mame/nintendo/popeye.cpp
The encrypted version uses the tpp2_state function, while the unencrypted version uses the tpp2_noalu_state...