Соберите последнюю версию MAME

mame0

На этот раз я расскажу о том, как компилировать последняя версия MAME, поскольку тот, что находится на официальной странице, имеет недостатки во время компиляции.

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

Это руководство или учебное пособие предназначено для людей, которые не соблюдают правила. MAME ткани. Так что преимущества ощутимы, когда вы делаете тест места. 🙂

Чтобы начать работу по компиляции, мы клонировали исходники программы, выполнив следующие действия:

Не скачивайте версию источник страницы Мамедев, потому что это дает много ошибок при компиляции.
Пользователи Debian-Ubuntu, установите эти пакеты:
build-essential gconf2 libgconf2-dev libgtk2.0-dev libsdl1.2-dev libsdl-ttf2.0-dev

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

git clone git://git.redump.net/mame

маме

Когда процесс клонирования будет завершен, перейдите в созданный каталог, в этом случае каталог, созданный по умолчанию, - «мама ».

Уже внутри этого каталога у нас будет ряд папок и файлов. Отсюда нас интересуют только Makefile. Они открывают его в любом текстовом редакторе по своему выбору, и мы ищем что-то похожее на это:

#ARCHOPTS = -march=native      # optimize for local machine (auto detect)

И мы раскомментируем эту строку, как показано на следующем изображении.

mame2

Сохраняем изменения, и тут же запускаем компиляцию командой make:

make

Если вы хотите максимально использовать время компиляции, используйте сделать -j # где # количество ядер в вашей команде.
Чтобы узнать, сколько ядер у вашей команды, запустите эту команду в терминале: grep -c ^ процессор / proc / cpuinfo

Когда процесс компиляции завершит свою работу, файл будет иметь имя в зависимости от архитектуры системы как маме если у вас 32 бита или mame64 для 64 бит. mame3

В моем случае я использую 64-битную систему.

Что ж, пока у нас все хорошо, с программой уже можно играть в игры, но для новичка она несколько громоздка. Так что давайте дополним его программой qmc2.

Там в том же окне выполняем йогурт для установки фронтенда.

Для пользователей Archlinux

yaourt -S qmc2

Для пользователей Ubuntu-Debian

sudo add-apt-repository ppa: mmbossoni-gmail / emu sudo apt-get update sudo apt-get install qmc2-sdlmame qmc2-sdlmess qmc2-sdlume qmc2-arcade qchdman
Для пользователей Ubuntu / Debian

Скопируйте исполняемый файл маме по этому пути как: / usr / игры / мама

Затем они открывают программу qmc2sdlmame и появится это окно:

qmc2-sdlmame

Как видите, программа не требует многого.

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

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

И вот мама в действии. Ну вот, я уже пробую игру, один из моих любимых игровых автоматов, так много монет, которые я беру в свое время, теперь я тот, кто получает здесь сок. xD

наш MAME в действии

мать в действии

Привет и игра сказано 😀

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


Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

