там еще прикольные фишки с тачскрином, извините не удержался
кроме того рыбок можно кормить, гонять, кликать чтоб они увеличивались-уменьшались, и играть музычку как на нотах.
забавная цацка.
модель тачскрина не известна, таких или похожих еще не встречалось. подключен к SCIF, протокол такой:
Код:
отпустили экран: 40
нажали: 41 Xl Xh Yl Yh 0x xx
40/41 - заголовок, может быть другое число, т.к. код проверяет лишь 7й и 1й биты
Xl/Xh Yl/Yh - X/Y, где Xl = X & 0x3f; Xh = (X>>6)&0x3f, диапазон что-то близкое к 0 - 640*5 / 0 - 480*5
0x - не используется, возможно 4bit Z
xx - не используется, возможно контрольная сумма
тач шлёт пакеты сам по-себе, без запросов, игра в SCIF вообще ничего не шлёт.
Прикольная штука! Особенно для таких мест где надо немного подождать. Скачаю попробую покомандовать ))
Не видел такого раньше, вот же может удивить дрим еще.
От тача наверное просто DMA принимает данные и все.
А биос от нее можно зашить в дрим?
(29.05.2019 10:50)SWAT писал(а): [ -> ]А биос от нее можно зашить в дрим?
биос там обычный, прошивка флешки чуточку отличается.
игра хочет чтоб первые два байта в заводской области (1A000) были 0x30 0xff, и виснет если проверка обломалась (в обычных дримах они 0x30 0x30).
можно ее отрубить - в бинарнике игры по смещению 0x04da вбить nop (9 0)
(28.05.2019 23:19)MetalliC писал(а): [ -> ]Xl/Xh Yl/Yh - X/Y, где Xl = X & 0x3f; Xh = (X>>6)&0x3f, диапазон что-то близкое к 0 - 640*5 / 0 - 480*5
получается гонит сырые данные со встроенного 12-ти битного АЦП
воссоздать аквариум с тачем вообще не проблема, четырёх проводный резистивный тач цепляем к микрику, заводим прерывание от АЦП, если от АЦП прилетел 0, то передаём по UART 40h, иначе 41h младшие 6 бит первого АЦП, старшие 6 бит первого АЦП и т.д
@megavolt : so the touchscreen send an analog output (not sure to understand) to the CAN which send a numerical 12 bits signal to the arduino that finally convert to the dreamcast controller port or serial port ?
thanks for taking time to sharing all that :-)
(03.06.2019 03:13)megavolt85 писал(а): [ -> ]получается гонит сырые данные со встроенного 12-ти битного АЦП
воссоздать аквариум с тачем вообще не проблема, четырёх проводный резистивный тач цепляем к микрику, заводим прерывание от АЦП, если от АЦП прилетел 0, то передаём по UART 40h, иначе 41h младшие 6 бит первого АЦП, старшие 6 бит первого АЦП и т.д
вот вот, я собственно и постил эти данные для энтузиастов, у которых есть какой-то тачскрин, MCU или микрокомп типа Raspberry Pi, и желание наваять "адаптер - транслятор" для этого аквариума.
да, там по 12бит, а точнее диапазон X 0-2999, Y 0-2299, калибровки не предусмотрено.
(04.06.2019 20:02)MetalliC писал(а): [ -> ]точнее диапазон X 0-2999, Y 0-2299
в принципе если предположить что питание контроллера 3,3 вольта, то всё сходится, это сырые данные от АЦП 3 вольта по X и 2.3 по Y, тач обычный резистивный четырёх проводный
да, наверное так
и еще - там наверное оба пакета по 7 байт. код ждёт пока в порт прилетит байт с установленным 7м битом (40), при этом если первый бит установлен - принимает 6 байт данных, если сброшен - игнорирует все последующие данные пока не встретится установленный 7й бит.
вообще, в коде игры имеется два парсера пакетов тача, второй чуть другого формата, но тоже подобный и простой. тип выбирается по переменной, но она жёстко забита в коде игры, выбора/переключения нет.
так что возможно были, или как минимум планировались, аппараты с чуть другим типом тачскринов (может для английской/экспортной версии?)