> Yes, I understand this banking, but in the cps1 mame driver, a call is made to
> palette_recalc() in palette.c, which seems to resize the palette.
Not in the latest version. I guess you are looking at one of the older versions, like 0.36.
Older versions of MAME tried to run all games in 256 colours, the alternative at the time was 16 bit mode which was slower & couldn't show so many colours ( a palette entry is 24 bit ).
At first this was ok, but later as systems were added that could display more than 256 colours there were various attempts at making them fit into the 8 bit graphics modes. This worked quite well as the games were not necessarily using all the palette entries or there were large number of repetitions.
Around the time MAME switched over to Windows it was decided to throw away the old limitations as they made the source code more complicated. So now MAME has 65536 palette entries & can generate either 16bit or 32bit displays.
One of the reasons that 0.36 is regarded as faster as the later versions is that it will generally copy less data over to your graphics card, on older machines the amount of bandwidth to the video card is quite low. dosmame supports it's own colour reduction now, although I've not tested it for speed recently.