Приставки > Джойстики и прочие манипуляторы
Прикручиваем мышь от PC к Dreamcast (на дому )))))
(1/2) > >>
masyanya:
Значится так.
 Сначала немного теории:
 
 
* Сегодня в продаже появилось великое множество дешевых мышей, которые при всей своей дешивизне внтри имеют вполне осмысленные корпусные микросхемы.
 Особенно радует контроллер позиции XX-YY-ZZ, самые дешевые из них A2610/A2620 и A5010/A5020, вторые лучше потому как на борту имеют CS, то бишь ногу для выбора контроля над микросхемой.
 Ещё более тёплая, греющая душу особенность, - это наличие SPI интерфейса на борту, последний факт освобождает вообще от интеграции в обработчик интерфейсов c датчиком X/Y ибо SPI есть сейчас в любом современном микроконтроллере.
 Вот собственно небольшой обзор на эту тему:


  Pin Number
1
2
3
4
5
6
7
8Pin
OSC_IN
OSC_OUT
SDIO
SCK
LED_CNTL
GND
VDD
REFADescription
Oscillator input
Oscillator output
Serial data (input and output)
Serial port clock (Input)
Digital Shutter Signal Out
System Ground
5V DC Input
Internal reference
* Теперь минусы, - Колесо NetScroll, сама "композиция", то бишь колесо с датчиками называется Z-Encoder, тут уж нет стандартного решения, поэтому довольно сложно понять какие принцыпы определения движения колеса сюда вложил разработчик, плюсом ещё накладывается то, что в документации  по дримовской мышище указано, - позиция Z - определяется 10-ти битным значением, то есть если в PC Позиция Z определяется "по щелчкам", то на дриме это такая же полноправная координата как X/Y.
* Теперь минусы со стороны дрима, первый, - эт конечно жа MapleBus, интегрировать который целиком в контроллер не удасться, а это собственно подтягивает ещё одну проблему, - доп. логика, которая тож занимает место на плате и соотв в корпусе мышки.
 Как минус можно добавить такую "мелочЬ" как различия между значащими битами в PC - 8 бит на координату в Dreamcast'e 10, доп конвертация и прочее.
* А вот теперь немножко теории относительно того, какие требования накладываються на "изготовителя" дримовской мыши (я прям коротенечко цитатами):
 1. Функциональные элементы
   Category code      : Mouse
   Press buttons      : A,B,W
   Analog coordinate axes   : AC1,AC2 (ball)
            : AC3 (wheel)
   Option parameters   : None
 2. Детали конфигурации:
   A button   : left button The values are: press = ‘0’, release = ‘1’.
   B button   : right button The values are: press = ‘0’, release = ‘1’.
   W button   : wheel (center) button The values are: press wheel = ‘0’, release = ‘1’.
   Ball   : AC1(X),AC2(Y) Relative coordinates in both axes are detected by an optical converter. Coordinate accuracy is 10 bits.
   Wheel    : AC3(Z) Relative coordinate is detected by an optical converter. Coordinate accuracy is 10 bits.
 3. Ответы на основные команды:
   Fixed Device Status (112 bytes):
   Device ID (Capacity : 16byte) :
      Data: 00h-00h-02h-00h -00h-0Eh-07h-00h -00h-00h-00h-00h -00h-00h-00h-00h
   Destination (Capacity : 1byte):
      Data: FFh
   Connection direction (Capacity : 1byte):
      Data: 00h
   Product name (Capacity : 30byte):
      Data: " Dreamcast Mouse " in hankaku characters. A space code (20h) is inserted for unused space.
   License (Capacity : 60byte):
      Data: "Produced By or Under License From SEGA ENTERPRISES,LTD." A space code (20h) is inserted for unused space.
   Standby current consumption (Capacity : 2byte):
      Data: 01h-90h (40.0mA)
   Maximum current consumption (Capacity : 2byte):
      Data: 01h-F4h (50.0mA)
   Free Device Status (192 bytes):
   Fixed Device Status (112 bytes):
   +
   Device ID (Capacity : 80byte) :
    "Version 1.000,2000/02/25,315-6211-AT   ,3 Button & X-Y Ball & Z Wheel ,400dpi   "
   Dreamcast Mouse data formats
   Data transfer(Capacity : 20bytes):
      Data:
      bit
1st-Data
2nd-Data
3th-Data
4rd-Data
5th-Data
6th-Data
7th-Data
8th-Data
9th-Data
10th-Data
11th-Data
12th-Data
13th-Data
14th-Data
15th-Data
16th-Data
17th-Data
18th-Data
19th-Data
20th-Data7
1
0
0
0
AC17
0
AC27
0
AC37
0
0
0
0
0
0
0
0
0
0
06
1
0
0
0
AC16
0
AC26
0
AC36
0
0
0
0
0
0
0
0
0
0
05
1
0
0
0
AC15
0
AC25
0
AC35
0
0
0
0
0
0
0
0
0
0
04
1
0
0
0
AC14
0
AC24
0
AC34
0
0
0
0
0
0
0
0
0
0
03
W
0
0
0
AC13
0
AC23
0
AC33
0
0
0
0
0
0
0
0
0
0
02
A
0
AOV2
0
AC12
0
AC22
0
AC32
0
0
0
0
0
0
0
0
0
0
01
B
0
AOV1
0
AC11
AC19
AC21
AC29
AC31
AC39
0
1
0
1
0
1
0
1
0
10
1
0
AOV0
0
AC10
AC18
AC20
AC28
AC30
AC38
0
0
0
0
0
0
0
0
0
0
      А вот собственно и пояснение к таблице.
      1st-Data
