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

mame0

Nhân dịp này, tôi sẽ nói về cách biên dịch phiên bản mới nhất hoặc đang phát triển của MAME, vì trang trên trang chính thức có vấn đề về thời gian biên dịch.

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

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

Để 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ì điều này gây ra 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 ArchlinuxTôi xin lỗi, nhưng tôi đã cài đặt các thư viện từ lâu rồi, chỉ cần nhìn vào những thư viện ở đó và tìm bản sao của chúng với pacman.

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

mame

Khi bạn hoàn tất quá trình sao chép, hãy chuyển đến thư mục đã tạo, trong trường hợp này, thư mục được tạo mặc định là «mẹ ".

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 ta 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ọ lựa chọn và chúng tôi tìm kiếm thứ gì đó tương tự như thế này:

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

Và chúng ta bỏ ghi chú dòng đó để nó vẫn giữ nguyên như trong hình ảnh sau đây.

mame2

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

make

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

Khi quá trình biên dịch kết thúc công việc của nó, một tệp có tên tùy thuộc vào kiến ​​trúc hệ thống sẽ xuất hiện dưới dạng mame Nếu bạn đang ở trên 32bit hoặc mame64 cho 64bit. mame3

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 đang làm tốt, bây giờ chúng tôi sẽ có thể chạy trò chơi bằng 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ó bằng 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.

Dành cho người dùng Archlinux

yaourt -S qmc2

Dành cho người dùng Ubuntu-Debian

sudo add-apt-repository ppa: mmbossoni-gmail/emu sudo apt-get cập nhật sudo apt-get cài đặt 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 mame vào đường dẫn này như sau: /usr/games/mame

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

qmc2-sdlmame

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

Điều quan trọng nhất trong cửa sổ này là đường dẫn của file thực thi, thư mục làm việc và đường dẫn của các 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 vị trí của tệp thực thi, điều tương tự đối với các trò chơi cũng vậy.

Và đây mẹ đang hành động. Chà, tôi đang thử một trò chơi, một trong những máy đánh bạc yêu thích của tôi, rất nhiều xu mà tôi kiếm được trong thời gian đó, bây giờ tôi là người tận dụng tối đa nó ở đây. xd

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

mẹ đang hành động

Chào chơi đã nói rồi 😀

