An old game U.F.O. (year 1983) running on an emulated Lambda 8300 computer (EightyOne emulator - Thanks Mike Wynne for this very realistic emulator).
I had a copy of this old game, but it crashed almost instantly in the emulator.
Then some day I decided to try to fix the problem, and the process was basically:
1) load game in the EightyOne emulator and then soft reset before it would crash.
2) dump memory to file.
3) disassemble memory with the DASMx Z80 disassembler.
4) refresh my old machine language skillz

while analyzing the program
5) isolate the problem to some ROM calls which led me to understand that the game was written to another ROM version than the one included with the emulator.
6) fix the ROM calls and assemble with the TNIASM Z80 assembler.
7) Hook up my digital joystick, but since there is no joystick support in the emulator, I had to install AutoHotKey, and then write a script to map joystick to keys.
8) Fire up the emulator, load my ROM fixed version of U.F.O - and play the game with my digital joystick - as I did 27 years ago
UPDATE: An error occurred during the disassembly - the enemies are not supposed to only appear on the top of the screen, they should appear at any altitude. I have fixed this in a later version.