Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » Переделка АТ интерфейса клавиатуры в PS/2 на старых платах |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 ... 7 8 9 10 11 * 12 13 14 15 16 17 | Печать |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 4 ноября 2017 20:20 Сообщение отредактировано: 4 ноября 2017 20:22
Моя идея с отлавливанием запаздывания оказалась неверной, новый вариант попробовать ловить изменение старшего байта если конечное значение положительно. Но очень много команд, и после latch нужно заново ставить режим, чтобы заново началось изменение счетчика (я все проверял на 8253). Надо еще подумать. Кстати, loop цикл с выводом в LPT порт на IBM 5160 дает меандр с длительностями импкльса и паузы примерно 11мкс. Вообще может быть удобнее использовать канал 2, его можно останавливать (замемто latch) через логику PPA (или ее аналог в AT)? Временно перепрограммировать на 65536, а на выходе вернуть назад, но это увеличит задержку. Надо подумать. |
Rio444
Гость
Откуда: Ростов-на-Дону Всего сообщений: 8632 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 14 сен. 2014 |
Если только канал 2 уже ни для чего больше не используется. |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
Rio444 написал: Штатно он в основном для диагностического speaker используется. Если только канал 2 уже ни для чего больше не используется. |
Rio444
Гость
Откуда: Ростов-на-Дону Всего сообщений: 8632 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 14 сен. 2014 |
i8088 написал: Кстати, да. Но не уверен, что только диагностического. Штатно он в основном для диагностического speaker используется. Если в системе есть звуковуха, то наверное канал 2 ей и не нужен. А если только спикер? Фиг с ним, если временно собьётся его работа. А если конфликт в системе, с более неприятными последствиями? |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
Если какая программа использует его для измерения времени, то по любому сама и программирует. А штатно егоо функция например подавать гудки (тот же DOS), я не уверен что он программирует его заново каждый раз. Ну можно по выходе оставлять настроенным на 1000Hz Во всех руководствах по ассемблеру это самый используемый канал, все примеры обычно на нем строятся. Я еще подумаю. |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 4 ноября 2017 22:45 Сообщение отредактировано: 4 ноября 2017 22:51
Только для AT (не слишком новых, где есть канал 1 8254) можно попробовать процедуру из исходников IBM AT |
Rio444
Гость
Откуда: Ростов-на-Дону Всего сообщений: 8632 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 14 сен. 2014 |
Очень просто, но очень неточно. Даже значение в Ah не инициализируют. Перед WAITF1 должно быть: IN AL,PORT_B Возможно именно этот алгоритм используется в int 15h функция 86h. |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 5 ноября 2017 9:31 Сообщение отредактировано: 5 ноября 2017 9:32
Rio444 написал: Мне тоже это не понравилось но я решил привести как в оригинале. Даже значение в Ah не инициализируют. Дилемма в том, что с 8253/54 слишком много команд получается, что снизит точность. Но при использовании канала2 будет чуть проще, тк его можно останавливать без latch. |
Rio444
Гость
Откуда: Ростов-на-Дону Всего сообщений: 8632 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 14 сен. 2014 |
Посмотрите вот такой вариант:
На 386DX-40 получилось на выходе 10 циклов. Что вполне неплохо. На 286-й конечно точность будет очень низкая. |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
Те Вы предлагаете сделать пре-калибровку, а потом всюду использовать найденную константу? В принципе оба варианта (IBM и Ваш) могут использоваться, в зависимости от целей. А Вы пробовали проверить реальную задержку осциллографом? Я проверял так
Это делает 65536 импульсов и пауз в порт принтера. Проверить, насколько изменится длительность импульсов и паузы если заккоментировать CALL DLY (для уменьшения потерь времени можно заменить макроопределением). Разность и даст задержку. Цикл у Вас в конце лучше сделать так |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 ... 7 8 9 10 11 * 12 13 14 15 16 17 | Печать |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » Переделка АТ интерфейса клавиатуры в PS/2 на старых платах |
0 посетителей просмотрели эту тему за последние 15 минут |
В том числе: 0 гостей, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |