On A Maple (Dreamcast Joy -> PC)

Обсуждение устройств находящихся в разработке

Moderators: HardWareMan, aodinets, admin, figura, alex

admin
Site Admin
Posts: 912
Joined: Tue Nov 23, 2010 5:55 pm
Location: Novosibirsk
Contact:

On A Maple (Dreamcast Joy -> PC)

Postby admin » Sat May 18, 2013 11:50 am

Приблизительно месяц тому назад наткнулся на форуме DC-SWAT'а на тему Подключение джойстика Dreamcast к ПК.

Ну и меня очень задело вот что направленное в мой адрес :
Если я вас ни с кем не путаю, то вы ещё эдак с 2006 года бьётесь над подключением джоя к пк, но рабочей версии я так и не увидел(за исключением видео с джой-тестером, подобное которому я могу записать хоть сейчас)
Всё лучше чем ничего
(коротенечко опишу в чем там суть, - берем развандаливаем джой, развандаливаем USB клавиатуру и подпаеваемся к дримджою клавиатурными выводами. Уж извините меня, - Полная х..я!!! Это должно называться сунем клавьер в коробку от джоя!!!)

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

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

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

А проблемы там организовывались такие:

1. Я пользовал как мозг устройства AT90USB162 в нем SRAM памяти 512 байт, этого мало для организации полнофункционального интерфейса, ибо максимально возможный пакет в 1024 байта просто не влазил в память контроллера.
2. Даже в далеком 2006 году уже была проблема с разъёмами для дрим-джоев.
3. Проблема с виброй и VMU вытекала из пункта 1.
4. Устройство не стабильно (в моем понимании) работало (при потерях в 2 пакета на 1000) потому как не имело высокоинтегрированной аппаратной поддержки MAPLE MIE.
...и ещё много много всего по мелочам.
Но повторюсь, устройство работало настолько что можно было играть получая удовольствие как на родном джое для PC.

На этом я посчитал тему законченной ибо в моем понимании народ несколько поохладел к DREAMCAST.

Ну и вот,получив изрядный пинок под зад я решил основательно переработать всю свою базу знаний относительно MAPLE BUS и получилось OnAMAPLE, то есть вот это:

Image

Image

Размер 39,24mmx28,57mm

В итоге:

1. Сопроц CORTEX M3 STM32F103R6T6 имеет 16k наборной памяти подпрограммы, USB интерфейс, 6k SRAM памяти.
2. Логический интерфейс поддержки MAPLE MIE на EPM3032 (возможно логичнее было поставить EPM3064 но он дороже в 2.5 раза)
3. Обновление логичекого ядра по USB.
4. Может работать как мост MAPLE<->USB так и DEVICE<->USB DEVICE<->SUBDEVICE ну короче все возможные варианты подключения кленовой шины как к джоя так и к дриму. То есть можно подключить с помощью этой штуки напрмер джой для денди к дриму и ровно так же как и дрим джой к PC.

Ну и как то лень писать все варианты, но напрмер можно подрубить PC мышь к DREAMCAST.

Так же можно глянуть на принципиальную схему устройства

Ровно так же можете глянуть на исходные коды примеров реализации устройств.

Значиться так, а теперь как же всё это то вместе работает?

Я рассмотрю самое простое, подключение джоя к PC.

На устройстве есть 13-ти пиновый разъем, на него выведены сигналы:

------- Dreamcast Interface
01 - A - SDCKA
02 - V - Vcc 5v
03 - G - GND
04 - S - SHELD (same as GND)
05 - B - SDCKB
------- STM Debug Interface
06 - C - Clock
07 - D - Data
08 - G - GND
------- USB Interfce
09 - M - D-
10 - P - D+
11 - V - Vcc 5v
12 - G - GND
13 - G - GND

А в комплекте к устройству есть коннектор MU13-F из которого выходит коннектор USBA (стандартный в комп.) и коннектор MU5-F к слову сказать внутри оригинального джойстика установлен разъем MW-5MR который является розеткой для нашего MU5-F.

Попросту говоря, разбираем джой для дрима, вытыкаем родной разъем, подрубаем наш и высовываем наружу шланг USB, прячем внутри джоя OnAMAPLE, собираем джой. Ставим комплект дров для XBOX джоев и пользуем наш джой + OnAMAPLE как XINPUT устройство, с поддержкой вибры.

P.S. Себестоимость 250р не считая изготовление печатной платы и соединительных шнурков разнообразных типов.
Last edited by admin on Mon Nov 18, 2013 10:22 am, edited 3 times in total.

SavitarSvit
Полезный чел
Posts: 390
Joined: Mon Dec 17, 2012 10:22 pm

Postby SavitarSvit » Sat May 18, 2013 12:01 pm

Хорошая вещь, но к дриму мы поохладели :)

alex
Posts: 18
Joined: Wed Jan 05, 2011 1:40 am
Location: Новосибирск

Postby alex » Sat May 18, 2013 4:59 pm

Переферия для джоя, типа VMU, Микрофона поддерживается?
Какие девайсы можно к дриму подцепить?
Какова розничная цена и когда его можно будет приобрести?

admin
Site Admin
Posts: 912
Joined: Tue Nov 23, 2010 5:55 pm
Location: Novosibirsk
Contact:

Postby admin » Sun May 19, 2013 2:40 pm

Переферия для джоя, типа VMU, Микрофона поддерживается?
Какие девайсы можно к дриму подцепить?
Какова розничная цена и когда его можно будет приобрести?
Вот прям нравиться мне оч., - вопросы по существу! :idea:

У устройства есть свой SPI итерфейс к нему подключаем ADC компаратор и реалузуем в прошивке микрофон. Доки есть.
Можно подключить карту памяти по этому же интерфейсу и получим огрумную VMU. Можно тоже самое сделать с любым устройством для дрима. Только реализовать его в прошивке. Фактически можно реализовать всю линейку девайсов:

Code: Select all

/*Device functions*/ #define CONTROLLER 0x01000000 //FT0 : Controller Function #define STORRAGE 0x02000000 //FT1 : Storage Function #define LCD 0x04000000 //FT2 : B/W LCD Function #define TIMER 0x08000000 //FT3 : Timer Function #define AUDIO_INPUT 0x10000000 //FT4 : Audio input device Function #define AR_GUN 0x20000000 //FT5 : AR-Gun Function #define KEYBOARD 0x40000000 //FT6 : Keyboard #define GUN 0x80000000 //FT7 : Light-Gun Function #define VIBRATION 0x00010000 //FT8 : Vibration Function #define MOUSE 0x00020000 //FT9 : Pointing Function #define EXMEDIA 0x00040000 //FT10 : Exchange Media Function #define CAMERA 0x00080000 //FT11 : Camera Device Functio
Я вот тут посчитал... получается за минимальный комплект ~900р. Фиг знает, может и дешевле. Зависит от востребованности.

Фактически планируется такой подход.

Если конечный покупатель хочет разработать свое устройство, он прикупает себе в довесок к OnAMAPLE STM32Discovery (рублей 300 оно стоит) и через линк установленный в OnAMAPLE отлаживает своё устройство на любом отладочном софте KEIL, COOCOX чего там ещё есть не помню.

И второй вариант, в девайсе есть загрузчик, он может переписывать прошивку CPLD корки и/или прошивку микроконтроллера и от меня будут стандартные реализации интерфейсов, мышь, джойстик, клавиатура, световой пистолет, карта памяти и т.д. и т.п. которые можно будет вгружать в устройство по USB шнурку. Таком образом имея на руках весь набор дримдевайсов.

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

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

alex
Posts: 18
Joined: Wed Jan 05, 2011 1:40 am
Location: Новосибирск

Postby alex » Sun Jun 23, 2013 1:34 pm

Есть ли подвижки по данному устройству?
Хотелось бы всетаки хоть какую нибудь видеодемонстрацию применения данного девайса увидеть, особенно в плане подключения различных устройств (джойстики от денди, сеги мд, а также ПК клавиатуры и мыши и т.д.) к дримкасту.

AZinX
Полезный чел
Posts: 77
Joined: Tue Apr 26, 2011 9:39 pm

Postby AZinX » Wed Sep 25, 2013 1:53 am

Поддерживаю вопрос alex'a. Есть ли продвижения?

