PUAE .. in 16bit only ..
Debugging PUAE really sucked, as everything seemed to be working perfect, just the window stayed black..
But one simple trick made it working: switching my windows resolution to 16 bit, which forced my x11 server on windows to 16bit, which then caused AROS/hosted to 16 bit .. which made PUAE/AROS display the above window!
Why?
The showstopper seems to be gfxvidinfo.pixbytes, which is 2 for 16 bit and 4 for 32 bit..
but for AROS hosted on X11 I get 24 bit, which results in gfxvidinfo.pixbytes of 3(!).
Have a look at the UAE code (all UAEs!):
static void pfield_do_fill_line2 (int start, int stop, bool blank)
{
switch (gfxvidinfo.pixbytes) {
case 2: fill_line_16 (xlinebuffer, start, stop, blank); break;
case 4: fill_line_32 (xlinebuffer, start, stop, blank); break;
}
}
So you notice, what happens?
If pixbytes is 3, *nothing* happens. No error, no warning, nada.
And this is, why debugging sucked.
So at least now I know, what causes the problem .. the solution is still a bit away.
But one simple trick made it working: switching my windows resolution to 16 bit, which forced my x11 server on windows to 16bit, which then caused AROS/hosted to 16 bit .. which made PUAE/AROS display the above window!
Why?
The showstopper seems to be gfxvidinfo.pixbytes, which is 2 for 16 bit and 4 for 32 bit..
but for AROS hosted on X11 I get 24 bit, which results in gfxvidinfo.pixbytes of 3(!).
Have a look at the UAE code (all UAEs!):
static void pfield_do_fill_line2 (int start, int stop, bool blank)
{
switch (gfxvidinfo.pixbytes) {
case 2: fill_line_16 (xlinebuffer, start, stop, blank); break;
case 4: fill_line_32 (xlinebuffer, start, stop, blank); break;
}
}
So you notice, what happens?
If pixbytes is 3, *nothing* happens. No error, no warning, nada.
And this is, why debugging sucked.
So at least now I know, what causes the problem .. the solution is still a bit away.
0 Comments:
Post a Comment
<< Home