You wave to a bat, that's pretty cool
Based on multiple GBdev tutorials:
https://www.opusgames.com/games/GBDev/GBDev.html (This one mainly, most of the code is from that)
https://github.com/lancekindle/DMGreport (Very good tutorial, only one where DMA sprite transfer works for me)
https://eldred.fr/gb-asm-tutorial/ (Good asm overview, good intro)
https://gbdev.io/ (Good overview)