Exploring the Gameboy Memory Bank Controller (2020)
b13rg.github.io
b13rg.github.io
It also allowed Nintendo to have a stronger case against 3rd party companies making their own cartridges, as the nintendo logo is copyrighted
More precisely trademarked, but that eventually lead to https://en.wikipedia.org/wiki/Sega_v._Accolade which effectively stopped the practice.
You can compile the ROM's back with rgbds: https://github.com/gbdev/rgbds
Here you can see how bank switching works.
Also, recent versions of file(1) from Unix can parse GB ROM headers too.
https://www.elektormagazine.nl/news/nu-in-de-elektor-outlet-...
:-)