.
.
...для DOS
...для WINDOWS 3.1, 95, 98
...для LINUX

Описание продукции
back
HOME
.

ДРАЙВЕРЫ ДЛЯ WINDOWS

Драйверы для ISA PC-карт
Драйверы для USB Interface
Драйверы для PCMCIA Interface

Под WINDOWS работа с DMX PC-картами возможно только при помощи специальных драверов. Мы использовали некоторые DLL, которые предоставляют полный доступ. Для Windows 3.x имеется в распоряжении библиотека SLHDMX2.DLL, для Win 95/98/ME необходимо 32-Bit версию SLHDMX33.DLL инсталировать. Под Windows NT/2000 работа с нашими картами пок не возможна, т.к. необходимы специальные драйверы.

За полноту и работу предлагаемых программ, примеров и драйверов наша фирма ответственности не несёт. Мы оставляем за собой право на внесение различных изменений и дополнений в связи с техническим прогрессом. Эта страница постоянно обновляется и дополняется.

Последняя актуализация: 16.12.2000.

 WINDOWS 3.11   WINDOWS 95/98   WINDOWS Millennium   WINDOWS NT 


WINDOWS 3.1

Для Windows 3.1/3.11 (16-Bit Windows) предназначен SLHDMX2.DLL. Стандартным вызовом этого DLL является PASCAL-команда вызова; для более поздних версий Windows эта команда больше не применяется. Тем не менее созданная под Win3.1 программа, прекрасно работает так же под Win95/98, только не возможно вносить изменения.
SLHDMX2.DLL    Этот DLL содержит функции для автоматического поиска карты, для записи на карте и для чтения карты, а так же для старта и остановки обмена данных. Для использования карты необходимо каждый раз принадлежащие операционной системе файлы SLHDMXnn.BIN загрузить на карту (смотри Hardware).
Установить адрес карты   
Declare Function vbCardadr% Lib "SLHDMX2.DLL" (ByVal CardAdr%)
находит адрес карты в компьютере. При вызове этой функции с CardAdr=0 будет найден и выдан первый адрес картыw. При вызове сCardAdr=&H100 [&H120, &H140, &H160] будет проведен только этот адрес. Если карта не найдена, то появится сообщение ноль.
Операционную систему
перенять
   
Declare Sub vbWOS Lib "SLHDMX2.DLL" (ByVal CardAdr%, 
	ByVal Type%)
Операционную систему на карту загрузить. Загрузочные параметры:
CardAdr:  Адрес карты
Тип:   Тип карты: 1512A=12, 1512B-LC=12, 1512B=16, 1512C=17
Записать в карту   
Declare Sub vbWByte Lib "SLHDMX2.DLL" (ByVal CardAdr%, 
	ByVal RAM%, ByVal Data%)
Byte записать в RAM карты. Загрузочные параметры:
CardAdr:  Адрес карты
RAM:   RAM-адрес на карте (&H0000 ... &H1FFF)
Data:   Datenbyte (&H00...&HFF)
Из карты прочитать   
Declare Function vbRByte% Lib "SLHDMX2.DLL" (ByVal CardAdr%, 
	ByVal RAM%)
Читает Byte из RAM-карты. Загрузочные параметры смотри в vbWByte. Сообщение: прочитанный Byte.
DMX стартовать   
1512A, 1512B, 1512B-LC
   
Declare Function vbDMXStart% Lib "SLHDMX2.DLL" (ByVal CardAdr%)
Стартует перенос DMX-карты.
Вызов с адресом карты, Сообщение: Dummy.
 
DMX стартовать   
1512C
   
Declare Function vbDMXResOff% Lib "SLHDMX2.DLL" (ByVal CardAdr%)
Стартует перенос DMX-карты.
Вызов с адресом карты, Сообщение: Dummy.
DMX остановить   
1512A, 1512B, 1512B-LC
   
Declare Function vbDMXStop% Lib "SLHDMX2.DLL" (ByVal CardAdr%)
Останавливает перенос DMX-карты.
Вызов с адресом карты, Сообщение: Dummy.
 
DMX останавливает   
1512C
   
Declare Function vbDMXReset% Lib "SLHDMX2.DLL" (ByVal CardAdr%)
станавливает перенос DMX-карты, очищает CPU карты
Вызов с адресом карты, Сообщение: Dummy.
PC-Memory выбрать   
Declare Function vbMemRead% Lib "SLHDMX2.DLL" (ByVal Segment%, 
	ByVal Adresse%)
Читает Byte из PC-памяти.


WINDOWS 95
WINDOWS 98
WINDOWS ME

Для Windows 95, как и для Windows 98 (32-Bit Windows) предусмотрен файл SLHDMX33.DLL. В этих версиях Windows для вызова DLL необходима C-команда вызова. Для всего множества программ, которые будут использоваться для карты необходимо помнить, что здесь защитный механизм Windows не работает.
SLHDMX33.DLL    Этот DLL содержит в себе функции автоматического вызова карты, записи на карте и чтения с карты, а так же старта и остановки обмена данных. Для использования карты необходимо каждый раз принадлежащие операционной системе файлы SLHDMXnn.BIN загрузить на карту (смотри Hardware).
Установит адрес карты   
Declare Function vbCardadr Lib "SLHDMX33.DLL" Alias "vbCardAdr" 
	(ByVal CardAdr%) As Integer
