Колибри 0630

Share your distros and discuss others'
  • Обнаружил неприятную ошибку. Если запустить плеер а потом шашки то система наглухо виснет. Доска отладки успела показать немаскированное исключение FPU. Похоже что ошибка в коде сохранения восстановления контекста.

    Какая там версия ядра?
  • Ревизия 201 + некоторые дополнительные изменения. Исходники ядра включены в исходники дистрибутива.
  • Ещё точнее: ревизия 202 + вместо dev_hdcd.inc подставлен старый.
  • Увы! Я лишен счастья потыкать клавиатурой и мышкой в версии 0630! Дело в том что при загрузке колибри 0630, как с дискеты, так и путем 9x2klbr.exe (выбор kolibri.img вместо menuet.img) у меня банально перезагружается компьютер. Т.е. я начинаю загрузку через синий экран, все как будто в порядке и когда загрузка колибри достигает 100% происходит перезагрузка компа. Перепроверил тоже самое на 0600, и убедился что все нормально в этом случае загружается и не могу понять в чем дело. :(
    P.S. да, разумеется я старые menuet.img предварительно стер из корневой директории С: и в папке колибри, прежде чем копировать туда kolibri.img.
  • Есть две народные мудрости: «Торопиться надо только в 3-х случаях» (кому надо знают в каких) и «Поспешай медленно…».
    Я, конечно, не отрицаю и еще одну народную мудрость: «… в своем глазу бревно не замечает», но речь сейчас не обо мне. ;-)

    Итак, имеем следующие пункты:
    1. За особые заслуги FASM арестовали и посадили на неопределенный срок в DEVELOP. Об этом узнали Tinypad'ы и решили больше с ним не общаться. В результате пострадали все простые исходники, которым больше не суждено стать бинарниками. ;-)
    2. Ядро, находящееся на SVN не является совместимым с этим дистрибутивом, надо вносить корректировки.
    3. Наблюдается пропадание реакции на клавиши стрелок в KFAR, чаще всего это происходит, если много раз запускать AC97SND через него.
    4. Самый простой способ завесить систему запустить проигрывание музыки через AC97SND и запустить Quake. Зависание мертвое. При обратной комбинации (сначала Quake, потом AC97SND) все работает без проблем.
    5. Чем и как сжимать ядро? Про это нигде не написанов в дистрибутиве. Без сжатия для него нет места в образе, и приходится удалять не нужные приложения, например игру FARA.
    6. Файл svn_log.txt - для ревизии r149.
    7. Как в списки программистов попал Victor? Я ничего против не имею, но хотелось бы знать за что? Нигде нет упоминания об этом.
    8. На http://meos32.7.forumer.com/ ничего нет.

    Еще у меня есть код, который я написал еще до того как начал писать DMA для винта, сглаживающий изображение. Не бог весть что, и из говна конфетку не сделает (кстати, в образе слишком сильно сжатая картинка), но все же помогает. Лучше не использовать для слабых комперов. Код только для Vesa2 и выше. В свое время у меня просто руки не дошли выложить.

    Надо заменить в vesa20.inc
    sdp3: ; MAIN LOOP
    cmp [edi+WinMapAddress],byte 1 ; ptrBuffer^<>byte(1)
    jne snbgp
    push eax
    push ebx
    mov eax,dword [WinMapAddress-8]
    imul eax, [esp+4] ;4
    xor edx,edx
    mov ebx,[ScreenWidth]
    div ebx
    mov cx,dx
    lea esi,[eax+eax*2]
    mov eax,dword [WinMapAddress-4]
    imul eax, [esp+0] ;0
    xor edx,edx
    mov ebx,[ScreenHeight]
    div ebx
    shl ecx,16
    mov cx,dx
    imul eax, [esp+8] ;8
    add esi,eax
    mov eax,[esi+0x300000]
    push eax
    ror ecx,16
    xor eax,eax
    mov ax,cx
    shl eax,1 ; умножение на 2
    lea eax,[eax+eax*4] ; умножение на 5
    xor edx,edx
    mov ebx,[ScreenWidth]
    div ebx
    cmp eax,5
    pop eax
    jb @f
    mov ebx,[esi+0x300000+3]
    call overlapping_of_points
    @@:
    push eax
    ror ecx,16
    xor eax,eax
    mov ax,cx
    shl eax,1 ; умножение на 2
    lea eax,[eax+eax*4] ; умножение на
    xor edx,edx
    mov ebx,[ScreenHeight]
    div ebx
    cmp eax,5
    pop eax
    jb @f
    mov ebx,[display_data-8]
    shl ebx,1
    add ebx,[display_data-8]
    add ebx,0x300000
    add ebx,esi
    mov ebx,[ebx]
    call overlapping_of_points
    @@:
    and eax,0xffffff
    xchg edi, ebp
    stosw
    shr eax,16
    stosb
    xchg ebp, edi ; ebp+=3
    cmp [ScreenBPP],byte 24 ; 24 or 32 bpp ? - x size
    jz @f
    inc ebp ; +1
    @@:
    pop ebx
    pop eax
    jmp shook1

    И еще добавить:
    overlapping_of_points:
    push ecx edi
    mov ecx,eax
    mov edx,ebx
    xor eax,eax
    mov al,cl
    xor ebx,ebx
    mov bl,dl
    add eax,ebx
    rcr eax,1
    xor edi,edi
    mov di,ax
    xor eax,eax
    mov al,ch
    xor ebx,ebx
    mov bl,dh
    add eax,ebx
    rcr eax,1
    ror edi,8
    add edi,eax
    ror ecx,8
    ror edx,8
    xor eax,eax
    mov al,ch
    xor ebx,ebx
    mov bl,dh
    add eax,ebx
    rcr eax,1
    ror edi,8
    add eax,edi
    ror eax,16
    pop edi ecx
    ret
    Last edited by Mario79 on Wed Nov 01, 2006 10:45 am, edited 2 times in total.
  • camper
    mtldr на новый поменял?
  • Я вообще с дискеты грузился. Сегодня попробую с разными режимами графическими.
    А если гружусь через 9x2klbr.exe, нужен mtldr новый и вообще он нужен?
  • Ну, по поводу пунктов 6 и 8 хочется сказать: "Марат, будь внимательнее!" (С) Mario79 ;) SVN-лог нужно смотреть сверху вниз, а не наоборот. На http://meos32.7.forumer.com/ я еще вчера видел сообщение diamond-а, если ты об этом.
    По поводу FASM - действительно упущение. Код со сжатием картинки еще не пробовал, но сейчас этим займусь...
  • Как в списки программистов попал Victor?
    Mario79 мне тоже интересно, вроде ничем особо не отличился... Так тестил немного
  • Heavyiron
    Хорошо п. 6 и 8 снимаются, но когда я вчера здесь увидел эту ветку на http://meos32.7.forumer.com/ ничего не было.
    Код не сжимает картинку - он ее сглаживает.
  • [Offtop]Впечатление, что в последнее время http://meos32.7.forumer.com/ стал пристанищем только для спамеров. Модераторов, насколько мне известно, там нет, а админ появляется редко :( Это все не способствует популярности форума... [/Offtop]
    Сглаживание (! оговорился ;) ) картинки работает, респект ;)
    По поводу пункта 5: ядро нужно сжимать приложением kerpack в самой колибри (после чего нужно сохранить образ), либо в эмуляторе Диамонда, предварительно поместив ядро в папку, которая прописана в klbrinwin.ini в качестве рамдиска.
    Last edited by Heavyiron on Wed Nov 01, 2006 4:16 pm, edited 1 time in total.
  • Heavyiron
    По поводу пункта 5: ядро нужно сжимать приложением kerpack в самой колибри (после чего нужно сохранить образ), либо в эмуляторе Диамонда, предварительно поместив ядро в папку, которая прописана в klbrinwin.ini в качестве рамдиска.
    Ни за что не поверю, что нет версии для Винды. Особенно учитывая что Diamond пользуется в основном ей (мое личное впечатление).
  • kerpack + klbrinwin = версия для винды ;)
  • camper
    Пропиши mtldr в autoexec.bat, если у тебя 9х, правда если "линолиум", то действительно не получится.
  • Who is online

    Users browsing this forum: No registered users and 3 guests