Хочу движущейся пиксель, в БИОС.

Тема в разделе "WASM.BEGINNERS", создана пользователем wcools, 24 сен 2008.

  1. airyashov

    airyashov New Member

    Публикаций:
    0
    Регистрация:
    4 сен 2008
    Сообщения:
    12
    вот под биос
     
  2. wcools

    wcools New Member

    Публикаций:
    0
    Регистрация:
    7 сен 2008
    Сообщения:
    89
    Под виндой пашет нормально, но под досом\биосом выводит пиксель и на нажатия не реагирует ???
     
  3. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    wcools
    airyashov
    Вот эти строчки лишнии и не корректные.
    Код (Text):
    1.  in al,61h
    2.  push ax
    3.  or al,80h
    4.  out 61h,al
    5.  pop ax
    6.  out 61h,al
    В современном компьюторе стоит AT контроллер. А этот код для XT машин контроллер 8255.

    В AT системах контроллер 8042.
    Порт 61h к клавиотуре не относиться(мало относиться)
    Во-первых бит 7 только чтение, а во-вторых это другое значение об ошибках.

    Чтобы запохало надо считывать скан код.
    in al, 60h
    Как сказал SadKo
    Делается это как раз через чтение.
     
  4. wcools

    wcools New Member

    Публикаций:
    0
    Регистрация:
    7 сен 2008
    Сообщения:
    89
    А есть какая-нибуди литература по работе с АТ клавой.
     
  5. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    wcools
    В. Несвижинский Программирование аппаратных средств.
     
  6. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    Y_Mur
    Посмотрел. Мдя, автор кое как содрал с 5 книжек весь матерьял. И то не весь, а "огрызками".

    wcools
    Напишу будет. :).
    Кулаков В. Программирование на аппоратном уровне.
     
  7. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    Pavia
    Зато там прямой ответ на вопрос ТС через порт
    У Кулакова только через DOS\BIOS
     
  8. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    Не только там и через порты есть причем описанно гораздо лучше.
     
  9. wcools

    wcools New Member

    Публикаций:
    0
    Регистрация:
    7 сен 2008
    Сообщения:
    89
    Прочитал Кулакова. Чет-то не догоняю:
    Регистр команд и состояния доступны через порт 64h, если
    in al,64h читаем рег. состояния
    out 64h,al записываем в рег команд
    Надо ли записывать в регистр команд в 0 бит null, и в 4 тоже null ??? В его примере этого нет.

    вот это-послание EIO ???
    mov al,20h
    out 20h,al
     
  10. wcools

    wcools New Member

    Публикаций:
    0
    Регистрация:
    7 сен 2008
    Сообщения:
    89
    И что это дает, мне скан код нафиг не нужен, пока. Но всеравно попробовал не сильно помогает.
    NEW:
    add [xxx],10
    mov dx,[xxx]
    mov ah,0ch
    mov bh,0
    mov cx,100
    mov al,3
    int 10h

    in al, 60h
    mov al,20h
    out 20h,al
    sti
    iret

    Хотя под эмуляцией дос теперь работает как в винде, т.е. я кнопочку один раз нажал, а пиксель несколько раз сместился, почему???

    PS: Комп 100mhz с EGA видяхой режим меняет, а пиксель не выводит, почему???
     
  11. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    Скорее всего глюк эмулятора ;) он и в других древних ДОС прогах наблюдается.

    Это виртуально или настоящий? вроде EGA вымерли ещё в эпоху 8-20МГц камешков ;) или у тебя она каким то чудом сохранилась?
     
  12. wcools

    wcools New Member

    Публикаций:
    0
    Регистрация:
    7 сен 2008
    Сообщения:
    89
    У меня настоящая.
     
  13. Vov4ick

    Vov4ick Владимир

    Публикаций:
    0
    Регистрация:
    8 окт 2006
    Сообщения:
    581
    Адрес:
    МО
    У меня и CGA карточка есть :derisive: Правда монитор только EGA, но они совместимы. Кстати EGA приятнее, чем VGA, у её граф. режимов частота развёртки выше, глаза меньше устают.
    По программированию клавиатуры море литературы в инете. Чем стандартный обработчик не устраивает?
     
  14. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    Если настоящая есть древние подробные манускрипты про неё - когда-то ооочень давно с них начинал освоение асма ;)
     
  15. wcools

    wcools New Member

    Публикаций:
    0
    Регистрация:
    7 сен 2008
    Сообщения:
    89
    Хочется свое сделать, нато и нужен ассемблер и вообще програмирование.
    Я искал, вприципи все что нашел, одно и тоже, непонятное здесь спрашиваю.
     
  16. wcools

    wcools New Member

    Публикаций:
    0
    Регистрация:
    7 сен 2008
    Сообщения:
    89
    Наконецто сделал движущийся пиксель в биосе. :) Форумчанам большое спасибо.
    КОД:
    org 100h
    use16
    jmp start
    x dw 10
    y dw 10
    start:
    ;------------Çàìåíà âåêòîðà îáðàáîò÷èêà-------------
    xor ax, ax ;îáíóëåíèå
    mov es, ax ;
    mov bx, 9*4 ;êîïèðóåì àäðåñ 9-ãî âåêòîðà èç òàáëèöè ïðåðûâàíèé
    mov ax, NEW ;êîïèðóåì íîâûé àäðåñ âåêòîðà
    mov dx, cs ;êîïèðóåì íîìåð ñåêöèè, ãäå âûëíåí òåêóùèé êîä.
    cli
    mov [es:bx+0], ax ;êîïèðóåì â òàáëèöó ïðåðûâàíèé íîâûé àäðåñ
    mov [es:bx+2], dx ;
    sti
    ;-----------îîîîîîîîîîîîîîîîîîîîîîîîîî--------------
    mov ah,00h
    mov al,0dh
    int 10h
    mov dx,100
    jmp $

    NEW:
    in al,60h
    cmp al,11h
    jz m1
    cmp al,1fh
    jz m2
    cmp al,1eh
    jz m3
    cmp al,20h
    jz m4
    jmp QU

    m1:
    sub [y],1
    jmp VV
    m2:
    add [y],1
    jmp VV
    m3:
    sub [x],1
    jmp VV
    m4:
    add [x],1
    jmp VV

    VV:
    mov ah,0ch
    mov bh,0
    mov cx,[x]
    mov dx,[y]
    mov al,3
    int 10h

    QU:
    mov al,20h
    out 20h,al
    sti
    iret
    jmp $

    Мне кажется что код можно оптимизировать(может я зыбыл чего), если знаете как, подскажите.
    PS: Поидее под EGA должно работать, попробовал 2 видяхи , ни на одной не робит, может еще че-нибудь мешает.
     
  17. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    возможно я не прав, но почему-бы не заглянуть в код уже рабочей либы? (не хотите - не смотрите)

    напр аттач