I know a few things about this but not as much as one of the tech experts would.
-Every game after 1990 or so has NEO-PCM or equivalent. YM2610 has ADPCM-A + ADPCM-B buses that run in parallel and the earliest games had two banks of V ROMs for each. This can waste alot of space though so PCM chip allows for both to run from single 16MB space.
-If a board can take more than 2MB of P ROM it's equipped for bank switching. At least on PROGBK1, bank # is written by 68k to LS74, outputting to LS139->LS08. Same 139 is used by PCM to select one of 4 V ROMs. IT varies how later carts do it but it seems to always be 1MB fixed, 1MB switchable.
-C/V ROMS were never bank switched
-NEO-ZMC is for Z80 bank switch, Z80 sees 62KB of ROM at a time only. It's out ports select a bank for a given region. Some games don't have it or an equivalent despite having large ROMs. NAM for instance has a large M1 but only 62KB is used.
-NEO-273 is for addressing for video hardware. C/S ROMs are addressed with the output
-Fatal Fury 2 and a few other games have the earliest protection attempt with SNK-9201. If 68k doesn't get expected values back from it the game crashes.
-Games with 128K of SROM don't bankswitch, later titles do where the cart looks at FIX layer fetches in offscreen areas
Don't know anything about the later protection stuff. Slug X has that PLD sitting between 68k and P1 and it gets more involved with later titles.
also, @channelmaniac/kyuusakku or whoever else knows better, do any of you have info on jumper layouts on carts? I know there's cart pinouts available and I can do it myself, if I can avoid doing all of that though it would be nice.