2nd-Data
3rd-Data
4th-Data
5th~6th-Data
7th~8th-Data
9th~10th-Data
11th~20th-Data:BTN
:OP
:AOV
:RES
:AC1
:AC2
:AC3
:AC4~8Operating button data
Option parameters (00h)
Analog coordinate overflow
Reserved (00h)
X-axis analog coordinate region
Y-axis analog coordinate region
Z-axis analog coordinate region (wheel)
Constant (00h-02h, fixed) Собстна To be continued... потому как выдохся, а там ещё много...

Добавлено позже:
 А теперь собственно к теме!

 За основу для моего девайса я взял мышищу RX-250 от Logitech, - ~10$ в магазе стоит, значиться так:
 Для работы нам понадобиться:
 1. МОЗГ 1шт
 2. Руки 2шт
 3. Мышища RX-250 1шт
 4. Паяльник 1шт
 5. Паяльная паста TRISTAR (Само то для лужения паяльником) 1шт
 6. Припой
 7. Переходник для джоев Dreamcast
 8. Микроконтроллер ATMEGA851516AI/AU (TQFP) 1шт
 9. SMD Резисторы 1.2к (0805 корпус) - 4шт
 10. SMD Конденсатор, пленочный 0.1u (0805 корпус) - 4шт
 11. Кварцевый резонатор 16MHz HZ49 - 1шт
 12. Элктролитический SMD конденсатор 4,7uF (типоразмер А) - 3шт
 13. Сдвоенный 4х битный сдвиговый регистр IN74HC4015 (или схожий CD4015/HEF4015 но они хуже ибо медленнее) 2шт.

 Значит так.
 1. Разбираем мышь RX-250, внутри видим микроконтроллер от CYPRESS, - CY7С63813, выдергиваем его, на его место мы запаяем нашу плату с мозгами для MapleBUS.
 2. Смотрим каким же образом у нас разведены дороги к месту пайки CY7C... и видим вот что:
 
 Где :
 Ноги для управления контроллером X/Y
SS
 SCK
 MOSI
 MISO
 NRESETВыбрать чип
Вход под клок
Вход под данные
Выход данных
Аппаратный сброс
Остальные ноги:
LD1
 LQ1
 PB-L
 PB-R
 PB-M
 PB-LM
 PB-RMВход вкл/выкл диода на "Колесо"
Выход данные от сенсора "Колеса"
Выход контроля нажатия левой кнопки
Выход контроля нажатия правой кнопки
Выход контроля нажатия центральной кнопки
Выход контроля нажатия кнопки "колесом влево"
Выход контроля нажатия кнопки "колесом вправо"
И что мы тут видим?
Видим что кнопок 5, ну и зачем такое удовольствие теря, добавим же эти кнопки в наш обработчик MupleBUS и будет нам счастье!

Соответственно вот и схема:

 Соотв доберусь до фотика весь процесс преобразования в картинках тут выпишу...
Sheb:
Интересно, жаль контроллера подходящего нет )
masyanya:
Господа хорошие, можно любую мышку так переделать, я позже объясню как, ну или практически любую..  ;)
sergi:
Да честно говоря не в этом дело - в что играть то вот вопрос - лично для меня - я то к примеру не люблю дрим

если бы для панасоника пистолет разобрался как работает и мышь, это да - это нужно, а дримовскую - ну хорошо конечно что можно, но нужно ли :-\
да и в принципе по деталям напряг и работы собственно тоже - это если только нагорит оч сильно

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

--- Цитата: sergi от 06 Февраль 2009, 14:21:10 ---Да честно говоря не в этом дело - в что играть то вот вопрос - лично для меня - я то к примеру не люблю дрим

--- Конец цитаты ---
Это тока твое мнение.


--- Цитата ---если бы для панасоника пистолет разобрался как работает и мышь, это да - это нужно, а дримовскую - ну хорошо конечно что можно, но нужно ли :-\
да и в принципе по деталям напряг и работы собственно тоже - это если только нагорит оч сильно
ну и конечно же это чтобы внутрь мышы плата монтировалась, чтобы прям плату сделал и туда засунул, особенно если оптическая

