Испытываем удачу в домашних условиях

Приветствую всех!
Давным-давно на Хабре уже выпускалась статья «Игровой автомат изнутри и снаружи», рассказывавшая нам о том, как устроены представители последнего слова техники для денежного выигрыша. И, разумеется, мне захотелось продолжить эту тему, рассказав о том, как устроены и работают более старые подобные девайсы, куда более близкие российским пользователям.

iijchixmyquoilnjztj8wqj-1rw.png


Итак, в сегодняшней статье поговорим об игровых автоматах эпохи заката игорного бизнеса в России. Узнаем, на чём они работали, как запустить такой у себя дома и поиграть в них без риска спустить целое состояние. Традиционно будет много интересного.

Суть такова


Те, кто родился в России не позже середины девяностых, наверняка застали тогда ещё легально работавшие казино с игровыми автоматами. Даже те, мимо кого эта эпоха благополучно прошла, с лёгкостью представят себе тогдашний автомат — большой ящик с кнопками, ЭЛТ-монитором и купюроприёмником. Вставляешь деньги, жмякаешь кнопки и с надеждой смотришь на результат. Всё просто, насколько это возможно. Все мы помним истории про то, как кто-то выиграл там себе целое состояние или же наоборот слил всё до копейки. В конце нулевых с приходом запрета игорного бизнеса они навсегда ушли в историю, оказавшись распиханными по нескольким специальным экономическим зонам. Впрочем, до сих пор повсеместно встречаются их наследники в виде автоматов с игрушками или даже «более ценными» вещами. В надежде таки сбить манипулятором китайскую копию айфона или вытащить плюшевого зверя из ящика можно спустить нисколько не меньшие суммы.

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

На чём вообще работали тогдашние автоматы?


Большинство нынешних таких устройств представляет собой по сути обычный компьютер, на котором запущен игровой софт и к которому подключена плата расширения, управляющая всем оборудованием. В те же времена всё было куда интереснее. Слоты по устройству были очень близки к аркадным автоматам, для них были целые аппаратные платформы, а у некоторых производителей — даже SDK, позволявшие писать свои игры. Модули памяти во многих таких устройствах обладали защитой, близкой по уровню к пин-падам, чтобы полностью исключить возможность их считывания. По схемотехнике отдельные образцы приближались к персональным компьютерам, да и цена тоже была соответствующая.

emcs7pmcxrxn52kef_gxmqtifzc.png


Вот для примера плата Novomatic Coolfire. Отчётливо видны две платы видеочипов, литий-тионилхлоридная батарея, слоты памяти SIMM-Flash, на которой и были записаны игры.

79m0h2d-ohp5ch_yqctmk8icn2s.png


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

vwmi8kn36g6mt2j6jils7ytkuoc.png


Различные системы на базе ПК существовали и тогда. Но распространены они были куда меньше, нежели сейчас.

zhwkxjsp_uhqprsufa5kcgdbvuq.png

В нулевые годы выкатились и более дешёвые решения. Например, Coolair, одночиповый клон CoolFire. Такие платы выпускались целой кучей фирм — Игрософт, Белатра, Subsino, Mega Jack и многими другими. Именно о таких экземплярах, как о наиболее доступных и простых для запуска, сегодня и поговорим.

Обзор оборудования


Тащить домой автомат в сборе решительно не хотелось. Так что было принято решение раздобыть чисто плату от него: суть всё равно та же. Устройство большинства поздних автоматов было схожим: обычный компьютерный VGA-монитор, блок питания (после первого же сдыхания заменявшийся на перепаянный ATX), большие кнопки с подсветкой (в качестве которой обычно использовались простые лампочки накаливания). И, конечно же, сама плата, к которой подключались все эти комплектующие. Опционально ставились монетоприёмник или купюроприёмник, при их отсутствии кредиты набивались вручную с ключа.

Итак, мне довелось раздобыть сразу две платы: Белатра и Игрософт, которые мы сейчас и рассмотрим поподробнее.

Игрософт


1puh6dg79sl2leyx6nodenxe6bk.jpeg

