если разрулишь, скажи как - просто интересно
если разрулишь, скажи как - просто интересно
Если бы.... Если бы вы направили меня на приложение которое под 98ми умеет различать нажатия подобные.. Подскажите уж!Сообщение от SMT
Я единственное что могу делать - отличать ОТДЕЛЬНОЕ нажатие левого-правого шифта, но не могу отличать совместное нажатие (когда шифт нажат совместно с любой другой кнопкой). Это делается просто - через чтение из порта 60h. Ведь под 9x/me чтение напрямую из портов не запрещено.
Есть вариант единственный который будет работать в 95 и выше - это рассматривать msg.lParam
Последний раз редактировалось Dexus; 01.09.2005 в 00:08.
я же писал - не помню какое. это один из win-эмуляторов. по-хорошему, нужно всю коллекцию перешерститьСообщение от Dexus
от какого сообщения?Сообщение от Dexus
именно через WM_KEY[ON/OFF] -> msg.lParamСообщение от SMT
Только интересную штуку заметил - это когда шифты одновременно нажимаются, то при отпускании одного из них событие keyoff не приходит... только при отпускании последнего из шифтов. С Ctrl и Alt такой хрени нету. Сделал что при отпускании одного шифта обе кнопки отключаются, и срабатывает как раз как надо.
Кстати - в Кладовском EmuZWin (думаю что именно его вы и имели в виду) я заметил глюк непонятный, когда нажимаешь Shift+P (кавычку), быстро.. то кавычка начинает циклически рисоваться пока не тыкнешь еще раз но медленно и отчетливо. Видимо тоже что-то с этими сообщениями связано.Сообщение от SMT
В общем вот версия 0.01c в которой и в 98й работают и шифты и альты и контлы слева-справа. http://www.intramail.ru/~dex/unreal031b_YM2203_001c.zip
LVD, ты проигнорировал мои сообщения выше.. нехорошо! Ответь пожалуйста насчет переключения частоты через 2d-2f. работает ли оно мгновенно или дожидается ввода частоты (в ФМ)
При попытки реализовать это возникает вопрос - зачем такие сложности???Сообщение от lvd
Переключалка на ff/fe и еще одна переключалка на fd/fc. первая для записи вторая для чтения. Причем, видимо они могут быть независимыми??
Т.е. записал out fffd,ff и сразу же этим out fffd,fc, чем установил режим записи в чип 0 и чтения из чипа 1?
Пишем в один, а читаем состояние другого? Или как?
\
ЗЫ: Вот что значит отсутствие чётких спецификаций.
запись номера регистра ff/fe (bit0) - переключения чипа (0/1)
запись ff/fd или fe/fc (проще говоря - bit1) - переключения обычный/статус для соответствующего чипа.
Не въехал. Что за "переключение обычный/статус"?Сообщение от Ronin
Разве можно записывать в статус?
...
Вопрос в чем? Вопрос в том - из какого чипа будет происходить чтение - из того-же куда поисходит запись, или как?
Дайте пример, наконец
Все комбинации .. типа ff - переключить на чип 0 для записи и на чип 0 для чтения
fe - переключить на чип 1 для записи и на чип 0 для чтения ...
итд..
а то так я не въезжаю![]()
короче, бит0 - управляет номером чипа (0/1).
а бит1 - подключением статус-регистра. когда бит1=1 - это обычная схема портов AY, а когда бит1=0 - то на чтение (вместо регистров AY) подключается статус-регистр от ym2203. вот и все.
эти биты защелкиваются только при записи номеров регистров fc..ff (т.е. запись скажем 00..0f и других, на них не влияет).
т.е. делаем холостую запись номера регистра -
fc - далее следует чтение статуса чипа 1
fd - далее следует чтение статуса чипа 0
fe - далее следует работа с чипом 1
ff - далее следует работа с чипом 0
Последний раз редактировалось Ronin; 01.09.2005 в 19:07.
Окей, примерно понятно. Теперь другой вопрос - если после "out #fffd,#fc"
будет выполнена запись в #bffd -куда оно пойдет? вникуда? или впишется в AY?
Т.е. бит1 управляет только "набором" для чтения, а на запись будет влиять только бит0?
Вообще говоря, "в спецификации"это не декларируется, в том смысле что положено только читать статус.
А на деле придумано две схемы в которых сделано и "полное" переключение, когда запись уйдет в никуда, и частичное - когда запись пойдет в AY. Так что пока это до конца не решено.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)