Продолжаем, значит так. Дизасм Lethal Inforces II, дал свои результыты, после нескольких дней ковыряния алгоритм работы светового пистолета всё больше вырисовывается.
Значит так (учитывая что у меня никогда небыло конамевского Justifier'a):
Отстраненно.
Как и что
1. Сей агрегат состоит из двух половинок BlueGun и PinkGun.
2. BlueGun, втыкается только во второй порт приставки, в него втыкается PinkGun.
3. BlueGun содержит всю логику и фотодетектор (с интегрированным усилителем), в то время как PinkGun содержит только фотодетектор.
4. Каждый пистолет имеет в своем составе кнопки START и TRIGGER_HOOK (курок).
Как работает:
1. Определяется пистолет как класс наличием воткнутого во второй порт приствки BlueGun'a, происходит это так:
а. Ставим SELECT=1 (STROBE), читаем с порта D0-D4, (D0-D1=0 и D2-D3=0 должны быть низкого уровня).
b. Ставим SELECT=0, читаем с порта D0-D4, (D0-D1=1 и D2-D3=0).
с. Если что-то не так, то пистолет не обнаружен.
2. Работает сам агрегат так:
а. В момент когда один из фотодатчиков в пистолетах "видит" луч ЭЛТ, D06 внутри BlueGun переставляется в режим вывода и выставляется "0", что вызывает IO прерывание "в пиставке".
b. После вызова прерывания, BlueGun переключает пин D06 в режим приема.
с. Читаются данные с пистоля посредствам управления пинами D04 и D05. Данные с пистолетов определяются пинами D00, D01, D02.
c.1 Читаем состояние BlueGun:
D04=D05=0.
Ждем 2 "клока"
D00-D02 - Текущее состояние BlueGun.
c.2 Читаем состояние PinkGun:
D04=1,D05=0
D04=0,D05=1
Ждем 2 "клока"
D00-D02 - Текущее состояние PinkGun.
c.3 Возвращаем BlueGun в режим "IO прерываний".
D04=D05=1
А вот и подтверждение того что я не пи..деть сюда пришел:
Добавлено позже:Ждем окончания изготовления, забавно так, я решил не совать в достаточно простые устройства микроконтроллеры.
А тут захожу в мангазин, дайте мне 74HC157, - "Таких нету"
ну тогда 74HC158, - "И таких нету!"
ну тогда 74HC573, - "И таких тоже нету!!!"
а тогда GAL16v8, - "Ато ваще чё такое?"
ну может ATF16v8, - "Чё-то страноое такое просите... таких вообще никогда не завозили".
тогда мне 74HC00, - "Аааа, эти вчерв были, но закончились.
", да б..я, издеваетесь что-ли?
ну хоть транзисторы то есть...2SK160? - "Не таких нет."
а кварци на 15MHZ есть, "Есть"... долгое ковыряние в закромах... "Не, эти кончились"...
а ATTINY2313 и кварцы на 20MHz есть?,-"Ага, есть.", ну вот их и давайте.
Вот так я снова вернулся к микроконтроллерам...