--- Конец цитаты ---
Не нужно так не нужно, я не буду выкладывать инфу. >:(
 Детали там все ширпотреб.
 Да и для панаса я выкладывать не буду, продавать тока, панас дорогой да и пистоли в него, тож плюсом ещё разработочка и отладчики магазы не дарят.. А деньги на деревьях растут тока в мультиках про Черного Плаща, а жаль. <_<
Киба:
masyanya да ладно не заводись. Мы то знаем что у тебя руки из правильного места растут. Не все просто ценят это.
Я считаю что ты очень важные вещи делаешь.
p_star:
Мышь для дрима тоже не дешовая весчь, и игр для неё на Дриме достаточно, так что пригодится людям.
sergi:
Да я не стараюсь обидеть, если обидел то извиняюсь

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

а на панас видишь сам говоришь что инфу не выложишь - тогда как это более полезнее инфа, т.к. реально аксессуары не достать, поэтому тут какбы получается что хорошо все, но не совсем :-\
Bugrim:
Да, на панас было бы здорово, пекаль из дендяка переделать например...
alex:
да че вы заладили панас да панас, чел полезное дело делает.
Мышь для дрима вещь довольно редкая и эта схема я думаю многим будет полезна.


--- Цитата ---Соотв доберусь до фотика весь процесс преобразования в картинках тут выпишу...
--- Конец цитаты ---
Ждем с нетерпением :)

Тут вопрос небольшой по сабжу, а оптическую тоже можно под дрим переделать? :)
Ashen:
Так это и есть оптическая мышка^_^
Круто блин, огромное человеческое СПАСИБО человеку... Простенько и со вкусом сделанная схемка... Только вот прошивки не хватает... С нетерпением жду продолжения, а то Дрим совсем забросили буржуи, так хоть соотечественники не забывают славную приставку...
masyanya:
Значит так, решил маленько отвлечся и всётаки выложить.
Вот собственно так оно выглядит,

 ну да и хрен с ним, закрывается крышкой сверху и как с завода, в схеме (проводки там фиолетовые всякие) ошибся поэтому в приложенном файле новая схема, печатная плата односторонняя под утюговую технологию и прошивочка, EEP и 2 штуки HEX, HEX одна с инвертированным Y-ом, другая нормальная. Проверенно на Half Life, - работает, халф лайф не поддерживает 5 кнопок, тока центральная левая и правая.
 Как оно работает писать вломы, тока есть одна тонкость, которая мне конкретно подкозлила, нулевое положение мыши что по Y что по X = 0x200. А не 0x0000 как на PC'шнике.
 Значиться так, собираем то что там у меня по схеме и припаиваем схему вместо контроллера CY...
 Электолиты нам нужны были для того чтоб заменить родные конденсаторы которые запаяны на заводе в мыши, иначе "буттерброд" не войдет в корпус мышки. Ну вроде и всё.
  P.S. Вы должны войти как зарегистрированный пользователь, чтобы иметь возможность закачать архивчик со всеми необходимыми для сборки мышищи файлами.
alex:

--- Цитата ---Проверенно на Half Life, - работает, халф лайф не поддерживает 5 кнопок, тока центральная левая и правая.
--- Конец цитаты ---

Сегодня проверил на Half Life оригинальную мышь для дрима, там все кнопки задействованы таким образом

кнопка с боку-слева   --присесть
кнопка слева              --огонь
кнопка справа             --альт. огонь
колесо вверх              --след. оружие
колесо вниз                --пред. оружие
masyanya:

--- Цитата: alex от 23 Февраль 2009, 20:03:54 ---Сегодня проверил на Half Life оригинальную мышь для дрима, там все кнопки задействованы таким образом

кнопка с боку-слева   --присесть
кнопка слева              --огонь
кнопка справа             --альт. огонь
колесо вверх              --след. оружие
колесо вниз                --пред. оружие

--- Конец цитаты ---
Во во, 3 кнопки и колесо.
ArhiAngel:
Эх. И почему всё так сложно ? В нашем мухосранске проще заказать откуда-нибудь оригиальную мышь, чем искать комплектующие для самопальной :(
masyanya:
ATMEGA8515 негде чтоли купить... <_< неожиданно...
... а кстати, "ваш мухосранск" это где?  :)
ArhiAngel:
Беларусь/Витебск.
У нас я не нашёл даже точек с резисторами и прочим. Во как.
masyanya:

--- Цитата: ArhiAngel от 27 Февраль 2009, 00:15:03 ---Беларусь/Витебск.
У нас я не нашёл даже точек с резисторами и прочим. Во как.

--- Конец цитаты ---
AT mega8515-16AU - 94 руб. (на складе 5 шт)
СТЭЛЛ
Белоруссия, Витебск: (+375 212) 245827
ул. Ленина, д. 52, корп. Б, оф. 1Тел.: (+375 212) 245827, факс: (+375 212) 242926
stell.by

 А резисторов можно наковытять из мат платы нерабочей, как собстна и конденсаторы, мышь в магазе можно купить ненапрягаясь.
ArhiAngel:

--- Цитата: masyanya от 27 Февраль 2009, 07:02:46 ---ул. Ленина, д. 52, корп. Б, оф. 1

--- Конец цитаты ---
Опа ! Впервые слышу даже про это. Нужно будет к ним наведаться.
masyanya, огромное спасибо !
alex:
masyanya, а где можно инфу найти по сборке программатора и прошивке микроконтроллера.
Навигация
Главная страница сообщений
Следующая страница

Перейти к полной версии