flat assembler
Message board for the users of flat assembler.
![]() Goto page Previous 1, 2 |
Author |
|
Dex4u 19 Feb 2012, 20:56
Update, it seems i was using a 3 year old ver of KolibriOS, the latest ver runs fine without crashing.
But still just as fast, maybe they have a very fast 24bpp buffer to screen, as thats the mode most enulators use, but real hardware uses 32bpp vesa. |
|||
![]() |
|
Madis731 20 Feb 2012, 11:17
@Dex4u: I've discovered that in QEMU you cannot find a 32bpp mode. Actually MenuetOS could have only optimized code for 32bpp. Its a single DWORD write/read per pixel and it can be vectorized Q, DQ, QQ etc.
In the real world we need to support 24bpp modes which conserve space, but coding gets trickier. Should I do a WORD+BYTE transfer or a BYTE+BYTE+BYTE. Maybe if I transfered 4 pixels, I could write 12 bytes in 3 DWORDs. 16 bytes wide XMM fits 5 pixels and 1/3 of the 6th. Getting this wrong is really easy and like you suggested - "very fast 24bpp buffer to screen" - probably is due to some research and optimizations. Everything can be optimized (maybe not some NOPs ![]() |
|||
![]() |
|
JohnFound 20 Feb 2012, 12:23
Madis731 wrote: I've discovered that in QEMU you cannot find a 32bpp mode. I am using QEMU through "QEMU manager" front end. So, there is a hardware manager and I am able to choose between "Cirrus Logic GD5446", "Standard VGA" and "VMWare SVGA-II" video cards. Only GD5456 doesn't support 32bpp modes. All others does. I tested KolibriOS with different modes and graphic addapters (including 320x200x8bpp and 640x480x4bpp) and I can't see any difference in the speed between them. (although it has sluggish response sometimes.) _________________ Tox ID: 48C0321ADDB2FE5F644BB5E3D58B0D58C35E5BCBC81D7CD333633FEDF1047914A534256478D9 |
|||
![]() |
|
Goto page Previous 1, 2 < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.