Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » Переделка АТ интерфейса клавиатуры в PS/2 на старых платах |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 6 7 8 9 * 10 11 12 13 14 15 16 17 | Печать |
Rio444
Гость
Откуда: Ростов-на-Дону Всего сообщений: 8632 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 14 сен. 2014 |
i8088, хорошо. |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
Я проверял на плате XT IBM5160 (у нее таймер 8253) - при программировании канала 0 даже тем же значением 0x36h (lsb/msb), режим 011, таймер просто перестает считать и системное время стоит. Если не трогать 0x43, то чтение канала0 исправно возвращает LSB/MSB (меняющиеся). В исходниках IBM BIOS делается отключение прерываний от таймера при программировании маскированием входа 8259. Ядумаю надо сделать также. |
pahan
Advanced Member
Откуда: Химки, М.О. Всего сообщений: 1070 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 13 мар. 2015 |
Обсудили же, что XT не трогаем и сами лезете на ней тестировать А в каком режиме он стоит (access mode)? Потому что если в lobyte/hibyte - всё ОК, он будет ждать след. байта. А режим мы проверить не можем, потому что зачем-то тестируем на XT (таймер 8253), а не AT (8254). при программировании канала 0 даже |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
pahan написал: Он стоит в режиме hi/lo 011, при записи того-же режима получаем останов А в каком режиме он стоит (access mode)? Потому что если в lobyte/hibyte - всё ОК, он будет ждать след. байта. А режим мы проверить не можем, потому что зачем-то тестируем на XT (таймер 8253), а не AT (8254). счетчика и поочередно получаем hi/lo одинаковые (те например 0xe4 0xf2 0xe4 0xf2 0xe4 0xf2 итд). При переводе в режим LSB - всегда одно значение. pahan написал: Меня интересует универсальная процедура задержки, к PS2 вопросу это не Обсудили же, что XT не трогаем и сами лезете на ней тестировать относится. Насколько я понял, у Rio444 на AT получилось то же самое. |
Rio444
Гость
Откуда: Ростов-на-Дону Всего сообщений: 8632 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 14 сен. 2014 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 3 ноября 2017 19:19 Сообщение отредактировано: 3 ноября 2017 19:25
Пока ещё ничего не пробовал. Сегодня весь день на работе. Если завтра не буду работать, могу поэкспериментировать. Это Вы в 43h порт пишите? Что такое "LSB", "MSB"? i8088 написал: Сильно странно это. Таймер вообще не должен стоять. Я проверял на плате XT IBM5160 (у нее таймер 8253) - при программировании канала 0 даже |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 3 ноября 2017 19:36 Сообщение отредактировано: 3 ноября 2017 19:40
Rio444 написал: Да этоя по привычке, low status byte, high status byte,. Что такое "LSB", "MSB"? MSB вообще мой глюк Здесь это не статус конечно, просто режим младший байт старший байт. Rio444 написал: Да, меня тоже это заинтересовало, неожиданно. Для пользователя Сильно странно это. Таймер вообще не должен стоять. проявилось это в том что системное время "стало" |
Rio444
Гость
Откуда: Ростов-на-Дону Всего сообщений: 8632 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 14 сен. 2014 |
Что такое "M"? "Main status byte"? "HSB" я бы догадался))) |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
MSB аббревиатуру я где-то встречал, поэтому и на автомате написал. Сейчас не могу вспомнить где, наверно действительно main |
Tronix
Advanced Member
Откуда: Москва Всего сообщений: 1749 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 15 янв. 2008 | |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 3 ноября 2017 22:22 Сообщение отредактировано: 3 ноября 2017 22:35
Ошибка оказалась простейшей! Просто после изменения режима счетчика (даже если записывается тот же режим, что был) нужно заново загрузить значения коэфф деления, у нас 65536, соответственно записываем 0 Из исходников IBM \tMOV\tAL,36H\t\t\t; SEL TIM 0,LSB,MSB,MODE 3 \tOUT\tTIMER+3,AL\t\t; WRITE TIMER MODE PEG \tMOV\tAL,0 \tOUT\tTIMER,AL\t\t; WRITE LSB TO TIMER 0 REG \tOUT\tTIMER,AL\t\t; WRITE MSB TO TIMER 0 REG Пока это не сделать, соответствующий счетчик будет стоять. По окончанию задержки обязательно восстановить исходный hi/lo режим, хотя можно и работать в режиме hi/lo, не меняя режим на lo IBM тоже использует обозначения LSB/MSB применительно к байтам! |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 6 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 тем | |