28 комментариев, оставьте свой

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   немой сказал

    Где взять ромы?

    1.    НАУТИЛУС сказал

      В Google, друг

  2.   ОтакуЛоган сказал

    Очень хорошая статья, чтобы помнить, что до Steam уже были видеоигры на GNU / Linux. Они не новые и не местные, но могут обеспечить тысячи часов развлечений и веселья.

    И я хотел бы назвать UME (http://mamedev.emulab.it/haze/), инициатива, которая объединяет Mame и Mess (если Mame занимается развлекательными играми, Mess с видео-консолями), создавая настоящий мультисистемный эмулятор. Я видел его только в репозиториях эмулятора OpenSUSE и в сообществе ArchLinux, но для его компиляции в Debian шаги, которые необходимо выполнить, очень похожи на те, которые предлагает NauTiluS для Debian / Ubuntu.

    1.    НАУТИЛУС сказал

      Если вы отредактируете make-файл и перейдете к строке 27, вы найдете важную переменную. Эта переменная определяет цель построения, будь то MAME, UME, MESS и т. Д.

      В вашем случае измените его на UME, вы получите этот исполняемый файл.

      привет

  3.   алебилс сказал

    Привет
    при выполнении make получаю следующее:

    src / osd / sdl / sdl.mak: 519: *** Компилятор метаобъектов Qt (moc) не найден!. Высокий.

    Я использую Kubuntu 12.04 32 бит

    спасибо

    1.    серфравирос сказал

      Мне кажется, это предупреждение о необходимости установки moc; Проведя небольшое исследование, я обнаружил, что вам, возможно, понадобятся автомобили, но я не уверен. Попробуйте поискать в Sinaptic или в Aptitude, я не могу вспомнить, какой из них использует Kubuntu.

      1.    Алебилс сказал

        Спасибо, что установили moc и automoc и компилирует

  4.   Роло сказал

    Удобно ли устанавливать последнюю версию mame? Я спрашиваю, почему при загрузке репозитория deb-multimedia я устанавливаю более современную маму, чем тестируемая debian, но ... многие игры перестали работать. поэтому я сохранил версию для Debian и пока проблемы.
    Не уверен, но думаю, что многие игры скомпилированы под определенную версию mame

  5.   алебилс сказал

    Я наконец компилирую
    но когда я хочу установить qmc2, я получаю:

    sudo apt-get install qmc2-sdlmame qmc2-sdlmess qmc2-sdlume qmc2-arcade qchdman
    Чтение списка пакетов ... Готово
    Создание дерева зависимостей
    Чтение информации о статусе ... Готово
    Не могу установить какой-то пак. Это может означать, что
    вы просили о невозможной ситуации или, если вы используете раздачу
    нестабильно, что некоторые необходимые пакеты не были созданы или
    был перемещен из входящих.
    Следующая информация может помочь разрешить ситуацию:

    Следующие пакеты имеют неудовлетворенные зависимости:
    qmc2-sdlmess: Зависит от sdlmess (> = 0.144), но он не устанавливается или
    беспорядок (> = 0.144), но он не устанавливается
    qmc2-sdlume: Зависит от: sdlume (> = 0.144), но не устанавливается или
    ume (> = 0.144), но не устанавливается
    E: Проблемы не удалось исправить, у вас остались битые пакеты.

    1.    НАУТИЛУС сказал

      Привет и спасибо за комментарий.
      Что вам нужно сделать в этом случае, так это обмануть систему и установить те пакеты, которые ее запрашивают, sdlmame и sdlmess.

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

      привет

      1.    алебилс сказал

        Я пытаюсь установить их с помощью apt-get install, но получаю следующее:
        sudo apt-get install sdlmess
        Чтение списка пакетов ... Готово
        Создание дерева зависимостей
        Чтение информации о статусе ... Готово
        Пакет sdlmess недоступен, но некоторые другие ссылки на пакеты
        к. Это может означать, что пакет отсутствует, устарел или только
        доступно из другого источника

        E: Пакет "sdlmess" не имеет кандидата на установку.

        и то же самое для sdlume

        1.    НАУТИЛУС сказал

          Пожалуйста, попробуйте следующее.

          sudo touch sdlmess / usr / игры /
          Чтобы обмануть установщика.

          привет

          1.    алебилс сказал

            Привет
            Зонд, но ничего не происходит, все равно не дает установить ...
            🙁

      2.    Алунадо сказал

        установка xmame-sdl работает так же или лучше !! и вы направляетесь в / usr / games / mame, хотя qmc2 запрашивает sdl… .-.
        Этот ответ может занять время, но, возможно, он будет полезен другому человеку, который ищет то же самое. Мне потребовалось два дня, чтобы собрать всю информацию, чтобы мама работала в ее текущей версии: 0.153.
        Если вам нужны ромы для этой версии, лучшая страница, хотя и несколько медленная, - это planetemu.net. С уважением.
        Я до сих пор не могу найти, как фильтровать ромы в qmc2 по функциям, я не могу найти опцию, и это выдает мне очень длинный официальный список!

  6.   обедлинк сказал

    Что мне нравится, так это то, что qmc2 - это приложение Qt: D, но жаль, что я использую kubuntu 14.04, потому что qmc2 PPA доступен только до дерзкого.

    1.    НАУТИЛУС сказал

      Здравствуйте, можете попробовать скомпилировать qmc2, скачав исходники с его страницы.
      http://qmc2.arcadehits.net/wordpress/download/

      Привет.

      1.    альберто сказал

        зачем их устанавливать (qmc2-sdlmess qmc2-sdlume qmc2-arcade qchdman), если мы устанавливаем только mame?

        sudo apt-get install qmc2-sdlmame qmc2-sdlmess qmc2-sdlume qmc2-arcade qchdman
        Чтение списка пакетов ... Готово
        Создание дерева зависимостей
        Чтение информации о статусе ... Готово
        Не могу установить какой-то пак. Это может означать, что
        вы просили о невозможной ситуации или, если вы используете раздачу
        нестабильно, что некоторые необходимые пакеты не были созданы или
        был перемещен из входящих.
        Следующая информация может помочь разрешить ситуацию:

        Следующие пакеты имеют неудовлетворенные зависимости:
        qmc2-sdlmess: Зависит от sdlmess (> = 0.144), но он не устанавливается или
        беспорядок (> = 0.144), но он не устанавливается
        qmc2-sdlume: Зависит от: sdlume (> = 0.144), но не устанавливается или
        ume (> = 0.144), но не устанавливается
        E: Проблемы не удалось исправить, у вас остались битые пакеты.

        тем, у кого такое случается, просто установите qmc2-sdlmame
        это выглядело бы так:
        sudo add-apt-repository ppa: mmbossoni-gmail / emu
        Суда apt-get обновления
        sudo apt-get install qmc2-sdlmame

  7.   Micaias сказал

    привет как они скачиваются?

  8.   Фермин Барбоза сказал

    При выполнении make выдает следующую ошибку:

    src / osd / sdl / sdl.mak: 456: *** Обнаружен Ubuntu 12.10. Пожалуйста, установите пакеты gcc-4.6 и g ++ - 4.6. Стоп.

    При попытке установить gcc или g ++ выдает следующую ошибку:

    apt-get install gcc-4.6 –fix-missing
    Чтение списка пакетов ... Готово
    Создание дерева зависимостей
    Чтение информации о статусе ... Готово
    Будут установлены следующие дополнительные пакеты:
    cpp-4.6 gcc-4.6-base
    Предлагаемые пакеты:
    gcc-4.6-locales gcc-4.6-Multilib libmudflap0-4.6-dev gcc-4.6-doc libgcc1-dbg libgomp1-dbg libquadmath0-dbg libmudflap0-dbg binutils-gold
    Будут установлены следующие НОВЫЕ пакеты:
    cpp-4.6 gcc-4.6 gcc-4.6-основание
    0 обновлен, 3 будет установлен, 0 - удален, 19 - не обновлен.
    Вам необходимо скачать 12,5 МБ файлов.
    После этой операции будет использовано 28,1 МБ дополнительного дискового пространства.
    Вы хотите продолжить [Д / Н]? s
    ВНИМАНИЕ: следующие пакеты не могут быть аутентифицированы!
    gcc-4.6-основание cpp-4.6 gcc-4.6
    Установить эти пакеты без проверки [да / нет]? s
    заблуждаться http://archive.ubuntu.com/ubuntu/ квантал / основной gcc-4.6-base amd64 4.6.3-10ubuntu1
    404 Not Found [IP: 91.189.88.153 80]
    заблуждаться http://archive.ubuntu.com/ubuntu/ квантал / основной cpp-4.6 amd64 4.6.3-10ubuntu1
    404 Not Found [IP: 91.189.88.153 80]
    заблуждаться http://archive.ubuntu.com/ubuntu/ квантал / основной gcc-4.6 amd64 4.6.3-10ubuntu1
    404 Not Found [IP: 91.189.88.153 80]
    Невозможно получить http://archive.ubuntu.com/ubuntu/pool/main/g/gcc-4.6/gcc-4.6-base_4.6.3-10ubuntu1_amd64.deb 404 Not Found [IP: 91.189.88.153 80]
    Невозможно получить http://archive.ubuntu.com/ubuntu/pool/main/g/gcc-4.6/cpp-4.6_4.6.3-10ubuntu1_amd64.deb 404 Not Found [IP: 91.189.88.153 80]
    Невозможно получить http://archive.ubuntu.com/ubuntu/pool/main/g/gcc-4.6/gcc-4.6_4.6.3-10ubuntu1_amd64.deb 404 Not Found [IP: 91.189.88.153 80]
    Отсутствующие пакеты исправить не удалось.
    E: Прерывание установки.

    У меня Linux Mint Maya

    1.    x11tete11x сказал

      иди сюда http://foro.desdelinux.net/

    2.    НАУТИЛУС сказал

      Привет и извините за задержку с ответом.

      Этот Mint Maya linux - очень старый друг, вам придется установить gcc вручную, чтобы скомпилировать эту программу.

      Хотя я думаю, что есть другой метод, но вам придется вручную искать пакеты в исторических репозиториях Ubuntu.

      Я думаю, Монетный двор Майя был основан на точных
      http://packages.ubuntu.com/precise/devel/

      Только вы должны загрузить пакеты gcc 4.6 по запросу программы.

  9.   fer_pflores сказал

    эй, как мне удалить все файлы?

    1.    НАУТИЛУС сказал

      Предполагая, что вы имеете в виду файлы компиляции, тогда, запустив эту команду в терминале, «очистите». Если нужно удалить все и папку, перейдите в каталог выше и введите rm -vrf «имя папки».

  10.   луг сказал

    Здравствуйте! У меня есть Manjaro (archlinux), и он не компилируется
    Брось это в меня
    / usr / bin / ld: не удается найти -lSDL_ttf
    collect2: ошибка: ld вернул статус выхода 1
    src / build / build.mak: 63: рецепт для цели 'obj / sdl / build / file2str' не удалось
    make: *** [obj / sdl / build / file2str] Ошибка 1

    также я не знаю, какие библиотеки эквивалентны тем, которые вы упомянули в начале, кроме необходимых для сборки, если вы можете мне помочь, я был бы очень благодарен!

    1.    НАУТИЛУС сказал

      Здравствуй. Действительно, вам нужна библиотека SDL_ttf. Чтобы установить его в Archlinux, просто введите в консоль «pacman -S sdl_ttf».

      Кроме того, у вас должна быть установлена ​​библиотека «pacman -S sdl».

      По поводу build-essential, скорее всего, он у вас уже установлен. Это то, что устанавливается в ubuntu и производной от него, это некоторые базовые утилиты компиляции.

      Не стесняйтесь спрашивать о других неудобствах.

  11.   луг сказал

    Здравствуйте! Это сработало для меня! Спасибо! теперь у меня была другая ошибка, я кидаю это:

    Компиляция src / mame / video / model1.c…
    src / mame / video / model1.c: В функции 'void draw_quads (model1_state *, bitmap_rgb32 &, const rectangle &)':
    src / mame / video / model1.c: 307: 17: ошибка: нижний индекс массива превышает пределы массива [-Werror = array-bounds]
    в то время как (p [ps2 + 1] .y == cury)
    ^
    src / mame / video / model1.c: 319: 17: error: нижний индекс массива ниже пределов массива [-Werror = array-bounds]
    в то время как (p [ps1-1] .y == cury)
    ^
    src / mame / video / model1.c: 319: 17: error: нижний индекс массива ниже пределов массива [-Werror = array-bounds]
    src / mame / video / model1.c: 329: 17: ошибка: нижний индекс массива превышает пределы массива [-Werror = array-bounds]
    в то время как (p [ps2 + 1] .y == cury)
    ^
    src / mame / video / model1.c: 329: 17: ошибка: нижний индекс массива превышает пределы массива [-Werror = array-bounds]
    src / mame / video / model1.c: 305: 17: error: нижний индекс массива ниже пределов массива [-Werror = array-bounds]
    в то время как (p [ps1-1] .y == cury)
    ^
    cc1plus: все предупреждения рассматриваются как ошибки
    makefile: 922: рецепт для цели 'obj / sdl / mame / video / model1.o' не удалось
    make: *** [obj / sdl / mame / video / model1.o] Ошибка 1

    Что может быть?

    Спасибо!

    1.    НАУТИЛУС сказал

      Кажется, все указывает на ошибку компилятора.

      Вам нужна более продвинутая версия компилятора.

  12.   Рафаэль Эскамилла сказал

    Здравствуйте, я скомпилировал версию .0151 MAME, и кроме пакетов, которые вы упомянули, необходим libqt4-dev. Привет 🙂