Первой ко мне в руки попал Игрософт. Плата весьма узнаваемая и сразу бросается в глаза в куче других. Откуда она взялась, мне неведомо: последующее открытие статистики показало, что последний раз на ней играли в 2018 году. Вполне возможно, что она использовалась просто как развлекательный автомат (который выигрышей не даёт) или же в каком-то подпольном игорном клубе.

Схемотехника платы весьма интересная. Плата основана на процессоре Zilog Z80. Рядом с ним чип синтезатора AY, микросхема памяти, а также часы реального времени (те самые, со встроенной батарейкой). Всё заклеено гарантийными наклейками. Справа находятся чипы Flash, на которые записаны ресурсы игры — графика и звуки. Среди тогдашних игроков были даже свои легенды, скажем, «фрукты» выигрывают чаще, чем «обезьяны», на деле же игровая логика едина для всех плат, а прошивка, отвечающая за неё, находится в чипе памяти рядом с процессором. Рядом с Flash находятся ещё четыре ПЛИС, отвечающие за коммутацию этих чипов. В нижней части усилитель для динамика (у меня он был сгоревший, и его пришлось перепаивать), а также куча ULNок, отвечающих за выходы и входы. К разъёму в верхней части платы подключается монитор, слева от него разведённые, но не распаянные USB и PS/2, использовавшиеся в тестовых версиях плат, но не задействованные в релизных.

ftiufdra44wk9bhjrrj_lehsbh4.jpeg

Тот самый модуль с ПЛИС. Она выполняет целый ряд задач: управление портами ввода-вывода, организация памяти, обработка изображения, формирование сигналов для VGA. За счёт этого сильно уменьшается сложность платы: вместо целой кучи микросхем дискретной логики как в типичном компьютере на базе Z80-совместимого процессора, здесь используется только один-единственный чип ПЛИС и необходимый минимум в виде процессора, памяти, ПЗУ, синтезатора и тому подобных компонентов.

Первый запуск


Теперь разберёмся с подключением.

g0v2gfgxl0agvkt13ylpaxmffl0.jpeg

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

Имеющий представление об аркадных автоматах может даже успеть предположить, что это JAMMA, но всё же нет. Узкий разъём служит для питания, широкий — для периферии.
На каком-то сомнительном сайте была найдена распиновка.

8kay0fvzandotspkolxdh8pdld0.jpeg

Для подключения платы нам понадобятся разъёмы STR-20 и STR-72 (они же SLM-20 и SLM-72). Найти широкий разъём у меня сходу не вышло, так что пришлось взять слегка более короткую версию и сделать пропил с одной из сторон, чтобы можно было насадить его на плату. Контактом для ввода кредитов пришлось пожертвовать: чтобы его активировать, пришлось просто касаться его проводом, кнопку подключить не удалось. Но для тестов сгодится.

Итак, подключаем монитор, подаём питание и смотрим, что же будет. Если плата исправна, то из динамика послышится характерный звук, а на экране появится «HARD TEST PASSED». Далее либо начнётся игра, либо загорится надпись «INIT MACHINE». Если это произошло, необходимо провести инициализацию автомата. Что это такое — поговорим чуть позже.

Я даже записал видео работы этой платы. Разумеется, не без ЭЛТ-монитора. Ведь всё должно быть аутентично.

В игре необходимо выбрать ставку и число линий, после чего, собственно, крутить. Если получилось что-то выиграть, то можно либо забрать выигрыш себе, либо рискнуть — выбрать одну из карт, которая должна оказаться по достоинству больше той, что показана на экране, иначе выигрыш сгорит. Если выпадают три сейфа, то открывается бонусный уровень: надо открыть несколько сейфов, в которых могут быть призы или бомба. Если удаётся открыть всё сейфы, то далее будет предложено открыть одну из двух дверей для получения специального приза. Увы, на видео этот момент поймать не удалось.

Эмулятор


Поскольку плата в целом достаточно простая, сообществу удалось реализовать данный автомат в составе эмулятора MAME. Увы, прошивки ПЛИС защищены от чтения, однако воссоздать их логику таки получилось. Именно поэтому скриншоты сервисного меню я взял из эмулятора, так как они выглядят куда более качественно, нежели фотографии монитора, а от настоящей платы не отличаются ничем.

