Well... I suppose. How good is your Polish? Because I code for myself and I don't name variables, procedures or make comments in English unless the source is to be open from start And trust me, it's not very feasible to translate all that now.
Please also keep in mind this is my second attempt at ARM - the first one got so messed up I just started again clean with more DC and less general emulation in mind. In other words: I never got to implement opcodes that aren't part of DC programs. Not much point in doing so as it's better to catch missing/unemulated instruction than write a procedure and never get to test it. In that aspect it will be quite a task to get my code working with anything MAME-related. It could be used as some point of reference but not much more I'm afraid.
Still interested?
EDIT: That -4 code probably makes up for prefetch offset on R15. You need to have it correct on both write and read. My code is constructed in a bit different way - I add +4 to PC the moment I fetch another opcode. All other code accounts for it. This is actually pretty elegant solution, almost like the hardware does it. I don't correct reads, rather my writes/jumps/interrupts transfer are all aware of the fact that R15 is ahead of the code.