Hi Brian,
as long as I do not understand the diagnostic tools of Charles, I can only let me lead by the error messages. This is what I have done (I did not look much at the code, this is too much for me at the moment):
commented out line 4 and line 6 ($ filename .. / uses rtl32) - I run the code directly
commented out line 3076: sprframe = (CHOOSE(offframe + 1, INT {1, 2, 3, 2}, countof))
commented out line 3093: sprframe = (CHOOSE((offframe + 1), INT {5, 6}, countof))
replaced all GetModuleHandle with ¤GetModuleHandle (1539, 3009-3013)
Now I can see at least the (empty) window of the app and hear the sound of the .mid file. I assume something in function CHOOSE does not work properly.
Roland