Нарисовал схемку и развел платку.
Ищите ошибки.
http://yadi.sk/d/OZgdEh2Q59Un8
http://yadi.sk/d/st0byOf259Uvk
http://yadi.sk/d/KYI1uF6c59V1q
http://yadi.sk/d/gUyLSl5x59V42
http://yadi.sk/d/Mr62S-7t59V76
Нарисовал схемку и развел платку.
Ищите ошибки.
http://yadi.sk/d/OZgdEh2Q59Un8
http://yadi.sk/d/st0byOf259Uvk
http://yadi.sk/d/KYI1uF6c59V1q
http://yadi.sk/d/gUyLSl5x59V42
http://yadi.sk/d/Mr62S-7t59V76
Последний раз редактировалось Lion17; 25.05.2013 в 15:51.
USERHOME (18.10.2021)
Исходники Игла:
http://yadi.sk/d/bZodCA-X5AnDN
USERHOME (18.10.2021)
Смотрел код, в расширенной версии должна использоваться РУ7. Там используются 4 страницы по 64к. При каждом нажатии на кнопку, происходит выбор следующей страницы. Таким образом можно захватить до 4 кадров. При выгрузке страницы выгружаются в обратном порядке - как в стеке.
Страницы реализованы на 6 и 7 битах 2 порта процессора (выводы 37 и 38). С них адресные сигналы подаются на дополнительный счетчик, а снего на 1 вывод РУ7.
Почти все элементы либо рисовал сам, либо дорабатывал библиотечные. В Игл это достаточно просто - на одну микросхему уходит 5-10 минут. Если микросхемы подобные (например РУ5 и РУ7) то и того меньше - используем Copy-Paste.
---------- Post added at 12:15 ---------- Previous post was at 11:56 ----------
Посмотрел протокол передачи данных в компьютер,
Используется шина из 5 сигнальный линий.
По четырем линиям передаются данные, по пятой - управление.
Кадр передается порциями - по строкам. Всего 256 строк, если я ничего не путаю.
Перед началом передачи кадра все 5 линий в нуле.
Затем начинается передача 32 байт строки (всего в строке 256 пикселей).
В каждом байте сначала передаются 4 старших бита, управление равно 0.
Затем передаются 4 младших бита, управление - 1.
По окончанию строки все пять линий устанавливаются в единицы.
Не совсем понятно, как обнаруживается первый полубайт если он совпадает
с начальным состоянием - 00000, или если последний полубайт строки совпадает с кодом конца строки - 11111.
При старте устройства происходит небольшое самотестирование, при ошибке теста, прибор входит в аварийный режим - бесконечный цикл, на выходе - на всех пяти линиях выдается непрерывный меандр с постоянной частотой.
Было бы любопытно взглянуть на программу для приема кадров для Спектрума.
---------- Post added at 12:22 ---------- Previous post was at 12:15 ----------
Появились мысли, как решить проблему с первым полубайтом.
Если после кода 00000 появляется код 0xxxx (хотя бы один из разрядов x не равен 0) - это первый полубайт, если же сразу появляется код 1xxxx, то очевидно, что первый полубайт был равен 0000.
С последним полубайтом еще проще - так как мы считаем принятые байты строки, то получив последний (32-й) байт нам не нужно улавливать конец строки - сразу переходим к ожиданию следующей строки.
Так как между строками стояние линий равно 11111, то начало следующей строки знаменует управляющий бит ставший нулем - это будет первый полу-байт первого байта следующей строки.
По приему 256 строк останавливаем передатчик и работаем с загруженными данными.
При ожидании нового кадра ловим все пять линий в нуле.
Вроде весь алгоритм приема.
---------- Post added at 12:28 ---------- Previous post was at 12:22 ----------
Не знаю как подключался к компьютеру этот девайс в оригинале, но организовать прием можно даже через порт Kempston джойстика - там как раз есть 5 линий.
---------- Post added at 12:37 ---------- Previous post was at 12:28 ----------
Для тестирования устройства необходимо подать на него питание - посмотреть осциллографом выходные линии (X2.34567) - на них не должно быть меандра. После этого необходимо нажать на кнопку передачи данных в компьютер - на X2.5 должна появиться меандр передачи данных (он переключается с 0 в 1 на каждом полубайте), после окончания передачи данных все линии должны вернуться в единицу. После этого уже можно переходить к сопряжению с компьютером.
Если же увидеть активность при нажатии на кнопку не удается - имеем проблему. Либо процессор, либо доступ к ПЗУ (ИР22), либо сама ПЗУ. Все остальные элементы на передачу данных влиять не должны (если только ВВ55 не коротит линии данных процессора).
Последний раз редактировалось Lion17; 27.05.2013 в 12:24.
Собсна, сканер и подключался либо к порту кемпстон джойстика вместо манипулятора, либо к любому полуряду клавиатры. Это было написано в листке-руководстве к сканеру.
---------- Post added at 23:14 ---------- Previous post was at 23:12 ----------
ZXFanat, мною, подключался к пентагон 128 через плату-переходник с K-Joy на борту. Общим для джостика контактом (с которым соединялись кнопки джостика), был минус питания. В нейтральном положении манипулятора, из порта контроллера, считывался 0.
Когда есть, но не знаешь где - это все равно, что нету.
Рискну предположить, что образ выкладывал я.
В начале бесик блока идет проверка состояния кемпстон порта. Если там не ноль, считаем, что порта нет, выбираем "порты клавиатуры и переходим к след. пункту.
В строках 80 и 90 прописан младший и старший адрес порта из которого производится чтение данных (31=31+256*0 или 63486=254+256*247).
Последний раз редактировалось null_device; 28.05.2013 в 23:29.
Когда есть, но не знаешь где - это все равно, что нету.
Дело в том, что на самом деле я ничего кардинально не менял в кодовом и бейсик блоке. Подключение к порту отличного от кемпстона я не проверял. Т.к. спаяв провод для подключения к разьему джостика (и вывел на него + питания) я не стал заморачиваться с подключением к клавиатуре.
Какое число у вас выдает порт кемпстон джостика?
---------- Post added at 00:55 ---------- Previous post was at 00:48 ----------
Попробуйте вот этот образ (стандартный файл vs.B или ALT_VS.B). Исправил оба и перезалил, т.к. в случае не кемпстон-интерфейса выбирался "левый" синклер, на котором висят служебные кнопки опрашиваемые в кодовом файле. Сейчас опрашивается "правый" синклер.
N.B. Необходимо учитывать, что биты этого порта синклер джойстика отвечающие за кнопки направления\стрельбы "вывернуты на изнанку", относительно кемпстон джойстика.
Последний раз редактировалось null_device; 03.10.2015 в 13:40.
Когда есть, но не знаешь где - это все равно, что нету.
Немного подумав повторно перепилил бейсик блок. Теперь должно работать!
----
Кто уже скачал образ - перекачайте!
----
Кстати, все скрины на данной дискете не оригинальные (на оригинальной дискете шли свои изображения). Эти сделаны мной в "двухтысячных", с помошью подключенного к сканеру ч\б мини-видоекамеры, наподобии этой.
Последний раз редактировалось null_device; 28.05.2013 в 23:40.
Когда есть, но не знаешь где - это все равно, что нету.
Показывай результаты.
"Lion17", сбрось библиотеки для исходников ZX-сканер (видеодигитайзер).
Хочу переделать для РУ7 или для SIMM.
И попробовать сделать доработки.
Мне отдали бумажную версию какого-то устройства, которое напоминает это устройство. Качество не очень и бумага желает лучшего. Но попробую прочесть и навесным монтажом сделать доработки, и в схему внести изменения, если получится.
Если невозможно связаться со мной через форум, то можно написать на электронный адрес: [email protected]
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)