パレット情報を書き換えることで実装できます。
#module
#define PALLETCOLORS 256
#define PALLETCOLORSIZE 3
#const PALLETDATASIZE PALLETCOLORS * PALLETCOLORSIZE
#deffunc _palfade int value,int ps,int pe,local pallet,local pallet_buff,local i
mref pallet,69
sdim pallet_buff,PALLETDATASIZE
memcpy pallet_buff,pallet,PALLETDATASIZE
repeat (limit(pe,ps,255)-ps+1),ps
i = cnt * 3
repeat PALLETCOLORSIZE
poke pallet,i+cnt,limit(peek(pallet,i+cnt)+value,0,255)
loop
loop
palette -1,,,,1
memcpy pallet,pallet_buff,PALLETDATASIZE
return
#define global palfade(%1=0,%2=0,%3=255) _palfade limit(%1,-256,256),limit(%2,0,255),%3
#global
screen 0,,,1
picload dirinfo(1)+"/sample/demo/sky_bg.jpg"
repeat 255,-255
await 1
palfade cnt
redraw 1
loop