In message <2a959901b4cf2b47f351b86062e58540@xxxxxxxxxxxxxxxxxxxxxxxxx
t>
Etienne SOBOLE <e.sobole@xxxxxxxxxxxxx> wrote:
VDU22 est legacy, ancien...
https://www.riscosopen.org/wiki/documentation/show/OS_ScreenMode
Ok Merci, ça devient plus clair.
OS_ScreenMode
- R0 = 0,
- R1 = Mode Specifier
Où "mode Specifier" est un pointeur sur un bloc qui contientC'est 5 Log(base2 de 32
[+0] Mode Selector Flags. Là on met 1
[+4] X resolution (pixels). Là on met 1920
[+8] Y resolution (pixels). Là on met 1080
[+12] Log2BPP value. Là on met 32 car on veut du 32 bits par pixel
[+16] Frame rate. Là on met 50 (ou 60 ou -1 je sais pas trop)Les écrans actuels sont plutôt à 60Hz
[+20] Mode Variable Numbers. Là on veut pas specifier quoi que ce soit
donc on
met -1
Donc Si c'est bien cà, en C ca donne
_kernel_swi_regs regs;static int swiMode[ ] = {1, 1920, 1080, 32, 50, -1}; //Pour le
int swiMode[ ] = {1, 1920, 1080, 32, 50, -1};
regs.r[0] = 0;regs.r[1] = (int) swiMode; // pour le cast pointeur avec un registre
regs.r[1] = swiMode;
_kernel_swi(OS_ScreenMode, ®s, ®s)Pas obligatoire, mais conseillé surtout pour la mise au point.
Mais on dirait bien que le ciel séclaircit :)bon courage.
Il ne reste qu'à tester :)
-