[riscosfr] Re: Resources C++

  • From: Etienne SOBOLE <e.sobole@xxxxxxxxxxxxx>
  • To: riscosfr@xxxxxxxxxxxxx
  • Date: Tue, 9 Jan 2018 17:14:18 +0100

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 contient
[+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)
[+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;
int swiMode[ ] = {1, 1920, 1080, 32, 50, -1};

regs.r[0] = 0;
regs.r[1] = swiMode;
_kernel_swi(OS_ScreenMode, &regs, &regs)

Mais on dirait bien que le ciel s’éclaircit :)
Il ne reste qu'à tester :)
-

Other related posts: