Peter Gerwinski escribió:
Mariano Alvarez Fernandez wrote:
I had make a try, setting the videomode (vga_setmode) for every mode and getting the frame pointer. It works, and "demogrx" runs in 16bpp OK. But it takes a lot to start, and probably is not a good idea to set all video modes consecutive.
So, any one knows how to get the frame pointer without set the video mode?
Is it really necessary to set the frame pointer for each (even unused) video mode at the beginning? What about delaying to set the frame pointer until the mode is really used?
Just an idea,
The problem is this code in src/setup/setmode.c:
if((t || buildframedriver(&vmd,&fdr)) && (t || buildcontext(&vmd,&fdr,&cxt)) && (*vmd.extinfo->setup)(&vmd,noclear)) {
We can set the frame pointer in the setup routine, but buildcontext uses it in advance, I can change the code to:
if((*vmd.extinfo->setup)(&vmd,noclear)) && (t || buildframedriver(&vmd,&fdr)) && (t || buildcontext(&vmd,&fdr,&cxt))){
but I don't know if we break any other driver with it.
Hartmut if you can, your opinion will be unvaluable here.