mrz1_6nx4kt4saskhnjslustawu.png

Запускаем эмулятор, выбираем прошивку.

fn_udo1axgjqaot_p0sthnt2oga.png


Итак, вот что встречает нас в случае успешного запуска.

ea3t9r8mb2ldvkjerpxzbo88yio.png


А вот и сама игра. Для эмулятора есть прошивки всех игр, которые выходили на данном автомате.

Сервисное меню


Перейдём наконец к самой интересной части — к меню. Попасть туда можно, закоротив на массу соответствующий контакт на разъёме платы. В автомате для этого служил замок с ключом на манер старых компьютеров.

ktirvcqpv7oryz7xw7kyh_w35u4.png


А вот и главное меню. В эмуляторе для входа туда достаточно жмякнуть F2.

kv3cw9indczgrnfcm5vr-w_cftc.png


Один из разделов статистики.

-gv9foy9tkj3yb7or54hvwd4g7g.png


Инициализация. В ходе неё сносится вся статистика, а все параметры откатываются к заводским.

koczp8yhnvxqgmpaqi7eojobszw.png


Но самый интересный параметр, конечно, вот этот — это Win percent. Проще говоря, имеется возможность подкрутить, насколько часто аппарат будет выходить в плюс. Меняется данный параметр в весьма узких пределах, но некоторая свобода выбора всё же имеется.

Игровой автомат базируется не только на случайных значениях, но также на статистике и данных предыдущих игр. Он не просто произвольно выдаёт или не выдаёт что-либо, а распределяет вкинутые деньги между казино и игроками. Таким образом, постоянно выигрывать на нём не получится: можно самому попробовать скачать эмулятор и потыкать, в конце все очки будут непременно продуты. По сути именно на этом и основывается работа казино, так как большая часть игроков будет отправлять полученные деньги обратно в аппарат. А вот разовый выигрыш благодаря этому вполне возможен.

Белатра


Рассмотрим теперь другой экземпляр. Это Белатра, белорусский производитель автоматов.

v-wsbwpbu0-trvknyc_e6ytc7fg.jpeg

А вот и сама плата. Отчётливо виден процессор Cirrus Logic (архитектуры ARM) и слот под оперативную память SIMM (обычная EDO). В правом верхнем углу усилитель, рядом регулятор громкости и кнопка перезагрузки. На плате также установлен модуль с ещё несколькими разъёмами, к которым подключается купюроприёмник, тачскрин (который, правда, в моей версии прошивки не поддерживается) и ещё ряд периферии. Два разъёма D-Sub — один служит для подключения монитора, другой технологический, для диагностики платы и её перепрошивки. По центру платы «бочонок смерти» — дохлый аккумулятор, который необходимо выкусить и заменить. Без аккумулятора плата стартовать не будет.

jgvqc4m_gmsdnml-jsbye8yn8g4.jpeg

c1j-o69k08eilqm8afmgush9toa.jpeg

Эта плата явно повидала времена легального игорного бизнеса: служебный разъём опломбирован наклейкой центра метрологии.

cd3umy5azddfn_-gsq5hyhfddlm.jpeg

Обратная сторона.

Играть так играть!


Распиновка этой платы нашлась на том же сайте. Там же отыскались и руководства. В отличие от платы Igrosoft, и питание, и периферия подключаются к одному и тому же разъёму.

Итак, запускаем и видим чёрный экран. Если плата после долгого лежания, то это норма, надо подождать, пока подзарядится аккумулятор. В таком состоянии её надо оставить примерно на полчаса, после чего жмякнуть Reset. Если же аккумулятор заряжен, то примерно через минуту плата выдаст изображение.

kva47dwpjmu4icg2d5qxanm4km4.png

Заставка с логотипом Belatra и контактами техподдержки.

awq4nvlsehl4n6_p74xvbkns8vw.png

