An emulator written in C#.
There is a demonstration loading and running Notch's test program at line 252.
There is a little reference trickery in the method CPU.RefLoc which was to avoid writing that switch statement twice, but overall it should be easy to understand as I've tried to follow the spec to the letter. I'll be here if they're any questions.
Have an iPhone? Check out all 200+ new features coming in iOS 13.