Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » Переделка АТ интерфейса клавиатуры в PS/2 на старых платах |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | Печать |
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 применительно к байтам! |
Rio444
Гость
Откуда: Ростов-на-Дону Всего сообщений: 8632 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 14 сен. 2014 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 4 ноября 2017 0:32 Сообщение отредактировано: 4 ноября 2017 0:33
i8088 написал: Думаю так гораздо проще. Ничего не менять, просто отбрасывать hi. хотя можно и работать в режиме hi/lo, не меняя режим на lo У меня прогресс. Программа пока не работает, зато уже не вешает комп)))) |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 4 ноября 2017 9:13 Сообщение отредактировано: 4 ноября 2017 9:16
А кстати, можно не отбрасывать старший байт, тогда максимальная задержка будет 55ms, и процедура будет более универсальной. Но точность малых задержек будет хуже, тк процессору больше работы. |
Rio444
Гость
Откуда: Ростов-на-Дону Всего сообщений: 8632 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 14 сен. 2014 |
i8088 написал: Тогда лучше две процедуры. Одна для малых задержек, другая для больших. Если не трогать 043h, в каком порядке идут байты? Сначала Low, потом High? |
<<Назад Вперед>> | Страницы: 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 тем | |