Если аккумулятор был разряжен, то игра не запустится, вместо этого будет выдано сообщение «OUT OF RANGE». Дело в том, что все параметры хранятся в энергозависимой памяти, которая после разряда аккумулятора протухает. Необходимо сбросить её, проведя инициализацию.

8yofifh8wak-g4oo6hup3k2-vfa.png

Главное меню. Вход в него осуществляется точно так же — закорачиванием контактов.

05gngdb-u3efyvmu7hhiidozh5g.png

Статистика. Из-за отключения питания памяти цифры приобрели запредельные значения. Жмём и удерживаем кнопку BET и сбрасываем значения.

ofn3bze4efazrmcham3gs7ofh2a.png

Одна из страниц меню. Виден точно такой же параметр в виде процента выдачи.

mkfdtyzptcenl-q_nm8my9egssa.png

Итак, сбрасываем статистику и перезагружаем плату. О, интересно. Игровые автоматы с фруктами мы уже видели, с обезьянами видели, но вот с овощами — это что-то новенькое…

ytu_17jz1icjv7bjc8vkg5ouarw.png

Далее точно таким же замыканием контактов набиваем кредиты, и всё, игра начинается. Можно испытывать удачу.
Эмулятора этой платы я не нашёл, все скачанные на пробу файлы на деле оказались троянами.

Что ещё можно с этим сделать?


Наибольший интерес представляет прежде всего плата Игрософта. Ведь по сути это готовая отладочная плата для процессора Z80, которую можно приобрести буквально по цене металлолома и экспериментировать, не заботясь о куче дискретной логики, пропадающем контакте, конвертации видеосигнала из RGB в VGA или композит… Здесь нет даже PIO, абсолютно все функции выполняет ПЛИС.

7qqyny8cnfz5wtodehsgaqxku84.png

На просторах даже удалось найти проект клона ZX Spectrum на базе такой платы. Тут, правда, она претерпела немалые изменения, в ходе которых были убраны все чипы Flash, а также добавлена поддержка карт памяти SD.

Альтернативные прошивки


Содержимое ПЗУшек таких автоматов не было защищено от записи: ни шифрования, ни каких-то других средств не применялось. Поэтому быстро нашлись те, кто открыл целый бизнес на «багованных» прошивках. За энную сумму предлагалось купить микросхему, которую надо было вставить взамен штатной, после чего процент выигрышей резко повышался. Делалось это очень часто в сговоре с работниками зала. Именно для защиты от всего этого и применялся контроль в виде датчиков дверей, учёта всех игр и тому подобного.

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

Модифицированные прошивки применялись и владельцами подпольных игровых залов. Цели были всё те же — подкручивать заветные проценты в свою пользу, чего на более-менее сертифицированных машинах сделать было нельзя.

Пару слов про KSI и автоматы на базе ПК


jb0nfo0bdgfafarnnd6zyygkc-o.png

Ещё одним представителем игровых автоматов был «столбик». Всё упрощено до невозможности: вставляешь пятак, на семисегментном индикаторе появляется результат. В пылу азарта можно с лёгкостью за двадцать минут спустить несколько тысяч рублей.

Но интересно тут другое — внутри этого незамысловатого устройства стоял настоящий компьютер, на котором работал софт под MS-DOS, управлявший по LPT этой электроникой. Увы, электроники у меня не оказалось, зато удалось найти этот софт. Но, увы, без штатной платы он практически полностью бесполезен.

Вот как-то так


Хоть я и не поддерживаю игру на деньги, старые игровые автоматы оказались достаточно интересной темой. И тут тоже достаточно того, над чем можно поэкспериментировать:

  • Попробовать отыскать и запустить более навороченный автомат (Atronic, Novomatic).
  • Дизассемблировать прошивку ПЗУ для Z80 и поковыряться в исходниках.
  • Попробовать заменить ресурсы игры и сделать свой «тематический» аппарат.
  • Раздобыть остальные части от автомата KSI и запустить его.


Такие дела.

Ссылки

Возможно, захочется почитать и это:
mxuanbovcusqgmqdgugvpnql8vq.jpeg

© Habrahabr.ru