находит адрес карты в компьютере.При вызове этой функции с CardAdr=0будет установлен и выдан первый адрес карты. При вызове с CardAdr=&H100 [&H120, &H140, &H160] этот адрес будет проверен. Если карта не найдена то Вы получите сообщение ноль.
Записать в карту   
Declare Sub vbWByte Lib "SLHDMX33.DLL" (ByVal CardAdr%, 
	ByVal RAMAdr%, ByVal Kanal%))
Byte записать в RAM карты.Переносной параметр:
CardAdr:  Адрес карты
RAM:   RAM-адрес на карте (&H0000 ... &H1FFF)
Data:   Datenbyte (&H00...&HFF)
Карту прочитать   
Declare Function vbRByte Lib "SLHDMX33.DLL" (ByVal CardAdr%, 
	ByVal RAMAdr%) As Integer
Читает Byteиз RAM карты. Переносной параметр смотри в vbWByte. Сообщение: прочитанный Byte.
DMX стартовать   
1512A, 1512B, 1512B-LC
   
Declare Function vbDMXStart% Lib "SLHDMX33.DLL" (ByVal CardAdr%)
Startet перенос DMX-карты.
Вызов с адресом карты, сообщение - Dummy.
DMX стартовать   
1512C
   
Declare Function vbDMXResOff% Lib "SLHDMX33.DLL" (ByVal CardAdr%)
Стартует перенос DMX-карты.
Вызов с адресом карты, сообщение - Dummy.
DMX остановить   
1512A, 1512B, 1512B-LC
   
Declare Function vbDMXStop% Lib "SLHDMX33.DLL" (ByVal CardAdr%)
Останавливает перенос DMX-карты.
Вызов с адресом карты, сообщение - Dummy.
DMX остановить   
1512C
   
Declare Function vbDMXReset% Lib "SLHDMX33.DLL" (ByVal CardAdr%)
Останавливает перенос DMX-карты, Очищает CPU карты
Вызов с адресом карты, сообщение - Dummy.
PC-Memory выбрать   
Declare Function vbMemRead Lib "SLHDMX33.DLL" (ByVal Segment%, 
	ByVal Adresse%) As Long
Читает Byte из PC-памяти.


WINDOWS 95
WINDOWS 98
WINDOWS ME

Для доступа I/O-порт для Windows 95, Windows 98 и WIN95IO.DLL. Предлагает 8-Bit (Byte) и16-Bit (Word) доступ для записи и чтения. Описание Вы можете загрузить на свой компьютер.
WIN95IO.DLL    Этот DLL содержит функции для записи и чтения на адресах порта и подходит для всех Interface - карт 1512A, 1512B, 1512B-LC und 1512C, а так же Printerport-Interface DMXPCP. Пожалуйста обратите внимание, что для записей в RAM карты необходимы три условия: RAM-адрес HighByte установить, RAM-адрес LowByte установить, данные записать.Инструкции для Interfaceкарт Вы найдёте в Hardware.
В Port записать   
Declare Sub vbOut Lib "WIN95IO.DLL" (ByVal nPort As Integer, 
	ByVal nData As Integer)
Byte в адрес записать. Переносные параметры:
nPort: Адрес порта
nData:   Datenbyte (&H00...&HFF)
Из порта прочитать   
Declare Function vbInp Lib "WIN95IO.DLL" (ByVal nPort As Integer)
	As Integer
Читает Byte из адреса порта. Переносной параметр смотрите в vbOut.
Сообщение: прочитанный Byte.


WINDOWS 95
WINDOWS 98
WINDOWS ME

Алтернативой для Windows 95 и Windows 98 является доступ через OCX-Control. Такие Controls возможны для Visual Basic, C++, Delphi. Для инсталляции OCX имеется полдная версия инсталляционнй программы.
SLHDMX.OCX    Этот OCX содержит функции для автоматического поиска карты, для записей на карте, для чтения карты, а так же для старта и остановки обмена данными. Он поддерживает следующие типы карт 1512A, 1512B, 1512B-LC и 1512C.

(будет продолжено)




WINDOWS 95
WINDOWS 98
WINDOWS ME
WINDOWS NT

Для Windows NT доступ через DLL-библиотеки не возможен. В этом случае Windows выдаст сообщение об ошибке. Для работы под NT необходимо иметь Device Driver.

Такой виртуальный Device Driver (VxD) делает операционную систему доступной для нашей продукции.

TVICPORT.ZIP    Универсальный драйвер tvicport, созданный Виктором ИшикеевымVictor Ishikeev Вы можете как Shareware загрузить в свой компьютер
http://www.entechtaiwan.com/tools.htm
. Архив содержит в себе примеры драйверов написанные в VISUAL BASIC 6, DELPHI2, DELPHI3, DELPHI4, BORLAND C BUILDER 3.0, BORLAND C++ 5.x, MS VISUAL C++ 6.0.Для доступа к DMX PC-карте достаточно в разделе Hardware для нужной карты необходимый доступ установить. Для инсталляции TVICPORT драйвера прочитайте пожалуйста текстовый файл.

