There's a catch when recovering palette values from the Japanese multi-platform image files: only the number of bits/channel supported by the target platform must be decoded, because most encoders will set the unused the lower bits to zero.
If the palette is just read as pure 8bit/channel, the RGB linearity will be affected and the max value per (R,G,B) channel won't be 255. Intermediary values will all be squeezed too.
This means that, for each platform, this is the number of higher palette bits to be decoded:
I attached here a reference .SC5 file, and the same image converted to MAG/Pi/PIC using different converters. This way you can compare how off RECOIL decodes the palette from the reference SC5 file. It's an MSX2 file, but all platforms are affected similarly.
Here are some more files, created with a different encoder that has a different palette scaling.
I forgot to mention that this is only for the 16-color mode of the PC-98.
Could you please take a look at this issue? I've noticed that some Japanese users are confused with the incorrect colors...
Please test at https://recoil.sourceforge.net/web.html
RECOIL doesn't know "PC98SA". Do you have sample files for it?