Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Для начинающих (http://zx-pk.ru/forumdisplay.php?f=43)
-   -   Light Pen (http://zx-pk.ru/showthread.php?t=12546)

ALKO 7th April 2010 11:40

Light Pen
 
Где можно взять простейшую схему светового пера?
Нашёл описание лайтпэна, конэктящегося к порту джоя, но написано на польском (или финском) ни---фига не понятно, и вроде как там нужно наличие Ау-чипа.

null_device 7th April 2010 11:58

Одна микруха вся схема светового пера (без учета обвязки и фотоприемника). На VT Персональный компьютер ZX-Spectrum. периферия своими руками в главе light pen есть схема.
----
Quote:

Originally Posted by KALDYH (Post 272904)
А его хоть какой-то софт поддерживает?

SYSTEM.zip

KALDYH 7th April 2010 13:22

А его хоть какой-то софт поддерживает?

проф 7th April 2010 13:59

В древних книгах была одна программа упомянута. Если сами не вспомните через недельку в закромах пороюсь.

Petr0v 11th April 2010 13:03

Quote:

Originally Posted by проф (Post 272921)
В древних книгах была одна программа упомянута. Если сами не вспомните через недельку в закромах пороюсь.

В книгах ПЕРЕФЕРИЯ СВОИМИ РУКАМИ и ИНТЕРФЕЙСЫ ПЕРСОНАЛЬНОГО КОМПЬЮТЕРА ZX-SPECTRUM, одна и та же статья и схема, там же и программы... Но вот принцип работы совсем не описан, возникает вопрос, а будет ли такая "указка" работать на LCD мониторе? :v2_conf2:
Quote:

Originally Posted by ALKO (Post 272874)
Нашёл описание лайтпэна, конэктящегося к порту джоя, но написано на польском (или финском) ни---фига не понятно, и вроде как там нужно наличие Ау-чипа.

Интересно глянуть, есть возможность отсканить?

ALKO 11th April 2010 15:23

Quote:

Originally Posted by Petr0v (Post 274136)
Интересно глянуть, есть возможность отсканить?

источник находится в инэте,тока ссылку не запоминал.

BYTEMAN 12th April 2010 21:03

Программы для работы со всетовым пером есть на WoS. Даже есть такая, как в книжке.

Slesar 13th April 2010 16:11

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

VELESOFT 13th April 2010 20:03

http://translate.google.com/translat...ightpen-cz.htm

ALKO 13th April 2010 23:01

О да,оно самое!

---------- Post added at 22:01 ---------- Previous post was at 21:56 ----------

Довольно хитро описано про 48к.
каким же образом комп будет знать положение луча на экране при считывании с ЕАR разъёма?
он только увидит свет,незная откуда.

null_device 14th April 2010 06:12

Quote:

Originally Posted by ALKO (Post 274959)
каким же образом комп будет знать положение луча на экране

А, каким образом делаются мультиколоры?!:v2_conf2:

Quote:

Originally Posted by Slesar (Post 274830)
Положение пера определяется по разности времени включения фотодиода в начале кадра и его фактического срабатывания



---------- Post added at 08:12 ---------- Previous post was at 08:11 ----------

Вероятно, перо будет работать на разных моделях поразному (даже после калибровки).

ALKO 14th April 2010 22:32

Quote:

Originally Posted by null_device (Post 275060)
А, каким образом делаются мультиколоры?!

ну про дополнителную хардвар-доработку там не указывается.
толко подключение к порту 254dec и на этом всё.

psb 14th April 2010 22:39

по ходу это то перо, по поводу которого я негодовал... там просто фотодатчик, ни к чему не привязанный. при подносе его к экрану и нажатию какой-либо кнопки происходит... ПИПЕЦ! с экрана все сохраняется и начинается поиск места, куда приложен датчик. типа, заполнили половину экрана белым, половину черным. сигнал есть? значит мы на белой половине, делим ее на 2 части и повторяем. вот такое перо.

ALKO 14th April 2010 22:54

Клёвое решение.
вопрос в том как "быстро" обрабатывается сигнал.

psb 14th April 2010 23:33

так легко.
пишешь прогу:
1. сохранить экран
2. еи:хальт
3. быстро (хоть через стек) заполняешь экран (атрибутами) - половина черная, половина белая.
4. еи:хальт
5. луч вверху, экран светится, опрашиваешь датчик (1 раза хватит). если попал на светлую половину, то делишь ее опять на светлую и темную, а темную оставляешь. опять все делаешь быстро, быстрее чем луч рисует экран. если попал на темную, ее красишь наполовину, а светлую всю делаешь черной.
6. еи:хальт
7. луч опять вверху, экран отрисован, опрашиваешь датчик, .....
8. ......

повторяешь пока не вычислишь знакоместо. для первого раза (чисто заценить) достаточно.

Х. восстанавливаешь то, что было на экране.


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

BYTEMAN 15th April 2010 11:02

то световое перо, что в этой книге, полное Г.... работает по такому принципу, что описал psb. Даже не знаю, были ли под спек перья, которые отлавливали развёртку... Хотя, возможно, что и были. Например, посмотрите софт для пера Dopler. Интересно найти для него схему...

Slesar 15th April 2010 12:20

Может, я туплю, но для отслеживания развертки надо сделать следующее:
1. Взять пиксельклок и кадровый синхроимпульс.
2. Взять счетчик.
3. По кадровому импульсу обнулять счетчик, по пиксельклоку - считать импульсы, пока не сработает датчик
4. Перед обнулением считывать значение счетчика, делить нацело на количество пикселей в строке.
5. Из этой же операции брать остаток от деления. - это координата Х.
6. Если остаток ноль, то (4)-координата У, иначе прибавить к ней 1, и все равно У.

---------- Post added at 11:20 ---------- Previous post was at 11:02 ----------

А можно и аппаратно:
1. Взять пиксельклок, кадровую и строчную синхронизацию.
2.Взять 2 счетчика - один будет считать строчные импульсы, другой по ним обнуляться, а считать пиксельклок.
3. при срабатывании фотоэлемента считываем оба счетчика, получаем строку и пиксель.
4. по кадровому импульсу обнуляем, повторяем.

psb 15th April 2010 12:59

Quote:

Originally Posted by Slesar (Post 275480)
А можно и аппаратно:

эээ... а то, что, программно было?:)))))

