Xây dựng phiên bản MAME mới nhất

hút0

Lần này, tôi sẽ nói về cách biên dịch phiên bản mới nhất của MAMEVì cái trên trang chính thức có những hạn chế về thời gian biên dịch.

Điều tốt khi biên dịch các chương trình cho máy tính của bạn là bạn sẽ tận dụng được nhiều hơn, đặc biệt là bộ xử lý trung tâm, vì các trình giả lập thường tận dụng nó nhiều hơn. Ngoài ra, việc cài đặt một lối vào để tương tác tốt hơn với chương trình.

Hướng dẫn hoặc hướng dẫn này được thiết kế cho những người không tuân theo MAME của vải. Vì vậy, những lợi ích có thể cảm nhận được khi bạn thực hiện thử nghiệm địa điểm. 🙂

Để bắt đầu công việc biên dịch, chúng tôi đã sao chép các nguồn chương trình, thực hiện như sau:

Không tải xuống phiên bản nguồn của trang mamedev, vì nó cho nhiều lỗi trong quá trình biên dịch.
Người dùng của Debian-Ubuntu, cài đặt các gói này:
build-essential gconf2 libgconf2-dev libgtk2.0-dev libsdl1.2-dev libsdl-ttf2.0-dev

Người dùng của Archlinux, Tôi xin lỗi, nhưng tôi đã cài đặt các thư viện trong một thời gian dài, chỉ cần xem các thư viện ở đó và tìm kiếm đối tác của chúng với pacman.

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

mame

Khi quá trình nhân bản kết thúc, hãy chuyển đến thư mục đã tạo, trong trường hợp này, thư mục được tạo theo mặc định là «mame ».

Đã có trong thư mục này, chúng ta sẽ có một loạt các thư mục và tệp. Từ đây, chúng tôi chỉ quan tâm đến trang điểm. Họ mở nó bằng trình soạn thảo văn bản mà họ chọn và chúng tôi tìm kiếm thứ gì đó tương tự như sau:

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

Và chúng tôi bỏ ghi chú dòng đó, rằng nó như được thấy trong hình ảnh sau đây.

hút2

Chúng tôi lưu các thay đổi và ngay tại đó, chúng tôi bắt đầu biên dịch bằng lệnh make:

make

Nếu bạn muốn tận dụng tối đa thời gian biên dịch, hãy sử dụng làm cho -j # ở đâu # là số lõi trong nhóm của bạn.
Để biết nhóm của bạn có bao nhiêu lõi, hãy khởi chạy lệnh này trong terminal: grep -c ^ processor / proc / cpuinfo

Khi quá trình biên dịch kết thúc, một tệp sẽ xuất hiện có tên tùy thuộc vào kiến ​​trúc hệ thống như mame nếu bạn ở 32bits hoặc hút64 cho 64bits. hút3

Trong trường hợp của tôi, tôi đang sử dụng hệ thống 64-bit.

Chà, cho đến nay chúng tôi vẫn ổn, chúng tôi đã có thể chơi trò chơi với chương trình, nhưng nó hơi cồng kềnh đối với người mới bắt đầu. Vì vậy, hãy bổ sung nó với chương trình qmc2.

Ở đó, trong cùng một cửa sổ, chúng tôi thực hiện sữa chua để cài đặt giao diện người dùng.

Đối với người dùng Archlinux

yaourt -S qmc2

Đối với người dùng 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
Dành cho người dùng Ubuntu / Debian

Sao chép tệp thực thi của mame vào đường dẫn này dưới dạng: / usr / games / mame

Sau đó, họ mở chương trình qmc2sdlmme và cửa sổ này sẽ xuất hiện:

qmc2-sdlme

Như bạn thấy, chương trình không yêu cầu nhiều.

Những thứ quan trọng nhất trong cửa sổ này là đường dẫn của tệp thực thi, thư mục làm việc và đường dẫn của các bản rom.

Đường dẫn của tệp thực thi mame, bạn có thể có nó ở bất cứ đâu bạn muốn, miễn là bạn cho chương trình biết tệp thực thi ở đâu, trò chơi cũng vậy.

Và đây mame đang hoạt động. Vâng, tôi đã thử một trò chơi, một trong những trò chơi máy đánh bạc yêu thích của tôi, rất nhiều xu mà tôi lấy trong thời gian của nó, bây giờ tôi là người có được nước trái cây ở đây. xD

