PDA

Просмотр полной версии : порт lpt



iliasam
16.05.2005, 07:35
Иизвините пожалуйста, не могли бы помочь. Каким образом можно подключить lpt порт к spectrum. Кроме того, как работать с джойстиком. Какие для этого нужны команды.

CityAceE
16.05.2005, 07:45
Вопросы не совсем корректно поставлены!

Что значит "подключить LPT порт"? Имеется ввиду подключить к Спектруму ПЦ через LP-порт, подключить к Спектруму мультикатру (т.е. организовать LPT-порт) или просто подключить принтер с параллельным портом?

То же касается и джойстика. С каким джойстиком предполагается работать, на каком языке и т.д.?

Shiru
16.05.2005, 07:47
Кроме того, как работать с джойстиком.
C каким из?

С Kempston - читаешь 31 порт, установленный bit 0 = вправо, bit 1 = влево, bit 2 = вниз, bit 3 = вверх, bit 4 = Fire.

С Sinclair - это просто кнопки клавиатуры, левый (иногда ещё обзывают interface 1) 12345 (влево-вправо-вверх-вниз-огонь); правый (стандартный interface 2 джойстик) 67890.

Wlodek
16.05.2005, 11:37
Заходи на "Сисопник ZXNet" :) , поговоришь со всеми :) . И у вас там рядом (в с. Ново-Никольское) живёт спектрумист.
Так вопрос-то в чём: нет LPT порта, но есть принтер и его надо подключить? Тогда берём КР580ВВ55А, паяльник... а дальше объясню :) .

iliasam
16.05.2005, 15:50
Мне lpt порт и джойстик нужны для того, чтобы управлять другим устройствами (ну хотя бы светодиодами помигать) при помощи spectrum, а не принтер подключать. На порт джойстика (пяти кнопочный) подавать сигналы извене.
То есть нужен просто цифровой вход и выход.

Wlodek
16.05.2005, 16:05
Мне lpt порт и джойстик нужны для того, чтобы управлять другим устройствами
То есть нужен просто цифровой вход и выход.

А модель-то Спектрума какая? Порт кемпстон-джойстика есть почти во всех моделях, да и LPT-порт, особенно по схеме ZX-Lprint-III, тоже.

Я к самопалу Москва-48 в 1989 году припаял КР580ВВ55А, самостоятельно придумав схему дешифрации портов на какой-то мелкой логике. Работало безупречно. Комп тот ещё цел, хотя и не используется (после перехода на Pentagon). В принципе, и схему могу попытаться отыскать. Если управлять устройствами, ВВ55 идеальна для такой задачи, так как три 8-разрядных порта и гибкость программной настройки. Как рулить ею, я публиковал в ранних номерах газеты Nicron в рубрике "Учимся ассемблеру" (точный номер могу посмотреть, если нужно).

Wlodek
16.05.2005, 16:09
С Sinclair - это просто кнопки клавиатуры, левый (иногда ещё обзывают interface 1) 12345 (влево-вправо-вверх-вниз-огонь); правый (стандартный interface 2 джойстик) 67890.

Уточнение для автора исходного: у "порта Sinclair" нет связи с общим проводом ("землёй") схемы компьютера, поэтому не получится просто подавать логические уровни на входы, предназначенные для джойстика!
Поэтому для чтения состояния устройства более подходит порт Кемпстон-джойстика (или ВВ55 :) ).

iliasam
16.05.2005, 21:01
Модель spectrum определить не могу, но точно знаю что lpt порта там нет, а порт вероятно все таки не Кемпстон.
А в интернете нет схем подкючения КР580ВВ55А к spectrum? И каким образом им управлять?

Ronin
17.05.2005, 13:09
поищи справочник, в инете и советских библиотеках. неоднократно в zx-прессе пролетала, инфа по распиновке и программированию К580ВВ55 (i8055).
подключать так -

z80 ---- вв55
d0..d7 ---- d0..d7
a5 ---- a0
a6 ---- a1
a7,iorq- подать на 555ЛЛ1, выход на cs-
rd- ---- rd-
wr- ---- wr-
reset- ----инвертор(555ЛН1)---- reset

теперь по портам #1F, #3F, #5F, #7F управляешь в соответствии с доками.

iliasam
21.05.2005, 07:51
А нельзя ли работать с шиной данных напрямую?

caro
21.05.2005, 09:13
теперь по портам #1F, #3F, #5F, #7F управляешь в соответствии с доками.Учитывая, что эти адреса совпадают с портами контроллера TRDOS,
необходимо еще и предусмотреть блокировку cs- сигналом
переключателя TRDOS (для этого подойдет еще один элемент из ЛЛ1).
Это конечно в случае наличия контроллера TRDOS.

iliasam
21.05.2005, 22:13
А что за порты такие #1F, #3F, #5F, #7F ? И почему
с # ? Кроме того, не подскажите, существует ли порт клавиатуры, и возможно ли устанавливать на выводах динамика логическую 1 или 0 ?

Shiru
21.05.2005, 23:38
Потрясающие вопросы, однако 8-[ ]


А что за порты такие #1F, #3F, #5F, #7F ?
Тебе Ronin написал, что за порты.

И почему с # ?
Потому-что на Спектруме так принято обозначать шестнадцатеричные числа. Об этом очень легко догадаться, по-моему. Только не спрашивай, что такое шестнадцатеричная система счисления 8)

Кроме того, не подскажите, существует ли порт клавиатуры
Да. 8 портов. Клавиатура состоит из 8 полурядов по 5 клавиш (всего 40 клавиш). Номера портов:
#FEFE - caps shift, z,x,c,v
#FDFE - a,s,d,f,g
#FBFE - q,w,e,r,t
#F7FE - 1,2,3,4,5
#EFFE - 0,9,8,7,6
#DFFE - p,o,i,u,y
#BFFE - enter,,l,k,j,h
#7FFE - space, symbol shift,m,n,b

Используются биты 0-4 каждого порта, бит сброшен = клавиша нажата.

и возможно ли устанавливать на выводах динамика логическую 1 или 0 ?
Бит 4 порта #FE

iliasam
22.05.2005, 12:26
А вот вопрос: в каком формате вводить номер порта для команд in, out - в шестнадцатеричном или десятичном?

Shiru
22.05.2005, 12:50
А вот вопрос: в каком формате вводить номер порта для команд in, out - в шестнадцатеричном или десятичном?
В бейсике, что-ли? В десятичном.

Ronin
24.05.2005, 00:20
необходимо еще и предусмотреть блокировку cs- сигналом
переключателя TRDOS
да, точно. в "Краснодаре" для этого iorq- перехватывается весь - вот я и забыл :)