Внимание! Это временный неофициальный архив старой версии форума Полигон Призраков, созданный сочувствующим форуму участником. Этот сайт просуществует лишь до тех пор, пока администрация Полигона не сдержит своё обещание и не откроет официальный архив по адресу old.sannata.org.

Полигон-2

Форум о старых компьютерах

Объявление форума

Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС.

Полигон-2 »   IBM PC-совместимое. До 2000 года включительно »   Переделка АТ интерфейса клавиатуры в PS/2 на старых платах
RSS

Переделка АТ интерфейса клавиатуры в PS/2 на старых платах

Уровня 386-х, 486-х, чтобы можно было подключить PS/2 мышь.

<<Назад  Вперед>> Страницы: 1 2 3 4 5 6 7 * 8 9 10 11 12 13 14 15 16 17
Печать
 
Tronix
Advanced Member


Откуда: Москва
Всего сообщений: 1749
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
15 янв. 2008
Оффтопик: Оффтопик: justontime Оооо, вы только что подали мне идею, как все-таки попробовать Трайдент запустить. Нужно рефреш в BIOS увеличить до пары секунд, или сколько память потянет и попробовать стартануть. Если дело в ALE, то может успеть Video BIOS стартануть. РУ7 у меня держала данные до 5 секунд, помнится, без рефреша.
Кай
Гость
Divine Assassin

Откуда: извне (from beyond)
Всего сообщений: 13709
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
8 авг. 2010
[q]
Извините за формат - тегов CODE что-то не вижу на форуме...
[/q]
{code}


WAITF  PROC  NEAR  ; FIXED TIME WAIT ROUTINE HARDWARE CONTROLLED - NOT PROCESSOR
; ENTRY:
; (CX) = COUNT OF 15.085737 MICROSECOND INTERVALS TO WAIT
; MEMORY REFRESH TIMER 1 OUTPUT AT THE DMA CHANNEL 0 ADDRESS REGISTER USED AS REFERENCE.

REM Oни есть. Но их нужно вводить ручками.

{/code}

Соотв. фигурные скобки меняем на квадратные. :)
Rio444
Гость


Откуда: Ростов-на-Дону
Всего сообщений: 8632
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
14 сен. 2014
justontime, большое спасибо!
Буду разбираться.
i8088
Advanced Member


Откуда: г. Баку, Азербайджан
Всего сообщений: 2132
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 янв. 2015
justontime, этот код для XT, но в AT машинах канал DMA0 освободился от функции регенерации памяти.
Соответственно, для требуемой нам AT читать DMA регистры уже не годится.
А во всех ли интересующих нас AT (286-486) канал 0 канал 1 8253 (с DMA он уже не связан) настроен на период 15мкс,
чтобы можно было его использовать? Надо будет проверить.

upd
Исправил, напутал номер канала 8253
justontime
Full Member


Откуда: СПб
Всего сообщений: 236
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
10 сен. 2016
i8088 написал:
[q]
но в AT машинах
[/q]
А, я просто неправильно понял проблему - думал, что речь идет только о решении для совсем старых машин PC/XT класса...
Rio444
Гость


Откуда: Ростов-на-Дону
Всего сообщений: 8632
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
14 сен. 2014
Приоритетно для машин 286, 386, 486-х.
Если заработает на XT - не страшно, но и не принципиально.
Для пентиумов не нужно, для них материнка без поддержки PS/2 - экзотика.

Вообще, первая мысль была - использовать тупой цикл, со счетчиком.
Вопрос только, где брать начальное значение счетчика? Оно будет зависеть от скорости процессора.
Это начальное значение можно считать на этапе инициализации (т.е. только один раз).
Но нужен какой-то таймер, который работает на всех вышеуказанных машинах, и работает одинаково.
Возможно ли использовать канал 0, таймера 8253/8254 (он же - системный таймер)? Только не ждать, когда он "тикнет", а прочитать содержимое счетчика и подождать, когда оно уменьшится на 18 (см. выше пост pahan) - это и будут требуемые ~15мкс.
i8088
Advanced Member


Откуда: г. Баку, Азербайджан
Всего сообщений: 2132
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 янв. 2015
Rio444 написал:
[q]
Если заработает на XT - не страшно, но и не принципиально.
[/q]
На XT не заработает - там нет 8042 вообще.


Rio444 написал:
[q]
Возможно ли использовать канал 0, таймера 8253/8254 (он же - системный таймер)? Только не ждать, когда он "тикнет", а прочитать содержимое счетчика и подождать, когда оно уменьшится на 18 (см. выше пост pahan) - это и будут требуемые ~15мкс.
[/q]
Канал 0 слишком медленно настроен (коэфф деления 65536), 1 тик ~54.9ms

Канал 1 подходит, но надо проверить, на всех ли 286-486 AT машинах его настройка одинакова? Если на всех машинах он настроен на 0x12h, то как раз один тик ~15mks
Rio444
Гость


Откуда: Ростов-на-Дону
Всего сообщений: 8632
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
14 сен. 2014
i8088 написал:
[q]
Канал 0 слишком медленно настроен (коэфф деления 65536), 1 тик ~54.9ms
[/q]
Rio444 написал:
[q]
Только не ждать, когда он "тикнет", а прочитать содержимое счетчика и подождать, когда оно уменьшится на 18 (см. выше пост pahan) - это и будут требуемые ~15мкс.
[/q]
i8088
Advanced Member


Откуда: г. Баку, Азербайджан
Всего сообщений: 2132
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 янв. 2015
Rio444, OK, я чего-то не сообразил сразу.
Приношу свои извинения!
Rio444
Гость


Откуда: Ростов-на-Дону
Всего сообщений: 8632
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
14 сен. 2014
i8088, извинения излишни. :)
Значения счетчика из таймера можно читать непосредственно?
in al, 040h ?
Ничего не собьётся? Всегда ли он работает?
Нужно ли предварительно делать "Access mode" = lobyte only ?
[q]
Bits Usage
6 and 7 Select channel :
0 0 = Channel 0
0 1 = Channel 1
1 0 = Channel 2
1 1 = Read-back command (8254 only)
4 and 5 Access mode :
0 0 = Latch count value command
0 1 = Access mode: lobyte only
1 0 = Access mode: hibyte only
1 1 = Access mode: lobyte/hibyte
1 to 3 Operating mode :
0 0 0 = Mode 0 (interrupt on terminal count)
0 0 1 = Mode 1 (hardware re-triggerable one-shot)
0 1 0 = Mode 2 (rate generator)
0 1 1 = Mode 3 (square wave generator)
1 0 0 = Mode 4 (software triggered strobe)
1 0 1 = Mode 5 (hardware triggered strobe)
1 1 0 = Mode 2 (rate generator, same as 010b)
1 1 1 = Mode 3 (square wave generator, same as 011b)
0 BCD/Binary mode: 0 = 16-bit binary, 1 = four-digit BCD
[/q]
<<Назад  Вперед>> Страницы: 1 2 3 4 5 6 7 * 8 9 10 11 12 13 14 15 16 17
Печать
Полигон-2 »   IBM PC-совместимое. До 2000 года включительно »   Переделка АТ интерфейса клавиатуры в PS/2 на старых платах
RSS

1 посетитель просмотрел эту тему за последние 15 минут
В том числе: 1 гость, 0 скрытых пользователей

Последние RSS
[Москва] LIQUID-Акция. Сливаются разъемы CF
МС7004 и 7004А на AT и XT
Пайка термотрубок
Проммать s478 PEAK 715VL2-HT ( Full-Size SBC)
Подскажите по 386 материке по джамперам.

Самые активные 5 тем RSS