Новые драйвера для ATI Radeon.

Drivers for various video cards
  • http://iam.gorodok.net/NV.zip
    Ощибка с зашитой портов (функ 46). Вызываем ф. 46 для диапазона 0xE0-0xE4 в aex возвращается какаято муть (не 0 и не 1), освобождаем порты тойже функцией(другой подфункцией), потом я случайно обратился к этим портам, (in al, 0xE0 etc) программа спокойко продолжила работу, в al считанное значение. С ядром из svn программа выподает в ощибкой 0D (по мойму зашита по привилегиям).
  • Ghost
    С драйвером я выложил тестовое ядро. Там для всез программ устанавливается IOPL3 так что они могут читать и писать любые порты и делать cli hlt :) А ф.46 осталась без изменений.
  • Ghost
    Посмотрел исходники. Для GForce альфа курсор похож на ATI ARGB 64*64. А=0хFF делает курсор сплошным А=0 прозрачным.
    Только адрес курсора в видеопамяти устанавливается мудрено.
  • Serge
    Я так понял для X1300 эти драйвера не подойдут?
  • Mario79
    Нет. Там совсем новое ядро и для нет неродных драйверов вообще.
  • Нужна библиотека курсоров и разные курсоры в разных окнах? Можно менять форму курсора на лету при перемещении из одного окна в другое.
  • Serge
    А для обычного Vesa это будет поддерживаться?
  • Mario79
    Можно и для обычного но надо будет переписать половину mousedrv.inc
  • Если бы меняющийся курсор был и для VESA,то можно было бы для ANIMAGE сделать разные курсоры в соответствии с инструментом.Нажал карандаш - курсор ввиде карандаша.Нажал заливку курсор ввиде банки с краской.И так далее.
  • andrew_programmer
    В приципе можно. Vesa драйвер будет грузить курсоры в кучу ядра. Надо только переписать код вывода курсора на экран.
  • А где должен располагаться ati2d.obj: на /rd/1 или /rd/1/drivers?
  • Heavyiron
    /rd/1/drivers. Если надо установить другой курсор переименуй его в user.cur и запиши на /rd/1/
  • andrew_programmer
    Можешь рисовать курсоры.
    Эта часть кода не готова, так что есть время для изменений.

    load_cursor
    eax=68
    ebx=20
    ecx = src
    edx = (hotspot << 16) or flags

    flags:
    LOAD_FROM_FILE equ 0
    src = путь к файлу курсора
    hotspot игнорируется

    LOAD_FROM_MEM equ 1
    src = адрес курсора в памяти
    hotspot игнорируется

    LOAD_INDIRECT equ 2
    src= образ курсора в формате ARGB 32Х32 пикселя
    hotspot = (x<<8)or y
    0<= x,y <=31

    возвращаемое значение
    еах = логический номер курсора или 0 в случае неудачи.
    Всего можно загрузить 48 курсоров +16 зарезервированных системных
    курсоров.

    set_cursor
    eax=68
    ebx=21
    ecx = логический номер курсора

    возвращаемое значение
    логический номер предыдущего курсора или 0

    delete_cursor
    eax=68
    ebx=22
    ecx = логический номер курсора

    возвращаемое значение
    общее кол-во загруженных курсоров или 0
  • >Можешь рисовать курсоры.

    Рисовать лучше всего получается у goglus-а :) (нет,я не перекладываю работу на других,просто говорю то,что есть).
    Курсоры наверное лучше делать чёрно-белыми,чтобы места меньше занимали в коде.
  • Who is online

    Users browsing this forum: No registered users and 15 guests