Đây là bài viết đầu tiên của tôi cho blog này, blog mà tôi đã theo dõi từ lâu với biệt danh Mauricio, vì những bài đăng thú vị của anh ấy và rằng anh ấy luôn có điều gì đó mới mẻ để thể hiệ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 vậy?

    1.    NauTiluS dijo

      Trên Google nhé bạn ơi 🙂

  2.   otakulogan dijo

    Bài viết rất hay cần 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 hay nguyên bản, nhưng chúng có thể mang lại hàng nghìn giờ giải trí và vui vẻ.

    Và tôi xin đặt tên là UME (http://mamedev.emulab.it/haze/), sáng kiến ​​kết hợp Mame và Mess (nếu Mame xử lý trò chơi điện tử, Mess xử lý máy chơi game điện tử), 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 mô phỏng OpenSUSE và trong cộng đồng ArchLinux, nhưng để biên dịch nó trong Debian, các bước cần làm rất giống với các bước mà NauTiluS đưa ra cho Debian/Ubuntu.

    1.    NauTiluS dijo

      Nếu bạn chỉnh sửa tệp makefile và đi đế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 xác định mục tiêu cần xây dựng, có thể là: MAME, UME, MESS, v.v.

      Trong trường hợp của bạn, hãy đổi nó thành UME, bạn sẽ có đượ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 của Qt (moc)!. Cao.

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

    Cảm ơn

    1.    serfravirs dijo

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

      1.    alebils dijo

        Cảm ơn, đó là những gì tôi đã cài đặt moc và automoc và nó đang biên dịch

  4.   rolo dijo

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

  5.   Alebils dijo

    Cuối cùng tôi biên dịch
    nhưng khi tôi muốn cài đặt qmc2 thì 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 không thể cài đặt được hoặc
    lộn xộn (>= 0.144) nhưng không cài đặt được
    qmc2-sdlume : Phụ thuộc: sdlume (>= 0.144) nhưng không thể cài đặt được hoặc
    ume (>= 0.144) nhưng không cài đượ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 vì đã 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 mà họ yêu cầu, sdlmame và sdlmess.

      Điều này giải quyết vấn đề của bạn, sau đó thay thế hoặc chuyển đường dẫn chứa 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 có sẵn, nhưng một số gói khác tham chiếu đến nó
        đế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ự đối với sdlume

        1.    NauTiluS dijo

          Hãy thử cách sau.

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

          Liên quan

          1.    Alebils dijo

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

      2.    moony dijo

        cài đặt xmame-sdl cũng hoạt động tốt hoặc tốt hơn !! và bạn định tuyến đến /usr/games/mame -mặc dù qmc2 yêu cầu sdl….-.
        Phản hồi này muộn nhưng có thể nó sẽ giúp được 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 để giúp mame hoạt động tốt trong phiên bản hiện tại: 0.153.
        Nếu bạn muốn có rom cho phiên bản này, trang web tốt nhất, mặc dù hơi chậm, là Planetemu.net. lời chào hỏi.
        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ó cung cấp 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 đáng tiếc khi tôi đang sử dụng Kubfox 14.04 vì qmc2 PPA chỉ khả dụng 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 thứ này (qmc2-sdlmess qmc2-sdlume qmc2-arcade qchdman) nếu chúng ta chỉ cài đặt 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 không thể cài đặt được hoặc
        lộn xộn (>= 0.144) nhưng không cài đặt được
        qmc2-sdlume : Phụ thuộc: sdlume (>= 0.144) nhưng không thể cài đặt được hoặc
        ume (>= 0.144) nhưng không cài đượ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.

        Nếu điều này xảy ra với bạn, 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, làm thế nào để bạn tải chúng xuống?

  8.   Fermin Barboza dijo

    Khi chạy make nó báo 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ó báo lỗi sau:

    cài đặt apt-get 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? Đúng
    CẢNH BÁO: Không thể xác thực các gói sau!
    gcc-4.6-cơ sở 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]? Đúng
    http://archive.ubuntu.com/ubuntu/ lượng tử/chính 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/ lượng tử/cpp chính-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/ lượng tử/gcc chính-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]
    Không thể sửa các gói bị thiếu.
    E: Hủy bỏ quá trình cài đặt.

    Tôi có Linux Mint Maya

    1.    x11tete11x dijo
    2.    NauTiluS dijo

      Xin chào và xin lỗi vì phản hồi muộn.

      Linux Mint Maya đó 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ĩ 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 kho Ubuntu lịch sử.

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

      Bạn chỉ cần tải xuống 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 tin?

    1.    NauTiluS dijo

      Giả sử rằng bạn đang đề cập đến các tệp biên dịch, thì bằng cách thực hiện lệnh này trong thiết bị đầu cuối, 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 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 được cho tôi
    Tôi hiểu điều này
    /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 mục tiêu 'obj/sdl/build/file2str' không thành công
    tạo: *** [obj/sdl/build/file2str] Lỗi 1

    Tôi cũng không biết thư viện nào tương đương với những thư viện bạn đề cập lúc đầ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

      Xin chào. Bạn thực sự cần thư viện SDL_ttf. Để cài đặt nó trên Archlinux, chỉ cần đặt “pacman -S sdl_ttf” vào bảng điều khiển.

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

      Về build-essential, rất có thể bạn đã cài đặt nó. Những gì nó cài đặt trong Ubuntu và bắt nguồn từ một số tiện ích biên dịch cơ bản.

      Nếu bạn có bất kỳ sự bất tiện nào khác, đừng ngần ngại hỏi.

  11.   Đồng cỏ dijo

    Xin chào! Điều đó đã hiệu quả với tôi! Cảm ơn! Bây giờ tôi gặp một lỗi khác, nó báo cho tôi điều này:

    Đang 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 hình chữ nhật&)':
    src/mame/video/model1.c:307:17: error: chỉ số mảng nằm trên giới hạn mảng [-Werror=array-bounds]
    while(p[ps2+1].y == cury)
    ^
    src/mame/video/model1.c:319:17: error: chỉ số mảng nằm dưới giới hạn mảng [-Werror=array-bounds]
    while(p[ps1-1].y == cury)
    ^
    src/mame/video/model1.c:319:17: error: chỉ số 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ố mảng nằm trên giới hạn mảng [-Werror=array-bounds]
    while(p[ps2+1].y == cury)
    ^
    src/mame/video/model1.c:329:17: error: chỉ số mảng nằm trên giới hạn mảng [-Werror=array-bounds]
    src/mame/video/model1.c:305:17: error: chỉ số mảng nằm dưới giới hạn mảng [-Werror=array-bounds]
    while(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 mục tiêu 'obj/sdl/mame/video/model1.o' không thành công
    tạo: *** [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 cao cấp hơn của trình biên dịch.

  12.   Rafael Escamilla dijo

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