I mean, is the GameShark code modifying a value in ROM or RAM?
First google result for "decoding gameboy gameshark codes":
http://doc.kodewerx.org/hacking_gb.html#gsdescribeType Description
01xxyyzz 8-bit RAM write
Writes the byte xx to the address zzyy.
8bxxyyzz 8-bit RAM write (with bank change)
Changes the RAM bank to b, then writes the byte xx to the address zzyy.
9bxxyyzz 8-bit RAM write (with WRAM bank change)
Changes the WRAM bank to b and then writes the byte xx to the address zzyy. GBC only.
Okay, so the code was 010D89CC. According to that document, it's writing the value 0D to RAM address CC89.
0000-7FFF is ROM, $A000-BFFF is cart RAM, $C000-DFFF is system RAM.
So, this code is modifying the system RAM.
So, in bgb, you'd need to set a Write Breakpoint for address $CC89. To do that: Debug->access breakpoints.
"addr range" will be $CC89, and tick "on write" and click Add. Close the window and click Run to play the game.
Now whenever you get hit, the game should show the debug window. It will show the CPU instruction that is reducing your life. Depending on the game's coding, there might be multiple codes needed.