ヘルプのグラフィックのページを見てたら思いついたアホみたいな方法ですが、
結果は試してみないと分からないものですね。
DIM G%[512,512]
LOAD "DAT:ファイル名",G%,0
'たぶん普通の方法
M=MILLISEC
FOR Y=0 TO 511:FOR X=0 TO 511
GPSET X,Y,RGB16TO32(G%[Y,X])
NEXT:NEXT
DEF RGB16TO32(C)
RETURN (C AND 1)*255<<24 OR (C>>1 AND 31)<<3 OR (C>>6 AND 31)<<3<<8 OR (C>>11 AND 31)<<3<<16
END
?MILLISEC-M
'結果→ 2641ミリ秒
'一見遅そうな新しい方法(RGBA5551の場合)
M=MILLISEC
FOR V=0 TO 511 STEP 8:FOR U=0 TO 511 STEP 8
F$=""
FOR Y=0 TO 7:FOR X=0 TO 7
INC F$,HEX$(G%[Y+V,X+U],4)
NEXT:NEXT
FONTDEF 33,F$
GPUTCHR U,V,"!"
NEXT:NEXT
?MILLISEC-M
'結果→ 1586ミリ秒
ちなみにGLOADなら12ミリ秒でした