bizzareries du mod 256 couleurs
Publié : mer. 04/mai/2005 13:00
Il se passe une drôle de cuisine (en tout cas sur ma bécane) avec les fcts:
SetFrameRate()
SetRefreshRate()
FlipBuffers()
en mode 256 couleurs.
La fonction flipbuffers semble inopérante dans ce mode(Programme1).
L'adresse des deux buffers graphiques semble être la même (Programme2).
Et divers autres bizareries..
;*** Programme 1 ***
InitSprite():InitKeyboard()
OpenScreen(640,480,8,"Test") ;256 couleurs
;OpenScreen(640,480,16,"Test") ;>256 couleurs OK
CreateSprite(0,32,32)
StartDrawing(SpriteOutput(0))
Box(0,0,32,32,255)
StopDrawing()
xb.w=0
Repeat
FlipBuffers(1) ;semble inopérant en 256 couleurs
ClearScreen(0,0,0)
DisplaySprite(0,xb,100)
xb+1
xb & %111111111
ExamineKeyboard()
Until KeyboardPushed(#pb_key_escape)
End
;Programme 2 ;Code repris à 'tonton'(voir séction ASM)
InitSprite()
OpenScreen(640,480, 8, "") ; mode 256 couleurs
;OpenScreen(640,480, 16, "") ;>256 couleurs OK
StartDrawing(ScreenOutput())
addecr0 = DrawingBuffer()
StopDrawing()
FlipBuffers()
StartDrawing(ScreenOutput())
addecr1= DrawingBuffer()
StopDrawing()
Debug addecr0 ;En mode 256 couleurs,
Debug addecr1 ;addecr0=addecr1 !!!
End ;Si >256 couleurs ils sont bien différents.
Si quq'un veut bien essayer sur sa bécane
A+
SetFrameRate()
SetRefreshRate()
FlipBuffers()
en mode 256 couleurs.
La fonction flipbuffers semble inopérante dans ce mode(Programme1).
L'adresse des deux buffers graphiques semble être la même (Programme2).
Et divers autres bizareries..
;*** Programme 1 ***
InitSprite():InitKeyboard()
OpenScreen(640,480,8,"Test") ;256 couleurs
;OpenScreen(640,480,16,"Test") ;>256 couleurs OK
CreateSprite(0,32,32)
StartDrawing(SpriteOutput(0))
Box(0,0,32,32,255)
StopDrawing()
xb.w=0
Repeat
FlipBuffers(1) ;semble inopérant en 256 couleurs
ClearScreen(0,0,0)
DisplaySprite(0,xb,100)
xb+1
xb & %111111111
ExamineKeyboard()
Until KeyboardPushed(#pb_key_escape)
End
;Programme 2 ;Code repris à 'tonton'(voir séction ASM)
InitSprite()
OpenScreen(640,480, 8, "") ; mode 256 couleurs
;OpenScreen(640,480, 16, "") ;>256 couleurs OK
StartDrawing(ScreenOutput())
addecr0 = DrawingBuffer()
StopDrawing()
FlipBuffers()
StartDrawing(ScreenOutput())
addecr1= DrawingBuffer()
StopDrawing()
Debug addecr0 ;En mode 256 couleurs,
Debug addecr1 ;addecr0=addecr1 !!!
End ;Si >256 couleurs ils sont bien différents.
Si quq'un veut bien essayer sur sa bécane
A+