I've been disassembling and reverse-engineering the music code for a game called Slime World. (src/psgv.asm is the PSG player, and src/fmvs.asm is the FM player.) Early in the code, just after setting up the H.TIMI hook, it's got code running in page 1 RAM that loads A and E registers and then calls $4110, which is before the start address of $4E00 that the player code uses, and so hasn't been set up by routines that load the player and copy it (and it's data) down to page 1 RAM, as far as I can tell.
There are six calls at the start that happen with A:E values $16:$20, $17:$50, $26:$05, $27:$05 and $28:$01. (There are more calls that do similar things later in the code.)
This looks to me as if it's some sort of routine that sends data to FM chip registers or something like that (register number in A, and value in E?). But it's a bit mysterious to me why it would be calling into page 1 RAM. Does something in system FM initialisation routines perhaps place some code there?
If anybody has any ideas on what's happening here, and maybe pointers to documentation on this, I'd appreciate it.