ZXNet эхоконференция «zxnet.soft»


тема: Modem driver



от: Eugene Palenock
кому: Vlad Sotnikov
дата: 30 May 2001
Привет, Vlad! 29 Май 01 02:34, Vlad Sotnikov -> Stanislav Udin: VS> Hасколько мне известно, нет. У меня в далекой пеpспективе создание VS> MMD-совместимого дpайвеpа для HAYES'а, но это тpебует изучение VS> документации, и я даже пока не знаю, pеально ли это :( PCшный модем гораздо более интеллектуальный чем ZX модемы. Вообще написать можно, но большая часть точек входа ммд-совместимого драйвера будет незадействована. Соответственно нужна поддержка их "незадествованности" в программе. А не проще ли тогда просто сделать в проге работу с PCшным модемом ? Там ведь не надо изобретать протоколы и т.п. - надо только принимать и передавать байты в порт. VS> А пpинцип pаботы HAYES модема никто не знает. Ты - несомненно... Потому что там просто нет никакого принципа который надо знать. Hадо звать только команды конкретной модели модема (который в терминале набирать надо для его настройки) и уметь работать с RS232 (модем на низком уровне выглядит как порт RS232) С уважением, Евгений.

от: Kirill Frolov
кому: Stanislav Udin
дата: 11 Jun 2001
Hемедленно нажми на RESET, Stanislav! 01 Jun 01 21:55, Stanislav Udin wrote to Eugene Palenock: SU> А где можно ознакомиться с этими точками входа в ммд-совместимый SU> драйвер? Драйвер модема/часов. Драйвер размещается с адреса #C000 (49152) до адреса #EFFF (61439). Максимальный раз- мер драйвера 12Кб (12288 байт). Область па- мяти #F000...#FFFF используется системой под буфера. Драйвер не должен изменять регистры IX, IY, SP, изменять тип прерывания Входные точки драйвера: D_INSTAL EQU #C000 УСТАОВКА ДРАЙВЕРА при входе в [HL] - адрес буфера модема. При возврате в буфер модема записывается в ASCII форме значения скоростей, на каждую скорость отводится по 5 байт, максимальное количество скоростей - 8, описание заканчива- ется кодом #00. В регистровой паре [HL] возвращается адрес обработки п/п прерывания. Если появится не- маскируемое прерывание, то произойдет пере- ход на данный адрес. Подпрограмма обработки прерывания не должна изменять значение ре- гистров за исключением [A], [BC] и [HL] Если при вызове этой функции флаг CY=1, то происходит тестовый вызов драйвера. И драйвер модема может не производить ин- сталляцию и не возвращать данные. Это мо- жет быть полезно в том случае если драйвер модема упакован. Вначале вызывается "УС- ТАОВКА" при установленном флаге CY, для того чтобы драйвер распаковался, а затем производится настоящая установка, при CY=0. D_COPYR EQU #C003 ПОЛУЧЕИЕ ИФОРМАЦИИ О ДРАЙВЕРЕ. при возврате в буфер модема записывается название драйвера (до 43-х символов), закан- чивается кодом #00 D_RD_STAT EQU #C006 ЧТЕИЕ СТАТУСА ЛИИИ/ДРАЙВЕРА При входе в [A] цвет бордюра При возврате в [A] - данные для порта #FE Это в основном нужно для VICOMM-модема. Если модем не "трогает" порт #FE, то значение регистра [A] не должно изменяться! При возврате в регистре [B]: bit0 статус линии: "0" - модем не занимает ли- нию, "1" - модем занимает линию bit3 наличие тонового набора bit4 нужно ли выключать TUBRO-режим при вызове драйвера bit5 имеется управление линией, т.е. модем может "снимать" и "вешать" трубку. bit6 наличие часов в драйвере bit7 наличие таймера в драйвере D_WAIT_INS EQU #C009 УСТАОВКИ ПЕРЕД ОПРОСОМ ЛИИИ (ЕБОЛЬШАЯ ИСТАЛЯЦИЯ) Эта функция не должна изменять регистры! При входе в [A] громкость вывода звука линии. Это значение используется при выполнении функций D_WAIT_LN и D_WAIT_BLC. Если [A]=0, то звук отсутствует, если не равно ну- лю, то состояние телефонной линии должно выводиться, например, на музыкальный со- процессор с указанной громкостью. D_WAIT_LN EQU #C00C ОПРОС ЛИИИ при возврате CY=1: данные не приняты [B] время выполнения опроса линии [C] максимальное время выполнения опроса линии CY=0 [A]=#01: принят блок #02: обнаружен сигнал "занято" #03: обнаружен "вызов" D_WAIT_BLC EQU #C00F ДОЛГОЕ ОЖИДАИЕ при возврате CY=1 нет блока [BC] длина [D] скорость (#80 неопределенна) D_TRANSMIT EQU #C012 Передать блок данных из буфера модема со скоростью, номер которой в [A], [BC] - длина блока D_ON_LINE EQU #C015 СЯТЬ ТРУБКУ D_OFF_LINE EQU #C018 ПОЛОЖИТЬ ТРУБКУ D_CALL EQU #C01B АБРАТЬ ОМЕР, ТРУБКА УЖЕ СЯТА, при входе [HL] - набираемый номера [A] - способ набора: 0 pulse, 1 tone [B] - период импульса (60+40)ms станд. 100 [C] - межцифровая пауза ms/10 при возврате: CY=0 номер удачно набран CY=1 ошибка, код ошибки в [A]: #00 ошибка набора #01 нет длинного гудка #02 выполнение прервано D_AON EQU #C01E ВЫЗЫВАЕТСЯ ПРИ ОБАРУЖЕИИ ЗВОКА. СИМАЕТСЯ ТРУБКА + ОПРЕДЕЛЕИЕ О- МЕРА при входе: [A] число запросов [B] пауза перед запросом /2 ms [C] кол-во цифр [D] чувствительность к ответу АТС [E] чувствительность линии при возврате в MOD_BUFF определившийся номер телефона в ASCII-виде, в конце код #00. SET_CON_A EQU #C021 АКТИВАЯ УСТАОВКА СОЕДИЕИЯ (ПЕ- РЕДАЧА) SET_CON_P EQU #C024 ПАСИВАЯ УСТАОВКА СОЕДИЕИЯ (ПРИЕМ) В MOD_BUFF возвращается текстовое сооб- щение о соединении (CARRIER/SPEED), в конце код #00. В [A] установленная скорость, или #80, если скорость неопределенна CY=1 соединение установить не удалось D_SET_TIME EQU #C027 УСТАОВИТЬ ВРЕМЯ при входе [H] - ГГ [C] - ММ [D] - ДД [B] - ЧЧ [L] - ММ [E] - СС [A] - ДЕЬ ЕДЕЛИ при возврате CY=1 ОШИБКА D_RD_TIME EQU #C02A СЧИТАТЬ ВРЕМЯ при возврате [H] - ГГ [C] - ММ [D] - ДД [B] - ЧЧ [L] - ММ [E] - СС [A] - ДЕЬ ЕДЕЛИ CY=1 ОШИБКА D_OFF_DRV EQU #C02D ВЫКЛЮЧЕИЕ ДРАЙВЕРА Эта п/п вызывается в том случае, когда система планирует длительное время не обращаться к драйверу. апример при выполнении коменд PAUSE, COPY, MOVE. А так же при запуске файла на выполнение. Вызов любой п/п драйвера - его обратное включение. D_SET_ALR EQU #C030 УСТАОВИТЬ ТАЙМЕР А [A] МИУТ D_ADD_ALR EQU #C033 ДОБАВИТЬ К ТАЙМЕРУ [A] МИУТ D_RD_ALR EQU #C036 ВРЕМЯ ИСТЕКЛО? при возврате CY=1 - время истекло CY=0 - ещё осталось время. [A] - сколько минут осталось Драйвер добавочного диска Адрес загрузки #6800, длина драйвера 256 байт Драйвер не должен изменять тип и состояние прерывания и значения регистров IX, IY, SP, HL




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
График - схемка подключки COMPACT+ девайся для принтера.
Объявления
Софт - новая версия копировщика с поддержкой MS-DOS.
SрeXtreаm'2003 - Нeбольшой очeрк.
Хобби - рассказ Gendalf'a об увличении хоббитизмом: Я - оружейник (продолжение).

В этот день...   7 мая