ちなみに32bit(RGB=8bit)と16bit(RGB=5bit)の色が混在している理由。 実際の3DSで表示している色は16bitなのです。 (GSAVE/GLOAD/FONTDEFあたりが16bit定義です) プチコンの命令として色を指定するところはすべて32bitで指定するようになっていますが、これはプチコンが仕様としてそういうふうにしてます。 実際はプチコン内部で32bitを16bitに変換して3DSの画面に表示していて、 GSPOIT は 3DSの画面から取得した16bitの色をプチコン内部で32bitに変換されて返されます。 なので、どうがんばっても3DSの画面から取得したRGB=5bitしか取れないのです。 8bitなのに5bitしかなくて、3bit足りないので、左3シフトした値で表現されます 右3シフトするとは8で掛け算するのと同じなので、必ず8の倍数になります。