It seems it might have gotten broken by the 6502 rewrite.
The port support that is there for the 6510 seems to be missing for the 4510.
This code in c65_bankswitch isn't gong to bank switch much:
data = 0x00; // machine().device<m4510_device>("maincpu")->get_port();
if (data == m_old_data)