Shadow buffer - моргающий курсор или так жить нельзя...

Kernel-side graphics support
  • SVN r. 2472 - исправление для r. 2430 (некорректная работа со стеком)
    SVN r. 2477 - исправление для r. 2446 (неправильно отображение градиентной заливки)
  • SVN r. 2480 - исправление для r. 2446. Для Qemu и нестандартных видеокарт. К сожалению [BytesPerScanLine] не всегда равно [_display.width]*[ScreenBPP]/8
  • Problems with virtualbox 4.1.10r76836
    KolibriOS hangs shortly after the blue screen. When the black screen appears, a part of the first letter gets drawn (see screenshot)
    r2479 works ok, later versions show this bug.

    I tried modes 1024*768*24 bpp and 800*600*32bpp
    Attachments
    Clipboard04.gif
    Clipboard04.gif (20.93 KiB)
    Viewed 8654 times
    "Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." Albert Einstein
  • hidnplayr
    It may be worth it to upgrade to the latest version of VirtualBox?
    I really did not discover the problem on VirtualBox 4.1.8.

    To All
    У кого-нибудь еще есть проблема с VirtualBox?
  • This is the latest version of virtualbox. But maybe it has nothing to do with virtualbox at all... ?

    The problem only occurs when i set ram to 64 Mb, i tried 512 now and all works!
    "Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." Albert Einstein
  • Aha, then try to downgrade from 4.1.10 to 4.1.9 :D May be it's bug in VirtualBox?
  • hidnplayr wrote:This is the latest version of virtualbox. But maybe it has nothing to do with virtualbox at all... ?

    The problem only occurs when i set ram to 64 Mb, i tried 512 now and all works!
    Oh, sorry - I was not attentive. :?

    I suspect that the new version of VirtualBox spoils the memory. I used to store data replaced the multiplication by [BytesPerScanLine]

    I have added here's the procedure before to r. 2480
    Spoiler:

    Code: Select all

    align 4
    calculate_fast_getting_offset_for_WinMapAddress:
    ; calculate data area for fast getting offset to _WinMapAddress
            xor     eax, eax
            mov     ecx, [_display.height]
            inc     ecx
            mov     edi, d_width_calc_area
            cld
    @@:
            stosd
            add     eax, [_display.width]
            dec     ecx
            jnz     @r
            ret
    I added this procedure in the r. 2480
    Spoiler:

    Code: Select all

    align 4
    calculate_fast_getting_offset_for_LFB:
    ; calculate data area for fast getting offset to LFB
            xor     eax, eax
            mov     ecx, [_display.height]
            inc     ecx
            mov     edi, BPSLine_calc_area
            cld
    @@:
            stosd
            add     eax, [BytesPerScanLine]
            dec     ecx
            jnz     @r
            ret
    
    All the difference is only in the address for storing data:
    d_width_calc_area equ (OS_BASE+0x0005000)
    BPSLine_calc_area equ (OS_BASE+0x0339000)

    I can try to replace:

    Code: Select all

    dec ecx
    to the

    Code: Select all

    dec ecx
    cmp ecx,0
    I need to repeat this mistake to any case to find out for sure.
  • запускал на Virtualbox 4.1.8 r75467
    пробовал режимы 1024*768*24 и 800*600*32 - оба работают :)
    ОС Колибри брал тут http://builds.kolibrios.org/new-stack/svn2479-img.7z
    в Virtualbox ставил параметры: видеопамять - 32 МБ; оперативка - 128 МБ
    попробовал и при оперативке 64 Мб: первый раз повисла, второй раз завилась и работала.. :D
    Last edited by some_man on Tue Mar 20, 2012 10:50 pm, edited 2 times in total.
  • some_man wrote:ОС Колибри брал тут http://builds.kolibrios.org/new-stack/svn2479-img.7z
    Какое отношение бранч нового сетевого стека имеет к изменениям в основной ветке ядра?
  • Извиняюсь... Не ту ночную сборку запустил... :mrgreen:
  • I tried #2483 on vmware with 64 Mbyte RAM and same happens as in virtual box.
    "Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." Albert Einstein
  • Damn! In Qemu error is present too.
    I used the 128 Mb of RAM and no error was shown. When Qemu using 64 Mb error happens.
  • R2483 на Virtualbox:
    при оперативке 64 Мб - не заводится,
    при оперативке 128 Мб - заводтся!
  • Спасибо. Больше тестировать эту ошибку не нужно. Я отловил ее в Qemu.
  • Who is online

    Users browsing this forum: No registered users and 2 guests