Давным-давно на Хабре уже выпускалась статья «Игровой автомат изнутри и снаружи», рассказывавшая нам о том, как устроены представители последнего слова техники для денежного выигрыша. И, разумеется, мне захотелось продолжить эту тему, рассказав о том, как устроены и работают более старые подобные девайсы, куда более близкие российским пользователям.
Итак, в сегодняшней статье поговорим об игровых автоматах эпохи заката игорного бизнеса в России. Узнаем, на чём они работали, как запустить такой у себя дома и поиграть в них без риска спустить целое состояние. Традиционно будет много интересного.
❯ Суть такова
Те, кто родился в России не позже середины девяностых, наверняка застали тогда ещё легально работавшие казино с игровыми автоматами. Даже те, мимо кого эта эпоха благополучно прошла, с лёгкостью представят себе тогдашний автомат — большой ящик с кнопками, ЭЛТ-монитором и купюроприёмником. Вставляешь деньги, жмякаешь кнопки и с надеждой смотришь на результат. Всё просто, насколько это возможно. Все мы помним истории про то, как кто-то выиграл там себе целое состояние или же наоборот слил всё до копейки. В конце нулевых с приходом запрета игорного бизнеса они навсегда ушли в историю, оказавшись распиханными по нескольким специальным экономическим зонам. Впрочем, до сих пор повсеместно встречаются их наследники в виде автоматов с игрушками или даже «более ценными» вещами. В надежде таки сбить манипулятором китайскую копию айфона или вытащить плюшевого зверя из ящика можно спустить нисколько не меньшие суммы.
Но сейчас всё же не об этом. С практически повсеместным запретом на коммерческое использование таких устройств эти автоматы, а также платы и комплектующие от них стало реально раздобыть за совершенно смешную цену. А раз так, будем разбираться, что же с этим всем можно сделать.
❯ На чём вообще работали тогдашние автоматы?
Большинство нынешних таких устройств представляет собой по сути обычный компьютер, на котором запущен игровой софт и к которому подключена плата расширения, управляющая всем оборудованием. В те же времена всё было куда интереснее. Слоты по устройству были очень близки к аркадным автоматам, для них были целые аппаратные платформы, а у некоторых производителей — даже SDK, позволявшие писать свои игры. Модули памяти во многих таких устройствах обладали защитой, близкой по уровню к пин-падам, чтобы полностью исключить возможность их считывания. По схемотехнике отдельные образцы приближались к персональным компьютерам, да и цена тоже была соответствующая.
Вот для примера плата Novomatic Coolfire. Отчётливо видны две платы видеочипов, литий-тионилхлоридная батарея, слоты памяти SIMM-Flash, на которой и были записаны игры.
Она же вставлялась в кросс-плату, где располагались разъёмы для подключения периферии в виде кнопок, лампочек подсветки, датчика двери, динамиков, замков, монетоприёмника, а также двух мониторов. Наличие всех этих устройств контролировалось (даже порты вывода постоянно проверялись), при обнаружении неполадок аппарат немедленно падал в ошибку.
Различные системы на базе ПК существовали и тогда. Но распространены они были куда меньше, нежели сейчас.
В нулевые годы выкатились и более дешёвые решения. Например, Coolair, одночиповый клон CoolFire. Такие платы выпускались целой кучей фирм — Игрософт, Белатра, Subsino, Mega Jack и многими другими. Именно о таких экземплярах, как о наиболее доступных и простых для запуска, сегодня и поговорим.
❯ Обзор оборудования
Тащить домой автомат в сборе решительно не хотелось. Так что было принято решение раздобыть чисто плату от него: суть всё равно та же. Устройство большинства поздних автоматов было схожим: обычный компьютерный VGA-монитор, блок питания (после первого же сдыхания заменявшийся на перепаянный ATX), большие кнопки с подсветкой (в качестве которой обычно использовались простые лампочки накаливания). И, конечно же, сама плата, к которой подключались все эти комплектующие. Опционально ставились монетоприёмник или купюроприёмник, при их отсутствии кредиты набивались вручную с ключа.
Итак, мне довелось раздобыть сразу две платы: Белатра и Игрософт, которые мы сейчас и рассмотрим поподробнее.
❯ Игрософт
Первой ко мне в руки попал Игрософт. Плата весьма узнаваемая и сразу бросается в глаза в куче других. Откуда она взялась, мне неведомо: последующее открытие статистики показало, что последний раз на ней играли в 2018 году. Вполне возможно, что она использовалась просто как развлекательный автомат (который выигрышей не даёт) или же в каком-то подпольном игорном клубе.
Схемотехника платы весьма интересная. Плата основана на процессоре Zilog Z80. Рядом с ним чип синтезатора AY, микросхема памяти, а также часы реального времени (те самые, со встроенной батарейкой). Всё заклеено гарантийными наклейками. Справа находятся чипы Flash, на которые записаны ресурсы игры — графика и звуки. Среди тогдашних игроков были даже свои легенды, скажем, «фрукты» выигрывают чаще, чем «обезьяны», на деле же игровая логика едина для всех плат, а прошивка, отвечающая за неё, находится в чипе памяти рядом с процессором. Рядом с Flash находятся ещё четыре ПЛИС, отвечающие за коммутацию этих чипов. В нижней части усилитель для динамика (у меня он был сгоревший, и его пришлось перепаивать), а также куча ULNок, отвечающих за выходы и входы. К разъёму в верхней части платы подключается монитор, слева от него разведённые, но не распаянные USB и PS/2, использовавшиеся в тестовых версиях плат, но не задействованные в релизных.
Тот самый модуль с ПЛИС. Она выполняет целый ряд задач: управление портами ввода-вывода, организация памяти, обработка изображения, формирование сигналов для VGA. За счёт этого сильно уменьшается сложность платы: вместо целой кучи микросхем дискретной логики как в типичном компьютере на базе Z80-совместимого процессора, здесь используется только один-единственный чип ПЛИС и необходимый минимум в виде процессора, памяти, ПЗУ, синтезатора и тому подобных компонентов.
❯ Первый запуск
Теперь разберёмся с подключением.
Плата имеет два краевых разъёма. Вообще, не совсем понятно, зачем так сделано, так как она не вставляется в монтажную корзину, а просто прикручивается, после чего на неё насаживаются разъёмы. Очень часто внутренности типичного автомата выглядели примерно так, как на этом фото.
Имеющий представление об аркадных автоматах может даже успеть предположить, что это JAMMA, но всё же нет. Узкий разъём служит для питания, широкий — для периферии.
На каком-то сомнительном сайте была найдена распиновка.
Для подключения платы нам понадобятся разъёмы STR-20 и STR-72 (они же SLM-20 и SLM-72). Найти широкий разъём у меня сходу не вышло, так что пришлось взять слегка более короткую версию и сделать пропил с одной из сторон, чтобы можно было насадить его на плату. Контактом для ввода кредитов пришлось пожертвовать: чтобы его активировать, пришлось просто касаться его проводом, кнопку подключить не удалось. Но для тестов сгодится.
Итак, подключаем монитор, подаём питание и смотрим, что же будет. Если плата исправна, то из динамика послышится характерный звук, а на экране появится «HARD TEST PASSED». Далее либо начнётся игра, либо загорится надпись «INIT MACHINE». Если это произошло, необходимо провести инициализацию автомата. Что это такое — поговорим чуть позже.
Я даже записал видео работы этой платы. Разумеется, не без ЭЛТ-монитора. Ведь всё должно быть аутентично.
В игре необходимо выбрать ставку и число линий, после чего, собственно, крутить. Если получилось что-то выиграть, то можно либо забрать выигрыш себе, либо рискнуть — выбрать одну из карт, которая должна оказаться по достоинству больше той, что показана на экране, иначе выигрыш сгорит. Если выпадают три сейфа, то открывается бонусный уровень: надо открыть несколько сейфов, в которых могут быть призы или бомба. Если удаётся открыть всё сейфы, то далее будет предложено открыть одну из двух дверей для получения специального приза. Увы, на видео этот момент поймать не удалось.
❯ Эмулятор
Поскольку плата в целом достаточно простая, сообществу удалось реализовать данный автомат в составе эмулятора MAME. Увы, прошивки ПЛИС защищены от чтения, однако воссоздать их логику таки получилось. Именно поэтому скриншоты сервисного меню я взял из эмулятора, так как они выглядят куда более качественно, нежели фотографии монитора, а от настоящей платы не отличаются ничем.
Запускаем эмулятор, выбираем прошивку.
Итак, вот что встречает нас в случае успешного запуска.
А вот и сама игра. Для эмулятора есть прошивки всех игр, которые выходили на данном автомате.
❯ Сервисное меню
Перейдём наконец к самой интересной части — к меню. Попасть туда можно, закоротив на массу соответствующий контакт на разъёме платы. В автомате для этого служил замок с ключом на манер старых компьютеров.
А вот и главное меню. В эмуляторе для входа туда достаточно жмякнуть F2.
Один из разделов статистики.
Инициализация. В ходе неё сносится вся статистика, а все параметры откатываются к заводским.
Но самый интересный параметр, конечно, вот этот — это Win percent. Проще говоря, имеется возможность подкрутить, насколько часто аппарат будет выходить в плюс. Меняется данный параметр в весьма узких пределах, но некоторая свобода выбора всё же имеется.
Игровой автомат базируется не только на случайных значениях, но также на статистике и данных предыдущих игр. Он не просто произвольно выдаёт или не выдаёт что-либо, а распределяет вкинутые деньги между казино и игроками. Таким образом, постоянно выигрывать на нём не получится: можно самому попробовать скачать эмулятор и потыкать, в конце все очки будут непременно продуты. По сути именно на этом и основывается работа казино, так как большая часть игроков будет отправлять полученные деньги обратно в аппарат. А вот разовый выигрыш благодаря этому вполне возможен.
❯ Белатра
Рассмотрим теперь другой экземпляр. Это Белатра, белорусский производитель автоматов.
А вот и сама плата. Отчётливо виден процессор Cirrus Logic (архитектуры ARM) и слот под оперативную память SIMM (обычная EDO). В правом верхнем углу усилитель, рядом регулятор громкости и кнопка перезагрузки. На плате также установлен модуль с ещё несколькими разъёмами, к которым подключается купюроприёмник, тачскрин (который, правда, в моей версии прошивки не поддерживается) и ещё ряд периферии. Два разъёма D-Sub — один служит для подключения монитора, другой технологический, для диагностики платы и её перепрошивки. По центру платы «бочонок смерти» — дохлый аккумулятор, который необходимо выкусить и заменить. Без аккумулятора плата стартовать не будет.
Эта плата явно повидала времена легального игорного бизнеса: служебный разъём опломбирован наклейкой центра метрологии.
Обратная сторона.
❯ Играть так играть!
Распиновка этой платы нашлась на том же сайте. Там же отыскались и руководства. В отличие от платы Igrosoft, и питание, и периферия подключаются к одному и тому же разъёму.
Итак, запускаем и видим чёрный экран. Если плата после долгого лежания, то это норма, надо подождать, пока подзарядится аккумулятор. В таком состоянии её надо оставить примерно на полчаса, после чего жмякнуть Reset. Если же аккумулятор заряжен, то примерно через минуту плата выдаст изображение.
Заставка с логотипом Belatra и контактами техподдержки.
Если аккумулятор был разряжен, то игра не запустится, вместо этого будет выдано сообщение «OUT OF RANGE». Дело в том, что все параметры хранятся в энергозависимой памяти, которая после разряда аккумулятора протухает. Необходимо сбросить её, проведя инициализацию.
Главное меню. Вход в него осуществляется точно так же — закорачиванием контактов.
Статистика. Из-за отключения питания памяти цифры приобрели запредельные значения. Жмём и удерживаем кнопку BET и сбрасываем значения.
Одна из страниц меню. Виден точно такой же параметр в виде процента выдачи.
Итак, сбрасываем статистику и перезагружаем плату. О, интересно. Игровые автоматы с фруктами мы уже видели, с обезьянами видели, но вот с овощами — это что-то новенькое…
Далее точно таким же замыканием контактов набиваем кредиты, и всё, игра начинается. Можно испытывать удачу.
Эмулятора этой платы я не нашёл, все скачанные на пробу файлы на деле оказались троянами.
❯ Что ещё можно с этим сделать?
Наибольший интерес представляет прежде всего плата Игрософта. Ведь по сути это готовая отладочная плата для процессора Z80, которую можно приобрести буквально по цене металлолома и экспериментировать, не заботясь о куче дискретной логики, пропадающем контакте, конвертации видеосигнала из RGB в VGA или композит… Здесь нет даже PIO, абсолютно все функции выполняет ПЛИС.
На просторах даже удалось найти проект клона ZX Spectrum на базе такой платы. Тут, правда, она претерпела немалые изменения, в ходе которых были убраны все чипы Flash, а также добавлена поддержка карт памяти SD.
❯ Альтернативные прошивки
Содержимое ПЗУшек таких автоматов не было защищено от записи: ни шифрования, ни каких-то других средств не применялось. Поэтому быстро нашлись те, кто открыл целый бизнес на «багованных» прошивках. За энную сумму предлагалось купить микросхему, которую надо было вставить взамен штатной, после чего процент выигрышей резко повышался. Делалось это очень часто в сговоре с работниками зала. Именно для защиты от всего этого и применялся контроль в виде датчиков дверей, учёта всех игр и тому подобного.
Большая часть таких прошивок для Игрософта была успешно слита, их можно найти в комплекте с эмулятором.
Модифицированные прошивки применялись и владельцами подпольных игровых залов. Цели были всё те же — подкручивать заветные проценты в свою пользу, чего на более-менее сертифицированных машинах сделать было нельзя.
❯ Пару слов про KSI и автоматы на базе ПК
Ещё одним представителем игровых автоматов был «столбик». Всё упрощено до невозможности: вставляешь пятак, на семисегментном индикаторе появляется результат. В пылу азарта можно с лёгкостью за двадцать минут спустить несколько тысяч рублей.
Но интересно тут другое — внутри этого незамысловатого устройства стоял настоящий компьютер, на котором работал софт под MS-DOS, управлявший по LPT этой электроникой. Увы, электроники у меня не оказалось, зато удалось найти этот софт. Но, увы, без штатной платы он практически полностью бесполезен.
❯ Вот как-то так
Хоть я и не поддерживаю игру на деньги, старые игровые автоматы оказались достаточно интересной темой. И тут тоже достаточно того, над чем можно поэкспериментировать:
- Попробовать отыскать и запустить более навороченный автомат (Atronic, Novomatic).
- Дизассемблировать прошивку ПЗУ для Z80 и поковыряться в исходниках.
- Попробовать заменить ресурсы игры и сделать свой «тематический» аппарат.
- Раздобыть остальные части от автомата KSI и запустить его.
Такие дела.
Ссылки
Возможно, захочется почитать и это:
- ➤ Ключи с динамическим кодом: «Факториал» возвращается
- ➤ Программирование для Palm OS: ставим CodeWarrior и оживляем ТСД
- ➤ Причуды эволюции: необычное «железо», которое не должно было появиться.
- ➤ 8-битный денди-ноутбук за 400 рублей из начала нулевых. Какой «компьютер» смогли сделать китайцы на базе железа «Денди»?
- ➤ Сам себе игровая консоль: превращаем планшет с нерабочим тачскрином в игровой девайс из 8 кнопок и микроконтроллера
- ➤ Ключи с динамическим кодом: «Факториал» возвращается
- ➤ Программирование для Palm OS: ставим CodeWarrior и оживляем ТСД
- ➤ Причуды эволюции: необычное «железо», которое не должно было появиться.
- ➤ 8-битный денди-ноутбук за 400 рублей из начала нулевых. Какой «компьютер» смогли сделать китайцы на базе железа «Денди»?
- ➤ Сам себе игровая консоль: превращаем планшет с нерабочим тачскрином в игровой девайс из 8 кнопок и микроконтроллера
Комментарии (25)
dlinyj
19.06.2023 08:17+1Вообще, крайне интересные платки. Даже задумался, что может по приколу их прикупить. Вы не подскажите как их искать?
MaFrance351 Автор
19.06.2023 08:17+3На лохито вводим в поиске "плата игрового автомата". Предложений масса, цена от пятисот до пары тысяч рублей в зависимости от состояния (хотя чаще всего достаточно отмыть и пропаять контакты, сами платы дохнут нечасто). Их часто продают прямо пачками, видимо, наследие нелегальных казино. Иногда даже новые в коробках всплывают. Видимо, были комплекты для модернизации каких-то старых автоматов.
С Игрософтом, что на Z80, я бы ещё поигрался. По ссылке на проект ZX из него есть немало информации по этой платформе.
dlinyj
19.06.2023 08:17+1Интересно, спасибо! Вообще, было бы интересно прошивки поковырять.
MaFrance351 Автор
19.06.2023 08:17+1Это да. Отличная возможность в деталях узнать, какая там математическая модель и как она работает. В более продвинутых всё напрочь защищено.
Я видел на канале EEVBlog видео со вскрытием модуля памяти от совсем навороченного такого аппарата (увы, не самостоятельное, а в обзоре какой-то посылки, так что сходу не найду). Он был защищён не хуже пин-падов: наружная сетка, концевики, всякие хитрые контактные площадки, даже датчик освещённости, чтоб наверняка.
dlinyj
19.06.2023 08:17Ну вообще, самое ценное в этих аппаратах — это софт. И даже то, что платы продаются легко, софт так никто и не откроет. А вот его бы поковырять было бы очень интересно. Самое забавное было бы взять какую-то простую игру и её попробовать.
MaFrance351 Автор
19.06.2023 08:17У меня сильное предположение, что вся часть, ответственная за вероятность, математическую модель и тому подобные функции, тоже находится в ПЛИС, которую не прочитаешь. А процессор лишь получает от неё данные.
А ещё, помнится, были целые легенды про то, как кто-то якобы написал некую программу, которая "угадывает" местный ДСЧ. Делаешь несколько игр, на КПК вводишь, что выпало, а программа сообщает, когда ставить больше, а когда — меньше. Но, мне кажется, без модификации прошивки самого аппарата это нереально.
dlinyj
19.06.2023 08:17У меня сильное предположение, что вся часть, ответственная за вероятность, математическую модель и тому подобные функции, тоже находится в ПЛИС, которую не прочитаешь. А процессор лишь получает от неё данные.
Скорее всего так и есть, я бы на ПЛИС это и переложил. С другой стороны, если в эмуляторах это работает, значит таки кто-то это эмулируетMaFrance351 Автор
19.06.2023 08:17Возможно, что в эмуляторе просто воссоздана реализация, похожая на оригинальную.
Правда, тогда не совсем понятно, как тогда запускаются "багованные" прошивки. Возможно, что там что-то подкручено на уровне самих запросов к ДСЧ.
M_AJ
19.06.2023 08:17+1А ещё, помнится, были целые легенды про то, как кто-то якобы написал некую программу, которая "угадывает" местный ДСЧ. Делаешь несколько игр, на КПК вводишь, что выпало, а программа сообщает, когда ставить больше, а когда — меньше
Об этом писал Wired несколько лет назад, только если мне не изменяет память, там подсказывалось время когда нажать кнопку. Точно не помню, а статью перечитывать лень
https://www.wired.com/2017/02/russians-engineer-brilliant-slot-machine-cheat-casinos-no-fix/
MaFrance351 Автор
19.06.2023 08:17+1Об этом, помнится, даже на Хабре писали. По-моему, принцип был основан на какой-то уязвимости ДСЧ.
MaFrance351 Автор
19.06.2023 08:17+1
grishkaa
19.06.2023 08:17ПЛИС, которую не прочитаешь
А точно не прочитаешь? Точно где-то читал, что у них собственной памяти для прошивки нет, что надо после подачи питания заливать в неё «битстрим» с нуля из внешней памяти, максимум она может его сама оттуда прочитать. Или эта какая-то особенная?MaFrance351 Автор
19.06.2023 08:17+2Это Altera MAX, там есть встроенная Flash для хранения конфигурации.
NooneAtAll3
19.06.2023 08:17А не подскажете?
В детстве помню один из таких агрегатов, но там альпинист лезет вверх. Нужно на каждом этапе выбирать верёвку и проверять удачу — привязано ли вверху к следущему этапу или вообще в пещеру к йетикак такое вообще искать?
MaFrance351 Автор
19.06.2023 08:17+2Ощущение, что это скорее какая-то бонусная игра. Как, например, широко встречающаяся в рекламе обезьяна, где надо дёрнуть за канат, а там либо банан, либо кокос.
Но это только моё предположение.У админов игорных заведений тоже тусовка была: https://forum.rarib.ru/
Можно там попробовать спросить. Может, даже с онлайн-версией помогут.
grishkaa
19.06.2023 08:17+1Но интересно тут другое — внутри этого незамысловатого устройства стоял настоящий компьютер, на котором работал софт под MS-DOS, управлявший по LPT этой электроникой.
О_о
Я был уверен, что они были на микроконтроллерах, а тут вот оно как.MaFrance351 Автор
19.06.2023 08:17+1Сам удивлён. Причём железо стояло по тем временам недёшевое, что-то по типу 478 совета. Аналогичные системные блоки ставили в QIWI-терминалы.
Ну и плата сама работала на МК, софт под MS-DOS лишь дёргал это железо и статистику вёл.
MountainGoat
Плюшевая начинка для этих дурацких автоматов с захватами продаётся оптом по совершенно бросовым ценам, типа 200руб/кг. Мне девушка постоянно канючила, когда мимо шли "Давай сыграем, ну давай сыграем". В итоге я у неё спросил "Тебе хочется именно сыграть, или плюшевой фигни", и, убедившись, что именно фигни - я просто приволок ей мешок с меня ростом, 25кг. Она их долго раздавала всем знакомым и незнакомым. Эх, весёлые были деньки.
MaFrance351 Автор
У Васисуалия от голода скручивало живот, он не ел уже неделю. Он брёл на первую пару, когда заметил блеск монетки под ногами. Он осторожно подцепил её пальцами и смахнул пыль. Десять рублей! Занятия начинались через 15 минут.
Студиозус Вася радостно побежал к ближайшему игровому автомату с дошираком. Кинув монету в щель, он схватился за манипулятор и ловко подцепил пачку со вкусом говядины, но предательская клешня разжалась в последний момент. До стипендии оставалось ещё две недели...
MaFrance351 Автор
Фотография, к слову, из блога spiritus_sancti:
https://serkov.su/blog/?p=2747
Но, что характерно, принцип работы мало кого заинтересовал, а вот фотография автомата с лапшой разошлась по интернету...
vladkorotnev
В Японии, кстати, часто в аркадных залах встречаю подобные автоматы, набитые такой чепухой, типа печенек, энергетиков и мороженого. Чаще всего на них же стоит табличка о том, что включена максимально лёгкая настройка, типа аппарат для тренировки :-)
Ну и да, по опыту на них никогда не получалось вытащить ничего просто захватом с последующим переносом, только всякие приколы а-ля "одну лапу крана заклинить об стенку вокруг окна выдачи, чтобы вторая поддела приз и перебросила его на выход"