COM-порт - замкнуть контакты

Тема в разделе "WASM.ELECTRONICS", создана пользователем Spawn, 15 фев 2005.

  1. S_T_A_S_

    S_T_A_S_ New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2003
    Сообщения:
    1.754
    The Svin >




    Оригинальный AY имеет 3 генератора прямоугольных колебаний + генератор шума (16 уровней громкости)

    но что-то добавить - дело не долгое, это же программа.

    всего-то 250 строчек, правда на С++, но если нада, то перепесать на асм могу.

    Да там и лишнего много, что можно выкинуть :).

    Всего-то генерируется меандр заданной частоты, а потом проигрывается через DirectSound
     
  2. Spawn

    Spawn New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2005
    Сообщения:
    3
    shoo, можешь по подробнее про лпт, че там и как...
     
  3. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine


    ну, очень подробно - лучше читать мануалы, и задавать вопросы конкретно, если что-то неясно, так как я сам 2 года лпт не касался, с тех пор как поставил 2000 винду, и еще с месяц точно касаться не буду, так как загружен. в общих чертах: лпт - это три банальных однобайтных регистра, два на вывод, один - на вход. на вывод - один регистр данных, один - управления, на ввод - регистр статуса. в регистрах управления и статуса используются не все биты, а регистр данных в современных машинах может также и вводить данные в режиме ЕСР. назначение его - подключение принтера, поэтому упрощенно печать можно описать следующим образом: считываем байт состояния и анализируем состояние принтера (т.е. биты) - включен ли он, готов ли, есть ли бумага, нет ли ошибки - если все нормально - записываем в регистр данных байт для отправки на принтер, например, код символа, и записываем байт в регистр управления, в котором установлен бит "строб" (помоему, в "0"; или в "1", а на выходе ноль - уже точно не помню), после этого в цикле читаем регистр статуса, контролируя бит "подтверждение". по его получению снимаем бит "строб" записью в регистр управления соотв. байта - передача байта на принтер произведена.

    а теперь о кофеварках - никто не запрещает нам писать в регистры лпт и читать их, при этом напряжения на выводах данных и управления будут соответствовать записанным байтам (в крайнем случае с инверсией), а байты, считанные с регистра статуса, будут соответствовать уровням на входе. на вход сигналы можно подавать землей - земля - 0, нет земли - 1. короткого замыкания лпт не боится (наверное ;), так устроены линии с открытым коллектором, а вот подачи потусторонни напряжений, выходящих за пределы 0-2.4 В (ТТЛ-уровни) - опасно! поиграться можно в досе, лучше если иметь папу ДБ-25: подпаять пару проводков - один - к выводу 2, другой - 24, присоединить к тестеру с установленным пределом 5-10 В и прямо в досе в дебаггере писать байты 0 и FF в порт 0378Н, или подпаяться ко входу, и коротить на землю - отпускать, читая параллельно байты из регистра 037х (не помню выводы и порт, нет под рукой спецификации - все дома, по-моему, порт статуса будет 037АН, но могу и ошибаться). можно замкнуть выход на вход, записывать и читать, смотреть, что получается, но это врядли полезно, хотя именно так сканируется матричная клава.
     
  4. Trashy

    Trashy New Member

    Публикаций:
    0
    Регистрация:
    24 дек 2004
    Сообщения:
    44
    Адрес:
    Russia
  5. The Svin

    The Svin New Member

    Публикаций:
    0
    Регистрация:
    6 июл 2003
    Сообщения:
    665
    Адрес:
    Russia




    0 от базы (например 378) можно использовать тоже на ввод,

    надо CR3 установить на ввод и можно получать в обратном направлении от 0го в комп. Это причём можно во всех трёх режимах, даже в самом простом SPP.
     
  6. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
    The Svin



    дело не в режиме, а в аппаратной части. не каждый будет играться с лпт портом в нормальной машине, а не все мультикарты позволяют читать обратно. это можно даже посмотреть у некоторых, какой буфер стоит на выходе - однонаправленый или двунаправленный.



    Spawn

    я вот вспомнил, что пользовался Джордейном, когда занимался этим - там отдельная глава об этом порте, но он у меня "бумажный".
     
  7. The Svin

    The Svin New Member

    Публикаций:
    0
    Регистрация:
    6 июл 2003
    Сообщения:
    665
    Адрес:
    Russia




    Это наверно какие-то очень старые, я таких даже не видел.
     
  8. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
    :)

    вот уж философская истина: наличие хорошего старого тормозит освоение нового! из-за наличия "специалиста" не осваивал интенсивно лпт - не сраниться лпт с вв-шкой!, тем более, что через лпт я до сих пор печатаю ;) (на роботроне 1988 года выпуска - все, гад, никак не поломается, тьфу-тьфу)



    я для опытов использую советский лпт-порт иса на ттлш элементах, и ты мне, кстати, подкинул идейку: а не переделать ли мне его в двунаправленный? ;)