и еще придется сам датчик подшаманить, чтобы срабатывал только под лучом. аналоговую схему городить скорее всего...

Slesar 15th April 2010 14:12

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

psb 15th April 2010 16:23

Quote:

Originally Posted by Slesar (Post 275524)
С делением - таки да, программно.

вот даже если тупо сделать INIR (или кучу INI) из порта, то точность будет +- лапоть. тут только схему менять. т.е. счетчики аппаратные.

jerri 15th April 2010 16:25

цеж световой пистолет :)
подносишь к экрану - клоцаешь
на экран кидаешь аттрибуты
там куда стрелять 0 - все светлое
остальное - темное
в следующем фрейме восстанавливаешь аттрибуты :)
так же сделано на Денди :)

Slesar 15th April 2010 16:49

на 720х576 будет 2 десятибитных счетчика. Как их можно скинуть в порт? Последовательно прокатит?

---------- Post added at 15:49 ---------- Previous post was at 15:44 ----------

jerri, на Денди артефакты позиционирования маскируются эффектом "Пыщь - пыщь!" в игре. На спектруме уж очень мелькать будет. Ето надо десяток кадров с атрибутами на кадр с изображением. Кроме того, неудобно, если не невозможно сделать, чтоб пойнтер следовал за пером.

psb 15th April 2010 17:06

Quote:

Originally Posted by Slesar (Post 275579)
Последовательно прокатит?

конеш прокатит, но это уже другая схема. думаю, щас нет проблемы сделать нормальное перо на мк. кому тока это надо?:)

Slesar 15th April 2010 17:14

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

psb 15th April 2010 18:02

ну конечно, 5 корпусов это лучше чем 1 мк:) ну ладно, мк+еще 1 корпус про запас.

Slesar 15th April 2010 18:16

Не, я просто про то, что там брать из мк? 2 регистра и 2 счетчика? При большой охоте их можно и из 315-х сгородить.

psb 15th April 2010 19:25

Quote:

Originally Posted by Slesar (Post 275607)
что там брать из мк?

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

jerri 15th April 2010 23:19

Quote:

Originally Posted by Slesar (Post 275579)

jerri, на Денди артефакты позиционирования маскируются эффектом "Пыщь - пыщь!" в игре. На спектруме уж очень мелькать будет. Ето надо десяток кадров с атрибутами на кадр с изображением. Кроме того, неудобно, если не невозможно сделать, чтоб пойнтер следовал за пером.

ненене

есть кадр с местностью и обьектом

когда жмешь на выстрел

на экран на 1 фрейм швыряется картинка с чорным фоном #00 и высветленным пятном атрибутов #3f там где обьект

хватаем данные с пера

восстанавливаем исходные аттрибуты

рисуем ржушюю собаку

Profit! :)

а рубить экран методом "льва в пустыне" - долго
да и перо можно увести за это время

psb 16th April 2010 08:52

так вы определитесь, че вы хотите... узнать куда попало перо, или попало ли оно куда-то..

Slesar 16th April 2010 10:17

Quote:

Originally Posted by jerri (Post 275712)
высветленным пятном атрибутов #3f там где обьект

А где объект? Перо существует, чтоб на чистом фоне рисовать объекты. Никакого объекта нету. Задача - найти положение пера на пустом экране с точностью до пикселя.

Решим от противного и представим, что лев уже пойман.....

KALDYH 16th April 2010 10:44

Что-то я сомневаюсь, что с точностью до пикселя можно. Световое перо встречалось в основном на текстовых терминалах и работало с точностью до символа.

psb 16th April 2010 12:55

Quote:

Originally Posted by KALDYH (Post 275804)
Что-то я сомневаюсь, что с точностью до пикселя можно.

почему нет? все зависит от самого пера. может оно "видит" все в районе +-3 знакоместа? тогда даже знакоместо выделить не получится.

jerri 18th April 2010 15:52

если у вас в пере 1 фотоэлемент то на поиск блока 2*3 знакоместа уйдет 7 фремов
именно фреймов

потому как фотоэлемент берет данные с монитора а не из памяти

хотите до пикселя - нужен сенсорный экран :v2_biggr:

psb 18th April 2010 16:29

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

jerri 18th April 2010 22:21

Quote:

Originally Posted by psb (Post 276539)
а почему так нельзя до пикселя? будет фреймов 15, это чуть больше четверти секунды... не гуд, но это ж "из *овна и палок"...

можно конечно
ну а если рука дрогнет? :)

Slesar 18th April 2010 23:28

Да, блин, перо определяет свое положение 50 раз в секунду. Мало, что ли?
Из овна и палок интерактивный режим не соорудишь.
Надо отслеживать движение луча а не делить экран рекурсивно.
Светопистолет - это совсем не перо, принцип должен быть совсем другой.
А сенсорный экран менее точен, чем световое перо (материал из Википедии - свободной энциклопедии).
Однако, перо не действует на абсолютно черном фоне (оттуда же)

psb 18th April 2010 23:31

Quote:

Originally Posted by jerri (Post 276663)
ну а если рука дрогнет?

ну, будет немного не там пиксель:)

---------- Post added at 00:31 ---------- Previous post was at 00:29 ----------

Quote:

Originally Posted by Slesar (Post 276688)
Из овна и палок интерактивный режим не соорудишь.

да понятно это все. в начале темы речь шла не о нормальном св.пере.

Jukov 19th April 2010 21:33

Я как-то собирал перо, аналогичное тому, что было в "периферии своими руками". Делалось оно из двух элементов - фотодиода от светового пистолета Денди и переменного резистора, с помощью которого регулировалась чувствительность. Все это подключалось к порту кемпстон-джойстика. Небольшие изменения в стандартной программе (менял № порта пера) и всё работало. Но толку от этого пера было мало - низкая скорость работы и низкая точность позиционирования. В журнале Радио начала 90-х была схема пера для Орион-128. Там использовался следующий принцип - в момент, когда от фотодиода щел сигнал в двух регистрах запоминалось значение, считанное с счетчиков, ответственных за адрес выводимой на экран точки видеодисплея. Тем самым обеспечивалось быстродействие и точность пера. Но для того, чтобы можно было позиционировать перо с точностью до пиксела, необходима оптическая система с линзой.


All times are GMT +4. The time now is 23:57.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.