Mario Bros - платформер 1983 года, разработанный и изданный Nintendo для аркадных автоматов. Игра была создана Сигэру Миямото и Гунпэем Ёкои, главным инженером Nintendo.
Игроки управляют братьями-близнецами, Марио и Луиджи, которые уничтожают черепахоподобных существ, гигантских мух и крабов, появляющихся из канализации Нью-Йорка. Она входит в серию Mario и является первым спин-оффом серии Donkey Kong ( в которой впервые появился Марио под псевдонимом Jumpman ) ...
Super Mario Bros. - компьютерная игра в жанре платформер, разработанная и изданная компанией Nintendo для приставки Nintendo Entertainment System в сентябре 1985 года ...
По сюжету - Марио исследует Грибное королевство и спасает принцессу Пич от Короля Купы (позднее получившего имя Боузер). Для этого ему необходимо проходить уровни с видом сбоку, избегая препятствий и врагов с помощью таких бонусов, как супергриб, огненный цветок и суперзвезда ...
Игра неоднократно перевыпускалась на большинстве консолей Nintendo и входит в список самых продаваемых компьютерных игр в истории. По мнению журналистов, эта игра, как и сама консоль NES, поспособствовала восстановлению индустрии после кризиса 1983 года и популяризации платформеров с видом сбоку ...
Super Mario Bros. 2 - видеоигра в жанре платформер, разработанная и изданная Nintendo для консоли NES. В Северной Америке поступила в продажу в октябре 1988 года, в Европе - в апреле 1989-го ...
Игра представляла заметно изменённый геймплей, меняющий весь процесс прохождения игры и требовавший от игрока новой тактики поведения. Основное изменение коснулось схемы взаимодействия с противниками: принятая в предыдущих играх серии модель, в которой Марио мог убить врага, прыгнув на него сверху была устранена. Вместо этого была добавлена возможность бросать в противника различные предметы, распределённые по игровым уровням (чаще всего выдернутые из земли овощи) ...
Такие серьёзные изменения в геймплее обусловлены тем, что Super Mario Bros. 2 не разрабатывалась изначально как самостоятельный продукт, а являлась переделанной версией другой игры - Yume Kōjō: Doki Doki Panic. Ответственные лица Nintendo of America сочли выпуск на американский рынок японской версии Super Mario Bros. 2 сопряжённым с финансовым риском, из за высокой сложности игры …
Super Mario Bros 3 - видеоигра в жанре платформенной аркады, разработанная Nintendo Entertainment Analysis and Development для игровой приставки Nintendo Entertainment System в 1988 году в Японии, и в 1990 году в Северной Америке ...
В третьей части франшизы главные герои получили новые способности, в том числе полёт и скольжение со склонов. Также были введены ряд элементов и персонажей, которые активно использовались в следующих играх серии, например, дети Боузера (Купалинги) и карта для путешествий между уровнями ...
Помимо крепостей на карте мира встречаются большие валуны и запертые двери, которые блокируют развилки (но их можно разрушить при помощи специальных предметов). Мини-игры предоставляют игроку возможность получить специальные бонусы или дополнительные жизни. Бонусы, полученные в этих мини-играх, хранятся в инвентаре (отдельном меню) и могут быть активированы игроком с экрана карты перед началом следующего этапа …
В 1993 году для Super Nintendo Entertainment System был выпущен заново отрисованный ремейк игры в составе сборника Super Mario All-Stars, ещё один порт был сделан спустя десять лет для портативной консоли Game Boy Advance - Super Mario Advance 4: Super Mario Bros. 3 (2003). Помимо этого игра переиздавалась в онлайн-сервисе Virtual Console для приставок Nintendo Wii U и 3DS, а также была включена в перечень проектов для консоли NES Classic Mini ...
Super Mario World - платформер, выпущенный компанией Nintendo для Super Nintendo Entertainment System (SNES) в 1990 году. Производством игры занималась студия Nintendo Entertainment Analysis and Development под руководством Сигэру Миямото и Такаси Тэдзуки. Super Mario World попала в стартовую линейку игр SNES ...
По сюжету Марио и Йоши должны спасти Страну Динозавров (Dinosaur Land) от тирании Боузера — главного антагониста серии. Марио и его брату, Луиджи, предстоит путешествие через семь миров, в конце каждого из которых они должны победить босса - одного из Купалингов ...
Игровой процесс Super Mario World схож с предыдущими играми франшизы. Однако появились новые, увеличивающие способности главного героя, бонусы, которые были перенесены в последующие игры серии ...
После успеха Super Mario World игра была выпущена в специальной версии сборника Super Mario All-Stars под названием Super Mario All-Stars + Super Mario World, который был издан в 1993 году на территории США и Европы как часть комплекта «Super Mario Set» — вместе с приставкой Super Nintendo.
В этой версии Луиджи имеет свой собственный спрайт (в оригинале, спрайт Луиджи был просто перекрашенным вариантом Марио), в то время как остальные аспекты игры остались без изменений ...
Super Mario: Yoshis Island - игра для приставки Super Nintendо 1995 года.
Несмотря на своё название, она представляет собой приквел к предыдущим играм Mario. Графика игры и игровой процесс отличается от других игр серии Mario — игрок управляет динозаврами Йоши, а не самим Марио, который появляется как беспомощный младенец.
Визуальное оформление игры имитирует стиль карандашного рисунка — это было новшеством для данной франшизы, сама идея исходила от продюсера игры — Сигэру Миямото, которому не нравились заранее визуализированные трёхмерные модели персонажей в качестве спрайтов, популярные в то время благодаря таким проектам, как Donkey Kong Country ...
Игра состоит из шести игровых миров, каждый из которых в свою очередь делится на восемь уровней, что в сумме с бонусными и скрытыми зонами даёт 55 уникальных игровых уровней. При их прохождении игрок сталкивается с 127 различными видами врагов, около 40 из которых были разработаны специально для данной игры …
Super Mario Kart - гоночная игра, разработанная компанией Nintendo EAD для консоли SNES и выпущенная в свет 27 августа 1992 года в Японии, 1 сентября 1992 - в Северной Америке и 21 января 1993 - в Европе.
В Super Mario Kart игрок управляет одним из восьми персонажей Марио из серии, каждый из которых обладает уникальными способностями. В одиночном режиме игроки могут соревноваться с персонажами, управляемыми компьютером, в 4 многоэтапных кубках, состоящих из 20 трасс.
Во время гонок можно использовать бонусы, повышающие скорость и дающие преимущество. Кроме того, игроки могут соревноваться на время в режиме Time Trial. В многопользовательском режиме два игрока могут одновременно участвовать в кубковых гонках или соревноваться друг с другом в режиме Match Race и Battle Mode …
Эта игра не сильно отличилась среди других игр Contra, да и игр вообще, но она стала приятной разницей между завалом врагами в первой части и разнообразием локаций в Contra Hard Corps. Я прошёл ее за 36 минут и умер всего 3 раза.
Почти год назад я написал подробную статью о легендарной бюджетной консоли - R36s, где мы не только протестировали консоль в играх, но и разобрали её, а также изучили схемотехнику и компонентную базу устройства. Но несмотря на все плюсы, R36s, как и другие консоли на базе RK3326, перестали удовлетворять моим требованиям - хотелось бы иметь полноценный Android и возможность комфортной игры в тайтлы с PSP.
Моим выбором стала консоль DVTech Android-001, о которой сегодня и хочу рассказать пикабушникам. По традиции рубрики, мы с вами не только протестируем устройство в играх, но и разберем устройство, изучим компонентную базу и оценим общую ремонтопригодность. Интересно? Тогда жду под катом!
Предисловие
Вообще, среди китайских портативок наблюдается весьма интересная тенденция. Если раньше выпуском таких девайсов занимались относительно крупные заводы с довольно серьезным R&D, то сейчас складывается ощущение, что любое мало-мальски продвинутое производство может разрабатывать и выпускать свои портативки в кратчайшие сроки. Посмотрите сами - на рынке появляются десятки новых гаджетов ежегодно, у которых уже практически универсальная компонентная база: всё те же чипсеты, всё та же память, всё те же стики (от свича) и кое-где даже дисплеи!
Две вариации R36s - одна на базе процессора Rockchip, а другая на базе... безымянного процессора с архитектурой MIPS!
Но некоторые устройства всё же умудряются выделиться. Например - сегодняшняя консоль DVTech And-001 от компании NewGame, которая внешне очень сильно напоминает миниатюрную копию SteamDeck и построена на базе отнюдь не самого хилого чипсета от AllWinner. Вообще, NewGame довольно известный бренд в РФ - эти ребята ещё с 90-х занимаются поставками ретро-консолей, картриджей и аксессуаров, поэтому свежая "портативка" в их исполнении меня заинтересовала.
Не, ну чем не стимдек? :)
А из интересного здесь в первую очередь железо. Производитель обещает следующие ТТХ:
Процессор: AllWinner A527, построенный на базе восьми ядер Cortex-A55, где производительный кластер способен работать на частоте до 2ГГц, в то время как энергоэффективный на частоте до 1.4ГГц. Процессор заметно шустрее легендарного A133P, хотя до уровня современных (даже самых бюджетных) Unisoc'ов и MediaTek'ов не дотягивает, но в рамках портативной ретро-консоли выглядит интересно.
GPU: Одноядерный Mali-G57 MC1, ставший классикой бюджетных мобильных видеоускорителей. Будучи построенным на архитектуре Valhalla, тут весь джентльменский набор: OpenGL ES 3.2, Vulkan 1.1, OpenCL 2.0.
Память: 4Гб оперативной памяти типа LPDDR4X и 8ГБ постоянной памяти типа eMMC 4.1. С оперативной памятью здесь всё более чем хорошо, а вот использование такой мелкой и старой eMMC немного настораживает...
Дисплей: 5" IPS-матрица с разрешением 1280x720. Конечно не совсем трушное соотношение сторон по меркам ретро-гейминга, но в целом дисплей очень даже радует: нет перекоса в FHD, GPU сможет раскрыть себя в нативном разрешении.
Ввод: Две пары триггеров, DPad, кнопки действий и два аналоговых стика на датчиках Холла. Последнее выглядит очень интересно!
Внешние интерфейсы: Wi-Fi, Bluetooth, OTG, а также HDMI для вывода изображения на внешний дисплей. Ну наконец-то в портативке есть BT из коробки!
На первый взгляд выглядит очень даже неплохо, и в разы интереснее той же TrimUI Smart Pro. Консоль поставляется в небольшой красочной коробочке. Производителем указан некий KDR Tech Limited.
В комплекте нас ждёт сама консоль, MicroSD-флэшка на 64ГБ, инструкция по использованию, защитное стекло, тряпочка для протирки экрана, Type-C кабель и переходник Mini HDMI-HDMI. Вполне неплохо!
После включения меня сразу же порадовал дисплей. Широкие углы обзора, цветопередача на приличном уровне, яркости хватает с запасом - на первый взгляд всё замечательно. Однако DPI в системе выставили слишком высокий для такой диагонали и разрешения дисплея - всё выглядит немного мелковатым. Тачскрин здесь поддерживает до 10 одновременных нажатий.
С торцевой части устройства скрываются порты расширения. Для увеличения памяти предусмотрены два слота MicroSD (один из которых уже занят флэшкой с играми), для подключения периферии через OTG - один Type-C, в то время как второй используется для зарядки и синхронизации с ПК. Около разъёма HDMI расположился 3.5мм джек - редкий гость на Android-устройствах в наше время.
Есть у консоли и конструктивный просчет - немного люфтит задняя часть корпуса на стыке с триггерами
Эргономика устройства тоже на вполне приличном уровне. Консоль приятно лежит в руках, несмотря на глянцевый корпус руки в ней не потеют, триггеры, в отличии от той же R36s, расположены достаточно удобно. До большинства точек на экране можно дотянуться большим пальцем.
Но самое интересное, как обычно, скрывается внутри! Давайте же разберем нашу консольку и узнаем что у неё скрывается под капотом!
Разбираем
Разбирается устройство несложно. Необходимо открутить 6 винтов по периметру устройства и расщелкнуть клипсы с помощью специальной лопатки. Далее мы видим следующую картину:
Сразу же хотелось бы отметить как серьезный минус экономию на толщине столбиков под саморезы. Уже после первой разборки они треснули. Ну неужели латунные гайки такие дорогие?!
В качестве аккумулятора используется обычная планшетная банка 656090 ёмкостью в 5Ач. Найти такой АКБ можно в пределах 1.000 рублей, так что при необходимости замена аккумулятора не станет большой проблемой.
С обратной стороны платы нет ничего кроме сглаживающих конденсаторов, кнопок триггеров (к слову с нормальными посадочными местами, на ранних Android портативках триггеры часто выламывало) и коннекторов для стиков. Всё самое интересное расположилось с фронтальной части платы. При разборке стоит быть осторожным - шлейф дисплея подключается будучи немного изогнутым и при неосторожной разборке есть шанс его порвать:
Во первых, в глаза сразу бросается большое количество диагностических тест-поинтов. Инженеры заботливо вывели и UART, и даже FEL (режим загрузчика в чипсетах AllWinner, как 9008/MTK USB Port в MediaTek), которые пригодятся при ремонте и моддинге консоли. Также по всему периметру платы есть дублирующие тест-поинты на случай обрыва пятаков при неосторожном ремонте:
Под защитным экраном скрывается сердце устройства - тот самый процессор AllWinner A527. В небольшом чипе скрывается целый компьютер:
Основными вычислительными ядрами выступают два кластера из Cortex-A55, один из которых способен работать на частоте до 2ГГц. Помимо ARM-ядер и GPU Mali G57., в чипсете также есть RISC-V сопроцессор, способный работать на частоте до 200МГц и DSP для кодирования и декодирования видео.
За оперативную память отвечает контроллер DDR3/DDR4, который работает на частоте до 2400МГц в двухканальном режиме и поддерживает до 4 ранков памяти. В сумме это даёт возможность установки до 4ГБ оперативной памяти. За постоянную память отвечают контроллеры MMC, NAND и SPI NAND. UFS не поддерживается.
Выводом изображения занимается 4х-канальный контроллер MIPI DSI, а также отдельный контроллер HDMI/eDP и LVDS. Чипсет поддерживает матрицы с разрешением до 2.5K при 60Гц.
За звук отвечают два встроенных ЦАП'а и три АЦП. Также есть возможность подключения к внешнему кодеку с помощью аж четырех интерфейсов I2S. Звуковые возможности у чипа очень даже нехилые!
Присутствует гигабитный LAN-контроллер с торчащим наружу GMAC. Для реализации Ethernet, инженерам остаётся лишь распаять RJ-45 коннектор и PHY-уровень.
Из периферии есть UART, SPI, I2C, GPIO, ИК-порт, ШИМ, USB 2.0 (хост), USB 3.1 (клиент) и даже PCI-E 2.1.
И всё это выполнено по техпроцессу в 22нм, в небольшом корпусе 1.7см на 1.7см!
Да, техпроцесс конечно староват, но процессоры AllWinner всегда удивляли огромным количеством самой разной периферии. Я считаю A527'ой чудом инженерной мысли :)
За питание отвечает продвинутый КП AXP717C. Его же можно найти в некоторых ТВ-боксах, планшетах, ноутбуках и ещё куче разных устройств. Внутри него скрывается:
Чарджер литиевых аккумуляторов, способный заряжать аккумулятор током до 3А.
Fuel-gauge, определяющий текущий заряд АКБ.
4 DC-DC преобразователя, формирующие питание процессора, памяти и других модулей.
Аж 14 LDO, формирующие второстепенные шины питания - 3V3, 2V8, 1V8.
Стоит копейки, так что даже если выйдет из строя - поменять его не проблема.
В качестве оперативной памяти выступает чип FORESEE FLXC2004G-30, который совмещает в себе два канала, по два ранка в каждом - как раз те самые максимальные 4ГБ памяти. В качестве флэшки используется eMMC Toshiba THGBMSG8A4JBAIR объёмом всего в 8ГБ. При этом сама флэшка аж 2013 года выпуска - на момент написания статьи, её уже целых 13 лет. Происхождение флэшки неизвестно - возможно это остатки на складах, а возможно микросхема памяти уже Б/У. Впрочем, это оставляет некоторый простор для моддинга - можно проапгрейдить eMMC до 64ГБ :)
За Wi-Fi и Bluetooth отвечает модуль на базе Realtek RTL87338U, подключенный через USB 2.0. Его же можно спокойно перенести в R36s и другие консоли подобного формата.
А за звук - два внешних усилителя класса D TCS7191A.
В консоли используются самые обычные стики от Nintendo Switch. Такие же можно найти в R36s, TrimUI и других ретро-консолях. Стоят они копейки, так что если стик начнет дрифтить - нет проблем разобрать консоль и заменить его
А вот дисплей здесь используется кастомный, 30 PIN. Увы, ему замену найти не удалось.
Если вы читали мою статью про ноутбук за 6.000 рублей с AliExpress, то могли заметить, что их компонентная база и схемотехника очень схожа - а это говорит о том, что оба устройства произошли от одной референсной платы AllWinner для планшетов. Вот такая вот наследственность: один из планшетной основы стал ноутбуком, а другой - игровой консолью :)
Да, это братик нашей консоли :)
И... это все! Вот и вся консоль: взяли планшет, добавили к нему кнопки и стики, спроектировали кастомный корпус и отправили в производство. Сколько занимает R&D такого устройства с учетом написания драйверов? Два-три месяца?
Тестируем
Пришло время протестировать устройство на практике. Поскольку в своей сути это Android-планшет, начнём мы с теста производительности устройства - и здесь консоль проявляет себя "средне": в простых задачах типа чтения книг проблем не возникает, однако даже при попытке зайти на Хабр, консоли уже немного тяжело.
CPU-z показывает следующие характеристики нашей консоли. Обратите внимание на то, что у консоли есть рут из коробки без su - похоже это фишка вообще всех планшетов на чипсетах AllWinner и одновременно это большая дырка в безопасности: с рутом можно утащить папку любого приложения из раздела /data/, что может привести к утечке сессии Telegram, ВК, кук из браузера и т.п.
В бенчмарке GeekBench, консоль набирает 251 попугай в однопоточном тесте, что соответствует уровню Exynos7420 в Galaxy Note 5 и Snapdragon 625 в Vivo X9, и 858 попугаев в многопоточном, что также соответствует уровню Snapdragon 625 и Exynos7885. По чистой производительности процессор ближе всего к Helio P22 2018 года, который имел схожую конфигурацию ядер, только вместо A55'ых были A53'ие.
В целом, это неплохой результат по меркам ретро-портативки, в некоторых аспектах она шустрее и энерго-эффективнее чем A133'ый.
Однако синтетика это хорошо, но куда интереснее посмотреть как консоль тянет игры на практике. В качестве фронтэнда здесь предустановлена кастомная оболочка, которая является оберткой поверх других установленных в системе эмуляторов (не RetroArch). Консоль из коробки умеет эмулировать: Amiga 1200, аркадные автоматы, Atari 800, ColecoVision, Commodore64, CPS1, CPS2, CPS3, DOS, Dreamcast, GameBoy/GBC/GBA, GameGear, MAME, Sega Mega Drive, MSX, MSX2, Nintendo64, NeoGeo, NES, NGPC, PCE, PS1, PSP, Sega Master System, SNES, Wonderswan и даже ZX Spectrum. Почти для каждой платформы на MicroSD есть как минимум несколько десятков ромов, многие ромы переведены на русский (в основном пиратские переводы по заказу NewGame) и у каждого рома есть свой собственный скриншот помимо обложки. Вот это прям плюс по сравнению с GameStick'ом.
Тестирование начнем с 8-биток - NES и SMS. В них консоль показывает себя просто прекрасно - игры работают в нативные 60 FPS, без инпут лага и заикающегося звука. Здесь результат выше всяких похвал, но оно и немудрено для процессора уровня A527 :)
В 16-битках консоль проявляет себя также хорошо. В Battle Toads или, например, Super Mario World 2 можно поиграть с огромным удовольствием.
А вот N64 даётся уже с трудом, из-за сложности эмуляции этой системы. Есть заметные подлагивания - как звука, так и видео, особенно если играть во что-то тяжелое типа Carmageddon64.
Зато игры с PS1 и Dreamcast здесь тянут вообще без каких либо проблем. Даже тяжелая Quake 2 идёт без лагов, не говоря уже о Colin McRae Rally. С Dreamcast'а же здесь отлично идет Tokyo Xtreme Racer, ремейк которой пару лет назад вышел на ПК.
Но что самое крутое - консоль тянет даже игры с PSP, причем с апскейлом до 720p и без необходимости включать пропускать эффектов. Многие игры идут без проблем из коробки, хотя у игр со стримингом (например GTA VCS) иногда бывают небольшие микрофризы.
Ну и конечно консоль подходит для нативных Android-игр. В тяжелые игры типа CoD: Mobile или PUBG здесь поиграть вряд-ли получится, однако провести часик-другой за сессией в Minecraft, Terraria или порты GTA можно без каких либо проблем. Здесь консоль показывает себя замечательно.
Заключение
Вот такую интересную консоль на российский рынок выпустила компания DVTech. Конечно у нее хватает недостатков - как по части софта, так и по части железа, однако подытоживая можно сделать вывод что устройство вполне неплохо сбалансировано и своих денег стоит. А что думаете вы?
Ну а я надеюсь, что вам было интересно. Подписывайтесь на блог, чтобы не пропускать новые статьи каждую неделю! А если вам интересна тематика ремонта, моддинга и программирования для гаджетов прошлых лет — подписывайтесь на мой Telegram-канал «Клуб фанатов балдежа», куда я выкладываю бэкстейджи статей, ссылки на новые статьи и видео, а также иногда выкладываю полезные посты и щитпостю. А ролики (не всегда дублирующие статьи) можно найти на моём YouTube канале.
А если вы хотите что-нибудь подарить из железа и увидеть о нём статью — пишите мне в Telegram. Меня очень интересуют самые разные гаджеты: начиная от игровых консолей и любых связанных с геймингом устройств, телефонов, смартфонов, КПК, заканчивая ретро-компьютерами и ноутбуками. Кто знает, может героем следующейподобной статьи окажется ноутбук из 90-х? :)
После обзоров устройства не продаются, а остаются в моей коллекции. Когда-нибудь я хочу сделать музей, где к каждому устройству можно будет приложить QR и почитать мою статью. Кто знает, вдруг на следующей неделе я также подробно расскажу про девайс из вашей юности? :)
В 8-бит коллекцию достался очень душевный карик, оригинальный и кажется полный комплект для приставки NES (Famicom)!
мануал
Ваша цель — пройти путь от «Чемпиона Города» до абсолютного «Мирового Чемпиона». А мелодии в этой игре запоминаются раз и навсегда. Это такой расслабляющий джаз-фанк, который идеально подходит под стук шаров. Кто играл, тот никогда не спутает эту музыку ни с какой другой.
постер
плата-микросхема Side Pocket
Side Pocket скриншот
Игра, в которую можно было играть как со сверстниками, так и с отцом или дедушкой. Side Pocket как мостик между поколениями 🙌.
Игровые автоматы (все же правильнее их называть — аркадные автоматы, чтобы отличать от автоматов для игры на деньги в казино) — это специальные устройства, предназначенные для запуска видеоигр. Такие устройства были чрезвычайно популярны в 1970-х — 1990-х годах. Но, с массовым появлением домашних игровых консолей и развитием игр для персональных компьютеров, их популярность сошла на нет. Однако, в последнее время наблюдается рост интереса к таким автоматам. Многие любители восстанавливают старые аппараты, а также собирают реплики наиболее популярных игр тех лет. Кстати, интересный факт: самая популярная и прибыльная игра для аркадного автомата — PacMan.
Обычно, игровой автомат представляет собой вертикальный корпус высотой 1,5 — 2 метра с экраном. Перед экраном располагаются органы управления — джойстики и кнопки. Предполагается, что игрок будет стоять за автоматом или сидеть на высоком стуле. В обязательном порядке автомат комплектуется монето- или купюроприемником, чтобы приносить прибыль своему владельцу.
❯ Подбор деталей
Списанный терминал
Для сборки своего автомата я приобрел примерно за 1000 р. списанный терминал. Терминал включает в себя два сенсорных дисплея (один для оператора и один для клиента), фирменный системный блок DELL на процессоре core i3 четвертого поколения, источник бесперебойного питания, термопринтер EPSON для печати талонов и кучу блоков питания с проводами для подключения всего этого добра. Нижняя часть терминала, станина, имеет мощный каркас, сваренный из металлических труб квадратного сечения. Сверху к этому каркасу крепится пластиковая конструкция с дисплеями. По сути, это уже и есть готовый игровой автомат. К нему нужно лишь добавить органы управления, накатить какой-нибудь эмулятор и готово.
Терминал, вид сбоку
Однако, эта конструкция меня не устроила. Если к металлической части вопросов нет — все сделано мощно, добротно и достаточно аккуратно, то к пластику есть претензии. Во-первых, он очень хлипкий. Вся верхняя часть ходит ходуном. Во вторых, внешний вид пластика за время эксплуатации существенно ухудшился. И в третьих, в некоторых местах пластиковые детали и вовсе оказались сломаны. Ну и в четвертых, пластик для игрового автомата — это как-то не аутентично.
В итоге, было решено следующее: нижнюю, металлическую часть оставить и просто подкрасить краской поврежденные места чтобы скрыть следы эксплуатации, а вот верхнюю изготовить заново, из ДСП панелей. При этом, можно сделать форму и внешний вид аппарата более похожими на реальные аппараты тех лет.
С этой же целью, для большей аутентичности, было решено вместо жидкокристаллического дисплея применить электронно-лучевую трубку. Для чего дополнительно были приобретены два телевизора больших диагоналей. Один телевизор подревнее — с выпуклым экраном, фирмы SHIVAKI. Второй — поновее, уже с плоским кинескопом, фирмы SAMSUNG. Оба телевизора были доведены до рабочего состояния. У первого была проблема с кадровой разверткой — из-за микротрещины вокруг вывода микросхемы, последняя периодически пропадала. Второй же оказалось достаточным просто очистить от векового слоя пыли и грязи.
ТВ «Самсунг»
ТВ «Шиваки»
Тот, что подревнее, с выпуклым экраном, конечно, больше подходит. Но, с другой стороны, кинескоп у него уже хорошенько так подсел и качество картинки оставляет желать лучшего. Поэтому предварительно было решено использовать менее аутентичный телевизор с плоским кинескопом.
❯ Выбор платформы
Какую же игровую платформу реализовать на этом автомате? В этом вопросе у меня не было никаких колебаний, конечно же — Dendy (она же NES), самая популярная приставка моего детства!
Сейчас все маркетплейсы завалены разного качества копиями этой приставки, причем, уже с зашитыми играми. Например, мной был приобретен такой образец.
Современный клон приставки NES и его внутренности
У него, помимо собственного дисплея, есть выходы RCA для вывода изображения и звука на телевизор. В принципе, ничего не мешает запитать устройство от сетевого источника питания, подпаяться проводами к кнопкам и использовать этот девайс в качестве основы для автомата.
Качество картинки с клона на ТВ «Самсунг»
Качество картинки с клона на ТВ «Шиваки» (телевизор почему-то не распознал систему цветности NTSC приставки)
Но, покупать готовую приставку и просто засовывать ее в свой корпус — не наш метод. У меня давно лежала без дела китайская отладочная плата на ПЛИС Cyclone IV, почему бы не собрать на ней свой собственный клон приставки, причем, такой какой нужно именно мне? На плате, помимо самой ПЛИС имеется память SDRAM на 32 Мб, небольшая EEPROM на 4 кБита, часы DS1302Z с батарейкой, разъем VGA, разъем под SD карту, разъемы для различной периферии, светодиодный семисегментный индикатор, кнопки и зуммер. Питается плата от источника питания 5В. На ПЛИС можно реализовать внутреннюю логику приставки, а имеющуюся периферию использовать для ввода/вывода.
Отладочная плата FPGA Cyclone IV
❯ NES на ПЛИС
Схема игровой приставки довольно проста. Она состоит из центрального процессора PR2A03-7- на основе широкоизвестного ядра MOS6502, видеопроцессора RP2C02-7-, статической памяти процессора 2 кБ, видеопамяти 2 кБ и всякой мелкой логики. На картридже приставки располагаются 32 кБ ПЗУ процессора и 8 кБ ПЗУ видеопроцессора. Это самая минимальная конфигурация системы. Есть, конечно, и более сложные картриджи, с бОльшим количеством памяти и специальными логическими схемами — мапперами, которые хитрым образом подключают банки дополнительной памяти вместо имеющейся, но их пока не будем использовать. Длинные игры со сложным геймплеем для игрового автомата не очень подходят стилистически.
Инженер Андрей Корж вместе с другими энтузиастами проделал огромную работу и выложил в своем репозитории полные потактовые клоны процессора PR2A03-7- и видеопроцессора RP2C02-7-. Если, например, взять такой модуль процессора, модуль видеопроцессора, добавить к ним модули ОЗУ, ПЗУ, соединить их между собой согласно схемы приставки, прописать логику, то, по идее, на ПЛИС должна полностью собраться приставка NES. Вроде бы, такая задумка не выглядит слишком сложной.
Вывод изображения из и видеопроцессора RP2C02-7- осуществляется в виде трех сигналов R, G, B и сигнала синхронизации. На отладочной плате имеется разъем VGA, через который также выходят сигналы R, G, B и синхронизация. Ничего мудрить не нужно, достаточно спаять кабель-переходник по следующей схеме:
Схема переходника с разъема VGA на SCART
В качестве заготовки кабеля я использовал старый VGA кабель от монитора. Один 15-контактный разъем я отрезал и припаял вместо него разъем SCART. Сигналы R, G, B в разъеме SCART идентичны по уровню и импедансу интерфейсу VGA, их можно подключать напрямую. Аналоговый сигнал на отладочной плате формируется простейшим резистивным ЦАП. А вот сигналы синхронизации требуют немного внимания. Прежде всего, в телевизоре не используются отдельно сигналы кадровой VS и строчной HS синхронизации, а используется их синхросмесь. Я ее подключил на контакт HS. Также, для переключения разъема SCART в режим RGB необходимо подать напряжение около 1 В на контакт 16. Его я взял с выхода VS, на который ПЛИС должна выводить постоянно лог. 1. В цепях HS и VS на отладочной плате стоят резисторы по 22 Ом. Их необходимо увеличить до 100 Ом (резистор в цепи VS) и 180 Ом (в цепи HS) соответственно. Эти резисторы можно просто добавить в кабель-переходник, если не хочется портить отладочную плату. Также по кабелю идут сигналы звука левого и правого каналов. На разъеме VGA они подключены к неиспользуемым контактам 12 и 15.
Резистивный ЦАП для вывода звука
Звук выводится аналогичным способом, с помощью простейших резистивных ЦАП, аналогичных тем, через которые формируются сигналы RGB. Их два — 6-разрядный (выход суммы каналов SQA + SQB + RND + TRIA) и 7-разрядный (выход канала дельта-модуляции). Эти резисторы пришлось смонтировать отдельно на небольшой макетной плате и подключить к разъему на плате с ПЛИС. С резистивного ЦАП звук нужно будет подать на вход Audio IN телевизора.
И действительно, все получилось! После нахождения и исправления некоторых ошибок, приставка заработала. Вначале, для отладки я записал в ПЗУ прошивку генератора тестового сигнала, так как этот образ требует всего по 8 кБ ПЗУ процессора и ПЗУ видеопроцессора.
Данные для ПЗУ можно взять из файла *.nes. Структура этого файла довольно проста: вначале идет заголовок 16 байт, потом данные ПЗУ процессора (16 или 32 кБ) и в конце данные ПЗУ видеопроцессора (8 кБ). Файл можно легко разобрать с помощью любого шестнадцатиричного редактора, например WinHEX.
Тестовое изображение на дисплее отладочной платы
К сожалению, имеющихся на борту ПЛИС Cyclone IV ячеек памяти недостаточно для организации даже минимальной рабочей конфигурации приставки 16 кБ/8 кБ. Их хватило только для генератора тестового сигнала. Поэтому было решено реализовать следующую схему: для хранения ПЗУ процессора использовать имеющуюся на плате память SDRAM, ПЗУ видеопроцессора организовать в виде SRAM (поскольку видеопроцессор обращается к своей памяти намного чаще), а в SDRAM загружать данные с SD карты. Вроде бы, такая схема выглядит как рабочий вариант. Это уже достаточно сложная логика для аппаратной реализации, поэтому я подключил к системе дополнительное процессорное ядро (назовем его APU).
❯ APU
(Примечание, чтобы не было путаницы: в терминологии приставки Dendy обычно термином APU называют микросхему PR2A03-7-, центральный процессор 6502 вместе со звуковым сопроцессором).
Чтобы не изобретать велосипед, я взял уже имеющееся в проекте ядро процессора 6502. А почему бы и нет? Писать на ассемблере для процессора полувековой давности — весьма увлекательное занятие. Итак: берем процессорное ядро, к нему обязательно необходимо добавить ПЗУ, в котором будет лежать его исполняемый код. ПЗУ процессора 6502 должно располагаться в самом конце его адресного пространства. Например, в последних 2 кБ. Также потребуется ОЗУ, пусть тоже будет 2 кБ, сильно много не нужно. В нем процессор организует стек и хранит всякие переменные. В диапазон адресного пространства 8…16 кБ будем подключать память SRAM, в которую будут заливаться данные ПЗУ видеопроцессора. Да, еще нужно будет организовать несколько регистров ввода-вывода, чтобы читать данные с SD-карты и управлять как самой приставкой (отбирать шину и держать в сбросе приставку на время пересылки данных), так и некоторыми другими устройствами на отладочной плате. Например, можно подключить светодиодный индикатор и спикер.
И только я собрался писать на ассемблере 6502 код для чтения SD карты, как мне весьма удачно попалась на глаза статья, где упоминается уже готовый модуль на Verilog для чтения SD карт. Этот модуль чрезвычайно упрощает задачу. С его помощью можно даже отказаться и от дополнительного процессорного ядра и реализовать всю логику исключительно аппаратно. Но, поскольку ядро уже было добавлено, а на ассемблере писать все еще хотелось, было решено его оставить. В этом случае тогда логика работы такая: Файл образа читается из SD карты в память SDRAM. Затем, вспомогательный процессор находит в образе начало игры, считывает заголовок, ищет и загружает в SRAM данные ПЗУ видеопроцессора. Затем устанавливает указатель на начало ПЗУ процессора в памяти SDRAM и передает управление приставке NES. В один файл образа можно напихать большое количество различных игр и по нажатию кнопок управления вспомогательный процессор легко сможет вместо одной игры загружать другую.
Регистры APU
inreg0 — SD card reader status
[7 - 4] [3 - 2] [1 - 0]
card stat (4 bit) card type (2 bit) FS type (2 bit)
На этот регистр выводится состояние модуля чтения SD карты
inreg1 - buttons & sdram data read
[7 - 6] [5 - 4] [3] [2] [1] [0]
buttons +/- (2 bit) not used(2 bit) coin_inp data valid read cmpl file found
Сюда скоммутированы кнопки + и – для переключения игр, сигнал с монетоприемника, сигнал data valid (единица говорит о том, что в буфере лежит байт, прочитанный из SDRAM), и сигналы read_cmpl и file_found с модуля чтения SD карты. Когда контроллер обнаружит файл, он установит бит file_found, когда весь файл будет прочитан в SDRAM установится бит read_cmpl. У примененного модуля чтения SD карты нет такого сигнала, поэтому для его генерации пришлось применить отдельный таймер-счетчик. Если долгое время нет импульсов записи данных с модуля, счетчик досчитывает до максимального значения и формирует сигнал о готовности данных.
inreg2 — address read
[7 - 0]
address byte read (8 bit)
Через этот регистр можно прочитать текущий 24-разрядный адрес на шине записи данных SDRAM. Последний адрес на этой шине после окончания чтения, очевидно, будет равен размеру прочитанного файла. Этот адрес нужен вспомогательному процессору чтобы правильно ориентироваться среди образов игр. С помощью управляющих бит 6 и 7 регистра outreg0 можно выбирать, какая именно часть адреса (младшая, средняя или старшая) будет отображена в этот регистр.
inreg3 — data read
[7 - 0]
data byte read (8 bit)
В этот регистр выводятся данные при чтении из SDRAM.
outreg0 — control register
[7 - 6] [5] [4] [3] [2] [1] [0]
sel addr byte (2 bit) block scroll read NES ext buzzer
rom type ack reset LED enable
Управляющий регистр. Биты 6 и 7 выбирают нужную часть 24-разрядного адреса для чтения. Бит 5 (block rom) блокирует линию адреса 14 процессора NES для правильного чтения ПЗУ в случае если у игры используется только одна 16 кБ страница. Бит 4 (scroll type) устанавливает тип скроллинга. Этот бит управляет линией А10 ОЗУ видеопроцессора, коммутируя его на 10-ю или 11-ю линию шины адреса видеопроцессора. Таким образом обеспечивается вертикальный или горизонтальный скроллинг страниц видеопамяти. В приставке этой линией управляет картридж. В заголовке образа игры за этот бит отвечает нулевой бит 6-го байта. Бит 3 регистра (read ack) нужно устанавливать для запроса чтения байта из SDRAM. Бит 2 (NES reset) вводит NES в состояние сброса, при этом шины SRAM и SDRAM коммутируются на вспомогательный процессор для загрузки образов. Через бит 1 можно помигать светодиодиком на плате. Этот же бит блокирует кнопки на клавиатуре после истечения времени счетчика монетоприемника. Бит 0 управляет буззером. Он кратковременно пищит каждый раз при смене игры и издает длительный писк, если при загрузке образа возникли проблемы.
Эти три байта задают 24-разрядный адрес SDRAM, из которого вспомогательный процессор хочет прочитать байт.
❯ Прошивка APU
Прошивка написана на ассемблере процессора 6502 и после компиляции и преобразовании в формат *.mif попадает в образ для прошивки модуля ПЗУ в проекте на Verilog. Программный код состоит из нескольких сегментов. Поскольку, используется универсальный компилятор CC65, который в общем случае не знает, под какую систему компилируется код, необходимо предварительно настроить файл конфигурации. В файле конфигурации сегментам прописываются их реальные адреса и размер в системе. Например, в нашей самодельной системе сегмент с переменными «DATA» должен располагаться в начале адресного пространства процессора (первые 2 кБ). Сегмент с кодом — в конце адресного пространства (последние 2 кБ). Кроме этих основных сегментов используются еще следующие:
Сегмент «EROPAGE». Процессор 6502 имеет команды быстрого доступа к первым 256 байтам адресного пространства (старший байт адреса равен нулю), поэтому эту область выделяют отдельно для хранени специфических переменных. В частности, индексных переменных для косвенной адресации, которые хранить в ином месте нельзя.
Сегмент «VRAM». Размер 8 кБ. Этот сегмент отображается на статическое ОЗУ, которое, в свою очередь работает ПЗУ видеоконтроллера приставки. В эту область записываются видеоданные из образа изгры.
Сегмент «IO». Сюда отображаютс регистры ввода-вывода APU. 12 регистров на запись, 4 регистра для чтения. Запись и чтение разделены физически для упрощения логики ПЛИС.
Сегмент «VECTORS». В нем прописаны адреса трех векторов прерываний - по сбросу, по NMI и по IRQ. При возникновении этих событий процессор ищет эти адреса в этом сегменте и осуществляет переход.
В сегменте кода сначала идут обработчики векторов прерываний. По прерыванию IRQ (один раз в секунду) происходит обработка логики монетоприемника. Уменьшается счетчик времени и когда он доходит до нуля на индикатор выводится заставка и блокируются органы управления. За 10 сек. до окончания времени подается звуковой сигнал. Перед обработкой прерывания дополнительно сохраняются в стек аккумулятор и регистр Х, так как они используются в обработчике. Прерывание может возникнуть в любой момент, если в это время в регистрах лежали какие-то данные, обработчик их может повредить. По завершению прерывания регистры восстанавливаются.
Обработчик прерывания NMI - просто заглушка. Оно не используются. В обработчике прерывания по сбросу просто осуществляется переход на исполняемый код.
В сегменте кода также расположен знакогенератор семисегментного индикатора. Это фиксированные данные, поэтому помещены в ПЗУ.
Далее идет исполняемый код. Он весьма большого объема, несколько сотен строк. Назначение отдельных блоков поясняют комментарии.
NES выдает сигнал в телевизионном стандарте PAL 15,625 кГц/50 Гц или NTSC 15,734 кГц/60 Гц. Однако у многих возникает желание подключить вместо телевизора монитор VGA. Хотя бы по той причине, что найти монитор VGA сейчас намного проще чем телевизор в хорошем состоянии, имеющий входы RGB. И тут самое простое решение — просто удвоить тактовую частоту видеопроцессора. Тогда он начнет выдавать видеосигнал с частотой 31,25 кГц/100 Гц. Строчная частота, в этом случае, полностью соответствует стандарту VGA, с ней проблем нет. А вот кадровую — 100 Гц — принимают не все мониторы. Большинство ширпотребных офисных ЖК принимают частоту кадров в диапазоне 50...75 Гц (надо смотреть спецификацию на конкретный монитор). Однако у меня нашелся старый кинескопный монитор фирмы HP, который спокойно переваривал 100 Гц. Да и, насколько я помню, многие кинескопные мониторы на закате их эры, 100 Гц принимали без проблем.
Подключение к NES монитора VGA
Далее возникают две проблемы: первая — видеопроцессор, работающий на удвоенной частоте, начинает с удвоенной частотой генерировать прерывание NMI. Это прерывание генерируется в начале кадрового гасящего импульса и в это время процессору нужно обновить картинку на экране. Также, во многих играх к этому прерыванию привязана скорость обновления игровой ситуации. Проще говоря, персонажи и события начинают двигаться в два раза быстрее. Чтобы это обойти, можно, например, пропускать каждое второе прерывание. Тогда скорость игры останется на прежнем уровне.
Вторая проблема — помимо того, что импульсы NMI идут в 2 раза чаще, они становятся в два раза короче. А за это время процессор должен успеть обновить игровую ситуацию на экране. Если процессор останется работать на прежней частоте, он не успеет обновить картинку и на экране появятся артефакты. Значит, также нужно еще увеличить в два раза тактовую частоту процессора. И, в принципе, после этого все более-менее работает, за исключением того, что сигналы звукового сопровождения увеличивают свою тональность на октаву (в два раза). Также в некоторых играх могут возникать артефакты в случае если картинка выводится путем переключения экранов. Если мы пропускаем каждый второй запрос на прерывание, то один экран обновляется нормально, а второй стоит на месте. В общем, изображение как-то более-менее выводится, игра играется, но тут нужно еще глубоко разбираться в таймингах работы CPU и PPU и подгонять их под стандарт. Это задачка на будущее.
Игра POPEYE на мониторе VGA
Другим путем решения этой проблемы (более сложным) является организация буфера на одну строку, который подключается уже к выходу видеопроцессора. В этом случае сама приставка работает в штатном режиме. Видеопроцессор записывает в буфер строку медленно, а схема удвоения считывает эту строку в 2 раза быстрее и два раза подряд.
❯ Подключение джойстиков
В качестве заготовки для джойстиков я приобрел пульт управления видеокамерами от системы видеонаблюдения. На этом пульте имеется, собственно, джойстик, который я предполагал использовать для управления персонажем и большое количество кнопок.
Пульт
Кнопки оказались механические, весьма приличного качества и с приятным тактильным эффектом. Поскольку логика использования аркадного автомата предполагает, в основном, только одного игрока, я решил сделать только один полноценный пульт с джойстиком. А пульт второго игрока сделать вспомогательным, без джойстика, только на кнопках.
Плата с кнопками
Джойстик собран на переменных резисторах (потенциометрах), для преобразования аналогового сигнала с потенциометра собрана простейшая схема.
Схема подключения кнопок и джойстика
В среднем положении движка потенциометра оба транзистора открыты, на выходах А и Б, соответственно, лог. 0 и лог. 1. Если перемещать рукоятку вверх, то верхний транзистор закроется, а нижний останется открытым. На обоих выходах будет лог. 0. При движении вниз, соответственно на выходах будет лог. 1. Преобразовывать эти логические комбинации в нажатие кнопок будет логика внутри ПЛИС. Номиналы резисторов в схеме подобраны так, чтобы при работе совместно с логическими порогами ПЛИС, логика срабатывала примерно в середине движения рукоятки джойстика в том или ином направлении.
Остальные кнопки подключаются напрямую к ПЛИС с помощью простых подтягивающих резисторов.
❯ Доработка телевизоров
Не у всех телевизоров может оказаться в наличии разъем SCART. Также, не все разъемы SCART поддерживают входы RGB. Поэтому может оказаться необходимым доработка телевизоров для подключения по RGB. Так оказалось и у меня. Маленький телевизор фирмы PHILIPS, который я использовал для отладки, имел разъем SCART, а у больших телевизоров, которые я предполагал использовать в самом автомате, разъема SCART не оказалось.
Разобранный телевизор
Однако, у телевизора SAMSUNG на корпусе имелись заглушки под этот разъем, значит в некоторых исполнениях этой модели этот разъем присутствовал. Я предполагал, что, просто впаяв недостающие детали в плату телевизора согласно схемы, я таки получу желаемое. Но получилось не все так гладко. Во первых, сам телевизор оказался подделкой под SAMSUNG. Внутри все было самое дешевое и самое китайское. Ни обозначение самой модели телевизора, ни обозначение шасси (платы) в интернете не гуглилось. Соответственно, уже найти схему оказалось проблемой. После достаточно продолжительного поиска была найдена похожая схема. При поиске очень сильно помогает перечисление основных компонентов — типа процессора, типа микросхем кадровой развертки, усилителя звука и т.д. Например, таким образом:
TV SUPRA шасси CY-PH2529TOP-EW. Состав: проц NT11136PG305EG, тюнер CWC-5053-V8. TDKS BSC25-N0608. кадровая LA78141, УНЧ AN17821A, HOT D1557,БП C4460.
В среде ремонтников хорошим тоном является полное перечисление основных компонентов аппарата перед описанием проблемы.
И на найденной схеме действительно оказался разъем SCART как опциональный элемент. Однако, впаяв все недостающие детали, изображения со входа RGB так и не появилось. Оказалось, необходимо еще дополнительно в сервисном меню телевизора переключить тип видео входа (он может быть композитным AV, компонентным YPrPb, компонентным RGB+Sync). Далее начались пляски с бубном по входу в сервисный режим (плата ведь ноунейм, китайская, какая там секретная комбинация — неизвестно). Это все еще осложнялось тем, что телевизор был куплен без родного пульта, а универсальный пульт мог поддерживать не все команды. Однако, тем не менее, в сервисный режим попасть удалось. Но в нем, кроме настроек синхронизации, геометрии изображения и баланса белого, никаких других настроек, связанных со входом SCART не оказалось. Тогда я решил пойти в лоб и тупо подать сигналы RGB непосредственно на выходные видеоусилители. И изображение, наконец, появилось.
К подаче сигнала на видеоусилители следует прибегать только в крайних случаях. Во первых, схемотехника этих каскадов может кардинально отличаться от аппарата к аппарату. В моем случае повезло — уровень сигнала с ПЛИС (0...3.3В) замечательно подошел и его не пришлось инвертировать. Во вторых, дорогостоящую ПЛИС отделяет от высоковольтных цепей кинескопа только один резистор и один транзистор. На эти сигналы нужно обязательно напаять хотя бы ограничительные стабилитроны. В третьих, теряются регулировки яркости, контрастности и насыщенности. Но, в общем и целом, это все несущественные проблемы.
Есть также еще одна проблема — при включении питания телевизор находится в режиме показа телевизионных каналов. Для переключения его в режим AV нужно кратковременно нажать на соответствующую кнопку на передней панели. Подать сигнал можно, например, с помощью каскада на биполярном транзисторе. Резистор в цепи коллектора должен соответствовать тому сопротивлению, которое стоит у интересующей нас кнопки. В моем случае это 2,2 кОм.
Картинка с этого китайского телевизора мне как-то не очень понравилась. Вроде бы яркость нормальная, и цвета насыщенные, но что-то было в ней не то, не так как в детстве. Да еще и само изображение было кривое и немного подергивалось. Подделка — что с нее взять. А это значит, нужно дальше лезть в схему и искать высохшие или потерявшие емкость конденсаторы или какие то иные неисправности.
Поэтому я решил попробовать аналогичным образом подключить более древний телек фирмы SHIVAKI.
С этим телевизором, как ни странно, все оказалось намного проще. У него уже были разведены дорожки на плате под разъем SCART. И даже не пришлось допаивать дополнительные детали, они все уже были установлены на плате. И картинка на этом телевизоре мне понравилась больше, даже несмотря на изрядно подсевший кинескоп. В конечном итоге, я решил использовать его. А кинескоп заменить уже потом, при случае.
Единственный момент — входы RGB почему то работают только когда телевизор находится в дежурном режиме. В этом режиме вывод звука на динамики блокируется процессором. Пришлось подпаяться проводами и принудительно включить звук.
❯ Изготовление конструкции
Как я писал ранее, верхнюю часть автомата было решено изготовить заново, используя панели ДСП. Для моделирования корпуса я воспользовался программой Fusion 360 фирмы Autodesk. Эта фирма ранее выпускала очень популярный в нашей стране продукт AutoCAD. К чести этой фирмы, она позволяет бесплатно использовать свой продукт (Fusion 360) студентами и для хоббийного (некоммерческого) применения.
3D модель верхней части автомата
Кроме боковых панелей сложной формы и панели с вырезом под кинескоп, все остальные детали сделаны простой прямоугольной формы, что позволяет их выпилить без применения станков с ЧПУ. В качестве материала используется стандартный мебельный щит толщиной 18мм черного цвета без выраженной фактуры.
Пример раскроя деревянных элементов на стандартном мебельном щите
Передняя панель с органами управления сделана из 2мм стали, вырезана на лазере и покрыта краской (молотковая эмаль, цвет антрацит). Для облегчения сгиба передней панели пришлось слегка надрезать линии сгиба болгаркой.
Органы управления (кнопки) предполагается крепить на резьбовых втулках. На макете отверстия под них не закладывались, их необходимо просверлить по месту.
Крепление органов управления
С наружной стороны втулки закреплены винтами с потайными головками. Отладочная плата также крепится на втулках. Она располагается таким образом, чтобы в отверстие был виден светодиодный индикатор. Индикатор заклеен светофильтром красного цвета
Панель управления в собранном виде
Нарезанные детали
Задняя часть с вентиляционными отверстиями изготавливается из ДВП толщиной 4 мм.
Деревянные панели собираются вместе обычными мебельными уголками с помощью мебельных шурупов. Задняя стенка откидывается на длинной мебельной петле. В прорези в верхней части должно вставляться стекло. На стекло будет наклеена полупрозрачная пленка с привлекающим оформлением. Изнутри стекло будет подсвечиваться светодиодной лентой.
Подсветка оформления
С геометрией выреза под кинескоп я, конечно же, не угадал. Кинескоп имеет очень сложную форму, из-за чего его трудно точно измерить. Пришлось немного подпиливать рамку электролобзиком.
Крепление кинескопа
Кинескоп крепится с помощью родных фланцев, снятых с корпуса телевизора.
На панели под стеклом крепятся динамики телевизора. Для беспрепятственного прохода звука в панели сделаны прорези. В полусобранном состоянии:
В процессе сборки
Монтаж платы телевизора:
Монтаж платы телевизора
❯ Подключение монетоприемника
Какой же аркадный автомат и без монетоприемника?! Пошарившись на маркетплейсах я нашел монетоприемник за весьма доступный прайс. Это модель BL-616. Аналогичного вида монетприемники встречаются в продаже и под иными обозначениями.
Монетоприемник подключается всего четырьмя проводами. По двум из них подается питание 12 В. Два остальных — выходы типа «открытый коллектор». К одному из них подключается механический счетчик монет (для контроля), на втором появляются короткие импульсы при приеме монет. Перед использованием монетоприемник необходимо настроить. Во-первых, необходимо задать виды принимаемых монет, во вторых — прогнать через него по 20 монет каждого номинала. Устройство распознает монету по ее весу. При обучении устройство измеряет вес и рассчитывает среднее его значение для каждого номинала.
Общий порядок настройки следующий:
Включить питание, установить переключатель 1 в позицию «NO» (normal open — нормально разомкнутый выход), переключателем 2 — выбрать нужную скорость формирования импульсов (fast, medium, slow);
Нажать одновременно кнопки «ADD» и «MINUS», отпустить, на индикаторе появится «A»;
Нажать и отпустить кнопку «SET», появится «E»;
Кнопками «ADD», «MINUS» установить кол-во различных типов монет для приема (1...6);
Нажать кнопку «SET»;
На дисплее появилось «H1» — количество экземпляров монеты типа 1 для калибровки монетоприемника;
Кнопками «ADD», «MINUS» установить значение H для первого типа монет;
Нажать кнопку «SET»;
На дисплее появилось «P1» — количество выдаваемых импульсов при успешном приеме монеты типа 1 (1...50);
Примечание: количество выдаваемых импульсов необходимо сделать пропорциональным стоимости монеты. Например: монета 1 р должна выдавать 1 импульс, монета 5 р должна выдавать 5 импульсов, монета 10 р — 10 импульсов. В этом случае автомат будет добавлять игровое время пропорционально стоимости монеты вне зависимости от порядка ввода монет.
Кнопками «ADD», «MINUS» установить значение количества выдаваемых импульсов для первого типа монеты;
Нажать кнопку «SET»;
На дисплее появилось «F1» — задается точность опознания монеты типа 1 (1...30), можно ввести 10;
Кнопками «ADD», «MINUS» установить значение F для первого типа монеты;
Нажать кнопку «SET»;
Повторить последние 9 пунктов для других типов монет.
На дисплее появится «0»;
Калибровка монетоприемника:
Нажать два раза кнопку «SET»;
На дисплее появилось «A1» — опускаем в монетоприемник монеты типа 1 в количестве H1 для калибровки;
По загрузке последней монеты раздастся звуковой сигнал и на дисплее появится «A2»;
Опускаем в монетоприемник монеты типа 2 в количестве H2 для калибровки;
По загрузке последней монеты раздастся звуковой сигнал и на дисплее появится «A3»;
Опускаем в монетоприемник монеты типа 3 в количестве H3 для калибровки;
После ввода всех монет на дисплее появится «0».
Монетоприемник готов к приему монет. Можем опускать различные монеты, на дисплее будет высвечиваться количество импульсов.
Смонтированный монетоприемник
При получении сигнала с монетоприемника APU добавляет игровое время, например по 1 мин на импульс. Время индицируется на светодиодном индикаторе. По истечении этого времени органы управления игрой блокируются (кроме кнопки START, чтобы игрок смог поставить игру на паузу и докинуть еще монет). Таймер тактируется от отдельного делителя, формирующего сигнал с периодичностью 1 с. Этот сигнал заведен на прерывание IRQ процессора APU. Таким образом, раз в секунду процессор отвлекается от своей работы и обрабатывает логику монетоприемника.
❯ Питание
Телевизор питается от 230 В сам. Отладочная плата питается через USB от 5-вольтового преобразователя. Преобразователь, светодиодная лента и монетоприемник питаются напряжением 12В от отдельного адаптера. Адаптер и телевизор соединены вместе и одновременно включаются тумблером, расположенном сзади устройства. Все разводка собрана в коммутационной коробке, в которой также дополнительно смонтированы защитные предохранители. В принципе, можно все необходимые напряжения взять сразу из телевизора, если внимательно изучить его схему. Но, в этом случае не получится быстро заменить один телевизор на другой без переделки схемы, а я пока таки надеюсь найти экземпляр с более живым кинескопом.
Монтаж коммутационной коробки и адаптера питания
Дополнительно в коммутационной коробке можно будет смонтировать реле, автоматически отключающее телевизор после некоторого времени бездействия для экономии ресурса ЭЛТ. Но это уже идея на будущее.
Аппарат в сборе
Вот такой вот получился аппарат. Небольшое видео про автомат можно посмотреть на YouTube. Вопросы и замечания прошу писать в комментариях.
Из нового: перестроена зона с консолями. Теперь пространства стало больше, консоли теперь равномерно распределены, а не забиты в углу. Жаль убрали видеоспорт, ну хоть турнир оставили.
Появился gamecube с установленным чипом picoboot и прошивкой swiss, правда батарейки в геймпаде сели, не поиграть. Также, наконец установили эмулятор привода gdemu в Dreamcast. Появилась стойка с картриджами на super famicom. @Yandex, я, кстати, несколько месяцев назад предлагал вашим сотрудникам подарить картридж Mario Kart для snes и диски на PS1, обещали написать и тишина...
В центре зала ещё такая обновка, аркадник. Принцип игры не очень понял, спешили. Выглядит новым или хорошо отмытым.
В общем радует, что развивают, улучшают и всё ещё пускают бесплатно)