Пример   

Следующий пример подходит для карты 1512B-LC. Для других карт написание соответствующих программ аналогично. Данные функции отвечают вызову карты так же как и под WIN 9xс помощью SLHDMXnn.DLL. Хотя следующие примеры представлены в BASIC-Dialekt, с другими языками проблем у программистов возникнуть не должно.
Карту опознать     DECLARE SUB dmxinit ()
Ищет карту в компьютере и присваивает адрес.Если карта не найдена то программа заканчивает свою работу. В противном случае загружается операционная система карты, устанавливаются начальные установки и очищается память карты.
  cardadr = 0
  TVicPort1.OpenDriver
 
  FOR i = 0 TO 3
    TVicPort1.Port ( &H100 + &H20 * i) = 0
    TVicPort1.Port ( &H101 + &H20 * i) = 0
    TVicPort1.Port ( &H102 + &H20 * i) = &HAA
  NEXT i

  FOR i = 0 TO 3
    TVicPort1.Port ( &H100 + &H20 * i) = 0
    TVicPort1.Port ( &H101 + &H20 * i) = 0
    porttest = TVicPort1.Port(&H102 + &H20 * i)
    IF porttest = &HAA THEN cardadr = (&H100 + &H20 * i)
  NEXT i

  IF cardadr = 0 THEN PRINT " Карта не найдена!": END
  PRINT "---------------------------"
  PRINT "Адрес карты: "; cardadr
  PRINT "---------------------------"

  ' *******************************************
  ' Переносит операционную систему для карты из файла
  ' SLHDMX12.BIN.
  ' *******************************************
  OPEN "SLHDMX12.BIN" FOR INPUT AS #1
  i = 0
  WHILE NOT EOF(1)                              	    ' читает/переносит
    x$ = INPUT$(1, #1)					    'Операционная система
    TVicPort1.Port(cardadr) = i AND 255                     ' Адрес lowbyte
    TVicPort1.Port(cardadr + 1) = INT(i / 256)              ' Адрес highbyte
    TVicPort1.Port(cardadr + 2) = ASC(x$)
    i = i + 1
  WEND
  PRINT "--------------------------------------------"
  PRINT "Операционная система "; i; " Bytes загрузить "
  PRINT "--------------------------------------------"

  FOR i = 0 TO 8                                       	     ' переносит параметры
    TVicPort1.Port(cardadr) = (i + &H7F0) AND 255            ' Адрес lowbyte
    TVicPort1.Port(cardadr + 1) = INT((i + &H7F0) / 256)     ' Адрес highbyte
    TVicPort1.Port(cardadr + 2) = dmxdef(i)                  ' величина файла
  NEXT i

  FOR i = &H0 TO &HFF                          		     ' Устанавливает все каналы = 0
    TVicPort1.Port(cardadr) = (i + &H400) AND 255            ' Адрес lowbyte
    TVicPort1.Port(cardadr + 1) = INT((i + &H400) / 256)     ' Адрес highbyte
    TVicPort1.Port(cardadr + 2) = 0                          ' Datenwert
    TVicPort1.Port(cardadr) = (i + &H500) AND 255            ' Aдрес lowbyte
    TVicPort1.Port(cardadr + 1) = INT((i + &H500) / 256)     ' Адрес highbyte
    TVicPort1.Port(cardadr + 2) = 0                          ' Величина файла 
  NEXT i

END SUB

Карту стартовать     DECLARE SUB dmxstart ()
Этот пример работает для карты1512B-LC.Для других карт написание программы аналогично.
dummy = TVicPort1.Port(cardadr + 3)

END SUB

Карту остановить     DECLARE SUB dmxstop ()
Этот пример работает для карты1512B-LC.Для других карт написание программы аналогично.
TVicPort1.Port(cardadr) = 0

END SUB

В карту записать     DECLARE SUB dmxtrans (kanal, value)
Этот пример работает для карты1512B-LC.Для других карт написание программы аналогично.
  IF kanal < 1 OR kanal > 512 THEN EXIT SUB                      ' Ошибка!
  IF value > 255 THEN EXIT SUB                                   ' Ошибка!

  TVicPort1.Port(cardadr) = (&H400 + kanal - 1) AND 255          ' Адрес lowbyte
  TVicPort1.Port(cardadr + 1) = INT((&H400 + kanal - 1) / 256)   ' Адрес highbyte
  TVicPort1.Port(cardadr + 2) = value                            'Величина файла
END SUB


PORT95NT.EXE    Следующий универсальны драйвер DLPortIO можно загрузить со страницы Scientific Software Tools, Inc.Этот драйвер бесплатный и поддерживает Windows 95, 98 und NT. http://www.sstnet.com/

Так же доступ к карте возможен с различными командами. Прямой обмен данными возможен при помощи комманд
DlPortReadPortUchar для чтения и
DlPortWritePortUchar для записей.