admin
Site Admin
Posts: 912
Joined: Tue Nov 23, 2010 5:55 pm
Location: Novosibirsk
Contact:

Postby admin » Wed Sep 25, 2013 9:11 am

Поддерживаю вопрос alex'a. Есть ли продвижения?
Печально, но нет.

AZinX
Полезный чел
Posts: 77
Joined: Tue Apr 26, 2011 9:39 pm

Postby AZinX » Thu Sep 26, 2013 12:08 am

А хоть предвидится что-нибудь?

admin
Site Admin
Posts: 912
Joined: Tue Nov 23, 2010 5:55 pm
Location: Novosibirsk
Contact:

Postby admin » Fri Sep 27, 2013 12:58 am

А хоть предвидится что-нибудь?
а как же.

AZinX
Полезный чел
Posts: 77
Joined: Tue Apr 26, 2011 9:39 pm

Postby AZinX » Sat Sep 28, 2013 7:29 pm

Бум ждать :)

HEPO
Posts: 10
Joined: Fri Jan 28, 2011 5:32 am
Location: Ярославская область

Postby HEPO » Mon Nov 18, 2013 7:16 am

1. Сопроц CORTEX M3 ATM32F107R6T6 имеет 16k наборной памяти подпрограммы, USB интерфейс, 6k SRAM памяти.
опечатки, ну это так.
А нельзя было логически йинтерфейс прямо в стмке реализовать? и почему? (если только из за обновления через USB, то в стмку можно точно так же заливать, надо ток один раз зашить свой бут и она как флэшка будет определяться, куда прошивка копипастой заливается)

admin
Site Admin
Posts: 912
Joined: Tue Nov 23, 2010 5:55 pm
Location: Novosibirsk
Contact:

Postby admin » Mon Nov 18, 2013 10:21 am

1. Сопроц CORTEX M3 ATM32F107R6T6 имеет 16k наборной памяти подпрограммы, USB интерфейс, 6k SRAM памяти.
опечатки, ну это так.
А нельзя было логически йинтерфейс прямо в стмке реализовать? и почему? (если только из за обновления через USB, то в стмку можно точно так же заливать, надо ток один раз зашить свой бут и она как флэшка будет определяться, куда прошивка копипастой заливается)
А причем тут обновление прошивки то? Логику сделал в логике, код в микроконтроллере, плюс за ошибками протокола смотрит EPM32 и может прерываниями или лог уровнями сообщать о состоянии канала передачи шинки Maple BUS. Да и программная реализация протокола Maple ущербна... вопервых из за скорости, во вторых из за всяких девайсов полулицензионных и откровенно китай подделок, програмная реализация протокола для ардуино так вообще виснет на китай-джоях.

HEPO
Posts: 10
Joined: Fri Jan 28, 2011 5:32 am
Location: Ярославская область

Postby HEPO » Mon Nov 18, 2013 3:43 pm

а вот оно как, спасибо). С плис мне пока рано, пойду пока изучать чо как с stm'кой)

P@S@f
Posts: 3
Joined: Mon Dec 02, 2013 5:34 am

Re: On A Maple (Dreamcast Joy -> PC)

Postby P@S@f » Mon Dec 02, 2013 5:42 am

А зачем на плате две кнопки и 4 светодиода?

User avatar
SAMuel
Любитель
Posts: 248
Joined: Tue Aug 02, 2011 2:20 pm
Location: UA Kiev
Contact:

Re: On A Maple (Dreamcast Joy -> PC)

Postby SAMuel » Mon Dec 02, 2013 9:24 pm

А зачем на плате две кнопки и 4 светодиода?
кнопка S1 - бутзагрузчик
кнопка S2 - ресет
два светодиода индикации передачи и получении данных RX и TX по USB
два светодиода индикации передачи и получении данных RX и TX по MAPLEBUS
Atari2600,Atari7800,AtariFS,ZXSpectrum,Dendy,NES,Kenga,GB,GBP,GBC,GBASP,GBA,NDSL,SNES,SMS,N64,GC,Wii,SMD,MD2,SGG,Gopher,DC,MDP,PSP1000,PSP2000,PSP3000,PSPStreet,PS1,PS2,PS3,XBOX,XBOX360,3DO...