Của chúng tôi MAME hành động

mame-in-action

Lời chào và chơi đã được nói 😀

Đây là bài viết đầu tiên của tôi cho blog này, mà tôi đã theo dõi trong một thời gian dài với biệt danh Mauricio, vì bài viết thú vị của anh ấy và anh ấy luôn có một cái gì đó mới để thể hiện.


Nội dung bài viết tuân thủ các nguyên tắc của chúng tôi về đạo đức biên tập. Để báo lỗi, hãy nhấp vào đây.

28 bình luận, để lại của bạn

Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

  1.   người câm dijo

    Bạn lấy rom ở đâu?

    1.    NauTiluS dijo

      Trên Google, bạn ơi 🙂

  2.   otakulogan dijo

    Bài viết rất hay để nhớ rằng trước Steam đã có trò chơi điện tử trên GNU / Linux. Chúng không phải là mới hoặc bản địa, nhưng chúng có thể cung cấp hàng nghìn giờ giải trí và thú vị.

    Và tôi muốn đặt tên là UME (http://mamedev.emulab.it/haze/), sáng kiến ​​kết hợp giữa Mame và Mess (nếu Mame giải quyết các trò chơi thùng, Mess với bảng điều khiển video), tạo ra một trình giả lập đa hệ thống thực sự. Tôi chỉ thấy nó trong kho trình giả lập OpenSUSE và trong cộng đồng ArchLinux, nhưng để biên dịch nó trong Debian, các bước phải làm theo rất giống với những bước được NauTiluS cho Debian / Ubuntu.

    1.    NauTiluS dijo

      Nếu bạn chỉnh sửa makefile và chuyển đến dòng 27, bạn sẽ tìm thấy một biến quan trọng. Biến này là biến chỉ định mục tiêu để xây dựng, có thể là: MAME, UME, MESS, v.v.

      Trong trường hợp của bạn, hãy thay đổi nó thành UME, bạn sẽ nhận được tệp thực thi này.

      Liên quan

  3.   Alebils dijo

    xin chào
    khi tôi thực hiện, tôi nhận được những điều sau:

    src / osd / sdl / sdl.mak: 519: *** Không tìm thấy Trình biên dịch đối tượng Meta (moc) của Qt !. Cao.

    Tôi sử dụng Kubuntu 12.04 32 bit

    Cảm ơn

    1.    serfravirs dijo

      Có vẻ như với tôi rằng nó đang cảnh báo bạn rằng bạn cần phải cài đặt moc; Sau khi thực hiện một số nghiên cứu, tôi nhận thấy rằng thứ bạn có thể cần là ô tô, nhưng tôi không chắc. Thử tìm kiếm trong Sinaptic hoặc Aptitude, tôi không thể nhớ cái nào sử dụng Kubuntu.

      1.    alebils dijo

        Cảm ơn, đã cài đặt moc và automoc và đang biên dịch

  4.   rolo dijo

    Có tiện lợi khi cài đặt phiên bản mame mới nhất không? Tôi hỏi tại sao khi tải repo deb-đa phương tiện, tôi cài đặt mame hiện đại hơn bản thử nghiệm debian, nhưng ... nhiều trò chơi đã ngừng hoạt động. vì vậy tôi đã giữ phiên bản debian và tạm biệt các vấn đề.
    Tôi không chắc nhưng tôi nghĩ rằng nhiều trò chơi được biên soạn cho một phiên bản mame nhất định

  5.   Alebils dijo

    Cuối cùng tôi đã biên dịch
    nhưng khi muốn cài đặt qmc2, tôi nhận được:

    sudo apt-get cài đặt qmc2-sdlmame qmc2-sdlmess qmc2-sdlume qmc2-arcade qchdman
    Đang đọc danh sách gói ... Xong
    Tạo cây phụ thuộc
    Đang đọc thông tin trạng thái ... Xong
    Không thể cài đặt một số gói. Điều này có thể có nghĩa là
    bạn đã yêu cầu một tình huống bất khả thi hoặc nếu bạn đang sử dụng bản phân phối
    không ổn định, một số gói cần thiết chưa được tạo hoặc có
    đã được chuyển ra khỏi Incoming.
    Thông tin sau có thể giúp giải quyết tình huống:

    Các gói sau đây có các thuộc tính không được đáp ứng:
    qmc2-sdlmess: Phụ thuộc: sdlmess (> = 0.144) nhưng nó không thể cài đặt được hoặc
    lộn xộn (> = 0.144) nhưng nó không thể cài đặt được
    qmc2-sdlume: Phụ thuộc: sdlume (> = 0.144) nhưng nó không thể cài đặt được hoặc
    ume (> = 0.144) nhưng không thể cài đặt được
    E: Không thể sửa chữa các vấn đề, bạn đã giữ lại các gói bị hỏng.

    1.    NauTiluS dijo

      Xin chào và cảm ơn đã bình luận.
      Những gì bạn phải làm trong trường hợp đó là đánh lừa hệ thống và cài đặt các gói được yêu cầu, sdlmame và sdlmess.

      Khi đó vấn đề của bạn đã được giải quyết, sau đó thay thế hoặc chuyển đường dẫn có mame mà bạn đã biên dịch.

      Liên quan

      1.    Alebils dijo

        Tôi cố gắng cài đặt chúng bằng apt-get install nhưng tôi nhận được những điều sau:
        sudo apt-get cài đặt sdlmess
        Đang đọc danh sách gói ... Xong
        Tạo cây phụ thuộc
        Đang đọc thông tin trạng thái ... Xong
        Gói sdlmess không khả dụng, nhưng một số tham chiếu gói khác
        đến. Điều này có thể có nghĩa là gói bị thiếu, lỗi thời hoặc chỉ
        có sẵn từ một số nguồn khác

        E: Gói "sdlmess" không có ứng viên để cài đặt

        và tương tự cho sdlume

        1.    NauTiluS dijo

          Hãy thử như sau.

          sudo touch sdlmess / usr / games /
          Để đánh lừa trình cài đặt.

          Liên quan

          1.    Alebils dijo

            xin chào
            Thăm dò, nhưng không có gì xảy ra, nó vẫn không cho phép tôi cài đặt ...
            🙁

      2.    moony dijo

        cài đặt xmame-sdl hoạt động tốt hoặc tốt hơn !! và bạn định tuyến đến / usr / games / mame -al mặc dù qmc2 yêu cầu sdl… .-.
        Câu trả lời này có thể mất thời gian nhưng có thể nó sẽ hữu ích cho những người khác đang tìm kiếm điều tương tự. Tôi đã mất hai ngày để thu thập tất cả thông tin để làm cho mame hoạt động tốt trong phiên bản hiện tại của nó: 0.153.
        Nếu bạn muốn rom cho phiên bản này, trang tốt nhất mặc dù hơi chậm là planetemu.net. Trân trọng.
        Tôi vẫn không thể tìm thấy cách lọc rom trong qmc2 bằng thao tác, tôi không thể tìm thấy tùy chọn và nó ném cho tôi danh sách chính thức rất dài!

  6.   vâng lời dijo

    Điều tôi thích là qmc2 là một ứng dụng Qt: D, nhưng thật tiếc là tôi đang sử dụng kubuntu 14.04 vì qmc2 PPA chỉ có sẵn cho đến khi saucy.

    1.    NauTiluS dijo

      Xin chào, bạn có thể thử biên dịch qmc2 bằng cách tải xuống các nguồn từ trang của nó.
      http://qmc2.arcadehits.net/wordpress/download/

      Chúc mừng.

      1.    alberto dijo

        tại sao phải cài đặt những (qmc2-sdlmess qmc2-sdlume qmc2-arcade qchdman) nếu chúng ta chỉ cài mame?

        sudo apt-get cài đặt qmc2-sdlmame qmc2-sdlmess qmc2-sdlume qmc2-arcade qchdman
        Đang đọc danh sách gói ... Xong
        Tạo cây phụ thuộc
        Đang đọc thông tin trạng thái ... Xong
        Không thể cài đặt một số gói. Điều này có thể có nghĩa là
        bạn đã yêu cầu một tình huống bất khả thi hoặc nếu bạn đang sử dụng bản phân phối
        không ổn định, một số gói cần thiết chưa được tạo hoặc có
        đã được chuyển ra khỏi Incoming.
        Thông tin sau có thể giúp giải quyết tình huống:

        Các gói sau đây có các thuộc tính không được đáp ứng:
        qmc2-sdlmess: Phụ thuộc: sdlmess (> = 0.144) nhưng nó không thể cài đặt được hoặc
        lộn xộn (> = 0.144) nhưng nó không thể cài đặt được
        qmc2-sdlume: Phụ thuộc: sdlume (> = 0.144) nhưng nó không thể cài đặt được hoặc
        ume (> = 0.144) nhưng không thể cài đặt được
        E: Không thể sửa chữa các vấn đề, bạn đã giữ lại các gói bị hỏng.

        Đối với những người xảy ra điều này, chỉ cần cài đặt qmc2-sdlmame
        nó sẽ trông như thế này:
        sudo add-apt-repository ppa: mmbossoni-gmail / emu
        sudo apt-get update
        sudo apt-get cài đặt qmc2-sdlmame

  7.   micaia dijo

    Xin chào, chúng được tải xuống như thế nào?

  8.   Fermin barboza dijo

    Khi thực hiện lệnh make nó xuất hiện lỗi sau:

    src / osd / sdl / sdl.mak: 456: *** Đã phát hiện thấy Ubuntu 12.10. Vui lòng cài đặt gói gcc-4.6 và g ++ - 4.6. Dừng lại.

    Khi cố gắng cài đặt gcc hoặc g ++, nó sẽ xuất hiện lỗi sau:

    apt-get install gcc-4.6 –fix-thiếu
    Đang đọc danh sách gói ... Xong
    Tạo cây phụ thuộc
    Đang đọc thông tin trạng thái ... Xong
    Các gói bổ sung sau sẽ được cài đặt:
    cpp-4.6 gcc-4.6-base
    Các gói được đề xuất:
    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
    Các gói MỚI sau sẽ được cài đặt:
    cpp-4.6 gcc-4.6 gcc-4.6-base
    0 được cập nhật, 3 sẽ được cài đặt, 0 để xóa và 19 không được cập nhật.
    Bạn cần tải xuống 12,5 MB tệp.
    28,1 MB dung lượng đĩa bổ sung sẽ được sử dụng sau thao tác này.
    Bạn có muốn tiếp tục [Y / n] không? S
    LƯU Ý: Không thể xác thực các gói sau!
    gcc-4.6-base cpp-4.6 gcc-4.6
    Cài đặt các gói này mà không cần xác minh [y / n]? S
    http://archive.ubuntu.com/ubuntu/ quantal / main gcc-4.6-base amd64 4.6.3-10ubuntu1
    404 Không tìm thấy [IP: 91.189.88.153 80]
    http://archive.ubuntu.com/ubuntu/ quantal / main cpp-4.6 amd64 4.6.3-10ubuntu1
    404 Không tìm thấy [IP: 91.189.88.153 80]
    http://archive.ubuntu.com/ubuntu/ quantal / main gcc-4.6 amd64 4.6.3-10ubuntu1
    404 Không tìm thấy [IP: 91.189.88.153 80]
    Không thể có được http://archive.ubuntu.com/ubuntu/pool/main/g/gcc-4.6/gcc-4.6-base_4.6.3-10ubuntu1_amd64.deb 404 Không tìm thấy [IP: 91.189.88.153 80]
    Không thể có được http://archive.ubuntu.com/ubuntu/pool/main/g/gcc-4.6/cpp-4.6_4.6.3-10ubuntu1_amd64.deb 404 Không tìm thấy [IP: 91.189.88.153 80]
    Không thể có được http://archive.ubuntu.com/ubuntu/pool/main/g/gcc-4.6/gcc-4.6_4.6.3-10ubuntu1_amd64.deb 404 Không tìm thấy [IP: 91.189.88.153 80]
    Các gói bị thiếu không thể được sửa chữa.
    E: Hủy cài đặt.

    Tôi có Linux Mint Maya

    1.    x11tete11x dijo
    2.    NauTiluS dijo

      Xin chào và xin lỗi vì sự chậm trễ trong việc trả lời.

      Mint Maya linux đó là một người bạn rất cũ, bạn sẽ phải cài đặt gcc theo cách thủ công, để có thể biên dịch chương trình này.

      Mặc dù tôi nghĩ rằng có một phương pháp khác, nhưng bạn phải tìm kiếm các gói theo cách thủ công trong các kho lưu trữ lịch sử ubuntu.

      Tôi nghĩ Mint Maya dựa trên chính xác
      http://packages.ubuntu.com/precise/devel/

      Chỉ, bạn phải tải xuống các gói gcc 4.6 theo yêu cầu của chương trình.

  9.   fer_pflores dijo

    này, làm cách nào để xóa tất cả các tệp?

    1.    NauTiluS dijo

      Giả sử ý bạn là các tệp biên dịch, thì bằng cách chạy lệnh này trong terminal, hãy "làm sạch". Nếu muốn xóa mọi thứ và thư mục, hãy tải lên một thư mục ở trên và với rm -vrf "tên thư mục".

  10.   Đồng cỏ dijo

    Xin chào! Tôi có Manjaro (Archlinux) và nó không biên dịch
    Ném cái này vào tôi
    / usr / bin / ld: không thể tìm thấy -lSDL_ttf
    Collect2: error: ld trả về trạng thái thoát 1
    src / build / build.mak: 63: công thức cho target 'obj / sdl / build / file2str' không thành công
    make: *** [obj / sdl / build / file2str] Lỗi 1

    Ngoài ra, tôi không biết đâu là thư viện tương đương với những thư viện mà bạn đã đề cập ở phần đầu, ngoại trừ build-Essential, nếu bạn có thể giúp tôi một tay, tôi sẽ rất biết ơn!

    1.    NauTiluS dijo

      Chào. Thật vậy, bạn cần thư viện SDL_ttf. Để cài đặt nó trên Archlinux, chỉ cần đặt vào bảng điều khiển "pacman -S sdl_ttf".

      Ngoài ra, bạn phải cài đặt thư viện "pacman -S sdl".

      Trên bản dựng cần thiết, rất có thể bạn đã cài đặt nó. Đây là những gì cài đặt trong ubuntu và dẫn xuất là một số tiện ích biên dịch cơ bản.

      Bất kỳ sự bất tiện khác đừng ngần ngại hỏi.

  11.   Đồng cỏ dijo

    Xin chào! Điều đó đã làm việc cho tôi! Cảm ơn bạn! bây giờ tôi có một lỗi khác, nó ném cho tôi cái này:

    Biên dịch src / mame / video / model1.c…
    src / mame / video / model1.c: Trong hàm 'void draw_quads (model1_state *, bitmap_rgb32 &, const Chữ nhật &)':
    src / mame / video / model1.c: 307: 17: error: chỉ số con của mảng vượt quá giới hạn của mảng [-Werror = array-bounds]
    while (p [ps2 + 1] .y == cury)
    ^
    src / mame / video / model1.c: 319: 17: error: chỉ số dưới mảng nằm dưới giới hạn mảng [-Werror = array-bounds]
    trong khi (p [ps1-1] .y == cury)
    ^
    src / mame / video / model1.c: 319: 17: error: chỉ số dưới mảng nằm dưới giới hạn mảng [-Werror = array-bounds]
    src / mame / video / model1.c: 329: 17: error: chỉ số con của mảng vượt quá giới hạn của mảng [-Werror = array-bounds]
    while (p [ps2 + 1] .y == cury)
    ^
    src / mame / video / model1.c: 329: 17: error: chỉ số con của mảng vượt quá giới hạn của mảng [-Werror = array-bounds]
    src / mame / video / model1.c: 305: 17: error: chỉ số dưới mảng nằm dưới giới hạn mảng [-Werror = array-bounds]
    trong khi (p [ps1-1] .y == cury)
    ^
    cc1plus: tất cả các cảnh báo được coi là lỗi
    makefile: 922: công thức cho target 'obj / sdl / mame / video / model1.o' không thành công
    thực hiện: *** [obj / sdl / mame / video / model1.o] Lỗi 1

    Có thể là?

    Cảm ơn bạn!

    1.    NauTiluS dijo

      Mọi thứ dường như chỉ ra lỗi trình biên dịch.

      Bạn cần một phiên bản nâng cao hơn của trình biên dịch.

  12.   Hình ảnh trình giữ chỗ Rafael Escamilla dijo

    Xin chào, tôi đã biên dịch phiên bản .0151 của MAME và ngoài các gói mà bạn đề cập, libqt4-dev là cần thiết. Xin chào 🙂