GithubHelp home page GithubHelp logo

libretro / mame2000-libretro Goto Github PK

View Code? Open in Web Editor NEW
37.0 12.0 52.0 21.44 MB

2000 version of MAME (0.37b5) for libretro. Compatible with iMAME4All/MAME4Droid/MAME 0.37b5 sets.

Makefile 0.06% Perl 0.01% C 76.61% C++ 0.03% Objective-C 0.01% Assembly 23.29%

mame2000-libretro's Introduction

You compile the libretro core like this:

make

If you are compiling it for an ARM system, add "ARM=1" to the end of the command, like this:

make ARM=1

There are two additional ASM optimised CPU cores that can be used for ARM. Cyclone for 68k emulation and DRZ80 for z80. They can bring a speedup and may be of use for older cpus, but reduce compatibility. To enable them pass USE_CYCLONE=1 and/or USE_DRZ80=1 to make.

eg.

make ARM=1 USE_CYCLONE=1 USE_DRZ80=1

mame2000-libretro's People

Contributors

alcaro avatar aliaspider avatar andres-asm avatar bananarama203 avatar crystalct avatar dankcushions avatar fr500 avatar frangarcj avatar grant2258 avatar guoyunhe avatar heitbaum avatar hizzlekizzle avatar hunterk avatar inactive123 avatar joeosborn avatar joolswills avatar libretroadmin avatar lubosz avatar mahoneyt944 avatar markwkidd avatar mrjschulte avatar neonloop avatar r-type avatar salvacam avatar themaister avatar toadking avatar vanfanel avatar webgeek1234 avatar weedyweedsmoker avatar yoshisuga avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mame2000-libretro's Issues

mame2000-libretro performs worse than mame4all

It's held as gospel truth in the RetroPie community that mame2000-libretro performs worse than mame4all even though they are both derived from the MAME 0.37b5 codebase.

I'm creating this issue simply because it's such a ubiquitous understanding in that user group but it is not being tracked on this end. Perhaps one day someone will be curious enough to investigate the discrepancy.


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

OS X build errors - clang

Trying to build iMAME for libretro:

In file included from src/memory.cpp:745:
src/memory_write.h:1147:4: warning: cast from 'unsigned char *' to 'UINT16 *'
(aka 'unsigned short *') increases required alignment from 1 to 2
[-Wcast-align]
...WRITE_WORD(&cpu_bankbase[hw2][address2 - memorywriteoffset[hw2]], word2)...
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/memory.h:248:30: note: expanded from macro 'WRITE_WORD'

define WRITE_WORD(a,d) (*(UINT16 *)(a) = (d))

                                ^~~~~~~~~~~~~

src/memory.cpp:891:14: error: cast from pointer to smaller type 'int' loses
information
hardware = (int)MWA_BANK1 - (int)handler + 1;
^~~~~~~~~~~~~~
src/memory.cpp:891:31: error: cast from pointer to smaller type 'int' loses
information
hardware = (int)MWA_BANK1 - (int)handler + 1;
^~~~~~~~~~~~
src/memory.cpp:926:14: error: cast from pointer to smaller type 'int' loses
information
hardware = (int)MWA_BANK1 - (int)handler + 1;
^~~~~~~~~~~~~~
src/memory.cpp:926:31: error: cast from pointer to smaller type 'int' loses
information
hardware = (int)MWA_BANK1 - (int)handler + 1;
^~~~~~~~~~~~
src/memory.cpp:1006:14: error: cast from pointer to smaller type 'int' loses
information
hardware = (int)MRA_BANK1 - (int)handler + 1;
^~~~~~~~~~~~~~
src/memory.cpp:1006:31: error: cast from pointer to smaller type 'int' loses
information
hardware = (int)MRA_BANK1 - (int)handler + 1;
^~~~~~~~~~~~
src/memory.cpp:1094:14: error: cast from pointer to smaller type 'int' loses
information
hardware = (int)MWA_BANK1 - (int)handler + 1;
^~~~~~~~~~~~~~
src/memory.cpp:1094:31: error: cast from pointer to smaller type 'int' loses
information
hardware = (int)MWA_BANK1 - (int)handler + 1;
^~~~~~~~~~~~
48 warnings and 8 errors generated.
make: *** [obj_mame_libretro/memory.o] Error 1

<command-line>:0:13: error: expected ‘(’ before ‘__volatile__’

cc -DGP2X -DALIGN_INTS -DALIGN_SHORTS -Dasm="__asm__ __volatile__" -DMAME_UNDERCLOCK -DMAME_FASTSOUND -DENABLE_AUTOFIRE -DBIGCASE -D__LIBRETRO__ -DWANT_LIBCO -I./src/libretro/libretro-common/include -fPIC -Isrc/zlib -Wno-sign-compare -Wunused -Wpointer-arith -Waggregate-return -Wshadow -I./src -I./src/libretro -I./src/libretro/libretro-common/include -DHAS_Z80=1 -DHAS_8080=1 -DHAS_8085A=1 -DHAS_M6502=1 -DHAS_M65C02=1 -DHAS_M6510=1 -DHAS_N2A03=1 -DHAS_H6280=1 -DHAS_I86=1 -DHAS_I186=1 -DHAS_V20=1 -DHAS_V30=1 -DHAS_V33=1 -DHAS_I8035=1 -DHAS_I8039=1 -DHAS_I8048=1 -DHAS_N7751=1 -DHAS_M6800=1 -DHAS_M6801=1 -DHAS_M6802=1 -DHAS_M6803=1 -DHAS_M6808=1 -DHAS_HD63701=1 -DHAS_NSC8105=1 -DHAS_M6805=1 -DHAS_M68705=1 -DHAS_HD63705=1 -DHAS_M6805=1 -DHAS_HD6309=1 -DHAS_M6809=1 -DHAS_KONAMI=1 -DHAS_M68000=1 -DHAS_M68010=1 -DHAS_M68EC020=1 -DHAS_M68020=1 -DHAS_T11=1 -DHAS_S2650=1 -DHAS_TMS34010=1 -DHAS_TMS9980=1 -DHAS_Z8000=1 -DHAS_TMS320C10=1 -DHAS_CCPU=1 -DHAS_ADSP2100=1 -DHAS_ADSP2105=1 -DHAS_MIPS=1 -DHAS_AY8910=1 -DHAS_YM2203=1 -DHAS_YM2151=1 -DHAS_YM2608=1 -DHAS_YM2610=1 -DHAS_YM2610B=1 -DHAS_YM2612=1 -DHAS_YM3438=1 -DHAS_YM2413=1 -DHAS_YM3812=1 -DHAS_YM3526=1 -DHAS_Y8950=1 -DHAS_CUSTOM=1 -DHAS_YMZ280B=1 -DHAS_POKEY=1 -DHAS_QSOUND=1 -DHAS_SN76477=1 -DHAS_SN76496=1 -DHAS_TMS36XX=1 -DHAS_TMS5220=1 -DHAS_SEGAPCM=1 -DHAS_DISCRETE=1 -DHAS_DAC=1 -DHAS_ADPCM=1 -DHAS_OKIM6295=1 -DHAS_SAMPLES=1 -DHAS_ASTROCADE=1 -DHAS_NES=1 -DHAS_NAMCO=1 -DHAS_VLM5030=1 -DHAS_MSM5205=1 -DHAS_UPD7759=1 -DHAS_HC55516=1 -DHAS_K005289=1 -DHAS_K007232=1 -DHAS_K051649=1 -DHAS_K053260=1 -DHAS_K054539=1 -DHAS_RF5C68=1 -DHAS_CEM3394=1 -DHAS_C140=1 -O2 -march=native -ftree-vectorize -funsafe-math-optimizations -pipe -DGIT_VERSION=\"" 12b5419"\" -Dasm="__asm__ __volatile__" -O2 -DNDEBUG -c src/libretro/shared.c -o src/libretro/shared.o cc -DGP2X -DALIGN_INTS -DALIGN_SHORTS -Dasm="__asm__ __volatile__" -DMAME_UNDERCLOCK -DMAME_FASTSOUND -DENABLE_AUTOFIRE -DBIGCASE -D__LIBRETRO__ -DWANT_LIBCO -I./src/libretro/libretro-common/include -fPIC -Isrc/zlib -Wno-sign-compare -Wunused -Wpointer-arith -Waggregate-return -Wshadow -I./src -I./src/libretro -I./src/libretro/libretro-common/include -DHAS_Z80=1 -DHAS_8080=1 -DHAS_8085A=1 -DHAS_M6502=1 -DHAS_M65C02=1 -DHAS_M6510=1 -DHAS_N2A03=1 -DHAS_H6280=1 -DHAS_I86=1 -DHAS_I186=1 -DHAS_V20=1 -DHAS_V30=1 -DHAS_V33=1 -DHAS_I8035=1 -DHAS_I8039=1 -DHAS_I8048=1 -DHAS_N7751=1 -DHAS_M6800=1 -DHAS_M6801=1 -DHAS_M6802=1 -DHAS_M6803=1 -DHAS_M6808=1 -DHAS_HD63701=1 -DHAS_NSC8105=1 -DHAS_M6805=1 -DHAS_M68705=1 -DHAS_HD63705=1 -DHAS_M6805=1 -DHAS_HD6309=1 -DHAS_M6809=1 -DHAS_KONAMI=1 -DHAS_M68000=1 -DHAS_M68010=1 -DHAS_M68EC020=1 -DHAS_M68020=1 -DHAS_T11=1 -DHAS_S2650=1 -DHAS_TMS34010=1 -DHAS_TMS9980=1 -DHAS_Z8000=1 -DHAS_TMS320C10=1 -DHAS_CCPU=1 -DHAS_ADSP2100=1 -DHAS_ADSP2105=1 -DHAS_MIPS=1 -DHAS_AY8910=1 -DHAS_YM2203=1 -DHAS_YM2151=1 -DHAS_YM2608=1 -DHAS_YM2610=1 -DHAS_YM2610B=1 -DHAS_YM2612=1 -DHAS_YM3438=1 -DHAS_YM2413=1 -DHAS_YM3812=1 -DHAS_YM3526=1 -DHAS_Y8950=1 -DHAS_CUSTOM=1 -DHAS_YMZ280B=1 -DHAS_POKEY=1 -DHAS_QSOUND=1 -DHAS_SN76477=1 -DHAS_SN76496=1 -DHAS_TMS36XX=1 -DHAS_TMS5220=1 -DHAS_SEGAPCM=1 -DHAS_DISCRETE=1 -DHAS_DAC=1 -DHAS_ADPCM=1 -DHAS_OKIM6295=1 -DHAS_SAMPLES=1 -DHAS_ASTROCADE=1 -DHAS_NES=1 -DHAS_NAMCO=1 -DHAS_VLM5030=1 -DHAS_MSM5205=1 -DHAS_UPD7759=1 -DHAS_HC55516=1 -DHAS_K005289=1 -DHAS_K007232=1 -DHAS_K051649=1 -DHAS_K053260=1 -DHAS_K054539=1 -DHAS_RF5C68=1 -DHAS_CEM3394=1 -DHAS_C140=1 -O2 -march=native -ftree-vectorize -funsafe-math-optimizations -pipe -DGIT_VERSION=\"" 12b5419"\" -Dasm="__asm__ __volatile__" -O2 -DNDEBUG -c src/libretro/libretro-common/libco/libco.c -o src/libretro/libretro-common/libco/libco.o cc -DGP2X -DALIGN_INTS -DALIGN_SHORTS -Dasm="__asm__ __volatile__" -DMAME_UNDERCLOCK -DMAME_FASTSOUND -DENABLE_AUTOFIRE -DBIGCASE -D__LIBRETRO__ -DWANT_LIBCO -I./src/libretro/libretro-common/include -fPIC -Isrc/zlib -Wno-sign-compare -Wunused -Wpointer-arith -Waggregate-return -Wshadow -I./src -I./src/libretro -I./src/libretro/libretro-common/include -DHAS_Z80=1 -DHAS_8080=1 -DHAS_8085A=1 -DHAS_M6502=1 -DHAS_M65C02=1 -DHAS_M6510=1 -DHAS_N2A03=1 -DHAS_H6280=1 -DHAS_I86=1 -DHAS_I186=1 -DHAS_V20=1 -DHAS_V30=1 -DHAS_V33=1 -DHAS_I8035=1 -DHAS_I8039=1 -DHAS_I8048=1 -DHAS_N7751=1 -DHAS_M6800=1 -DHAS_M6801=1 -DHAS_M6802=1 -DHAS_M6803=1 -DHAS_M6808=1 -DHAS_HD63701=1 -DHAS_NSC8105=1 -DHAS_M6805=1 -DHAS_M68705=1 -DHAS_HD63705=1 -DHAS_M6805=1 -DHAS_HD6309=1 -DHAS_M6809=1 -DHAS_KONAMI=1 -DHAS_M68000=1 -DHAS_M68010=1 -DHAS_M68EC020=1 -DHAS_M68020=1 -DHAS_T11=1 -DHAS_S2650=1 -DHAS_TMS34010=1 -DHAS_TMS9980=1 -DHAS_Z8000=1 -DHAS_TMS320C10=1 -DHAS_CCPU=1 -DHAS_ADSP2100=1 -DHAS_ADSP2105=1 -DHAS_MIPS=1 -DHAS_AY8910=1 -DHAS_YM2203=1 -DHAS_YM2151=1 -DHAS_YM2608=1 -DHAS_YM2610=1 -DHAS_YM2610B=1 -DHAS_YM2612=1 -DHAS_YM3438=1 -DHAS_YM2413=1 -DHAS_YM3812=1 -DHAS_YM3526=1 -DHAS_Y8950=1 -DHAS_CUSTOM=1 -DHAS_YMZ280B=1 -DHAS_POKEY=1 -DHAS_QSOUND=1 -DHAS_SN76477=1 -DHAS_SN76496=1 -DHAS_TMS36XX=1 -DHAS_TMS5220=1 -DHAS_SEGAPCM=1 -DHAS_DISCRETE=1 -DHAS_DAC=1 -DHAS_ADPCM=1 -DHAS_OKIM6295=1 -DHAS_SAMPLES=1 -DHAS_ASTROCADE=1 -DHAS_NES=1 -DHAS_NAMCO=1 -DHAS_VLM5030=1 -DHAS_MSM5205=1 -DHAS_UPD7759=1 -DHAS_HC55516=1 -DHAS_K005289=1 -DHAS_K007232=1 -DHAS_K051649=1 -DHAS_K053260=1 -DHAS_K054539=1 -DHAS_RF5C68=1 -DHAS_CEM3394=1 -DHAS_C140=1 -O2 -march=native -ftree-vectorize -funsafe-math-optimizations -pipe -DGIT_VERSION=\"" 12b5419"\" -Dasm="__asm__ __volatile__" -O2 -DNDEBUG -c src/libretro/libretro-common/compat/compat_strl.c -o src/libretro/libretro-common/compat/compat_strl.o <command-line>:0:13: error: expected ‘(’ before ‘__volatile__’ src/libretro/libretro-common/libco/aarch64.c:25:1: note: in expansion of macro ‘asm’ asm ( ^~~ In file included from src/libretro/libretro-common/libco/libco.c:26:0:

Save states not supported in lr-mame2000

When trying to save a game in progress I receive an error that save states are not supported in this core in the lower left hand corner. The key combination is Select + Right Bottom to save. I am able to increment the save slots up and down (Select + D-Pad Right or Left) that works/shows properly in the lower left corner of the screen.


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Unable to change and save game specific controls or dip switches

I'm using the core with a Pi Zero W and a GPi Case and when I go into the MAME Settings by pressing TAB on a keyboard, and make changes to any game specific controls or dip switches, and then exit out of the game, those changes are not saved.

Can someone tell me the folder these are supposed to be save to or if this is just not a feature that works with this version of MAME?

Thank you.

No music in Bubble Bobble (bublbobl)

There's no music in Bubble Bobble with the Mame2000 core. There is music on 0.37b5 and standalone mame4all.
Built and tested on Raspberry Pi 1 (ARM).

Excessive console messages causes slowdown

eg Robotron 2084 (note: you have to select 'Content Settings' > 'Restart Content' in the retroarch GUI after you get the "Factory Settings Restored" message, else it will hang) - you'll notice that when the player spawns at the start of the game, it slows to a crawl. The reason for this is it's logging a load of error messages to the console. If you instead start with
./retroarch > /dev/null
it doesn't display these messages, and the game plays flawlessly.

Hopefully there's a way of still tracking the errors, but not overloading the gameplay like it is?

Pole Position

pole position on the PS3 port.

I can't find a button assignment for the Gas petal... Looks great just cant get the car to move..

Thanks


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

cheat not work

How to enable cheat.dat support? I cannot find any options of core. cheat.dat in src repo metafiles.

Enhancement: Potentially worthy driver backports to MAME 2000 from later versions.

Throw this on the back burner somewhere, but I'm going to try to list a few games which I'd like to see backported to MAME 2000 and the versions I think they should be backported from. For reference, MAME 2000 is based on 0.37b5.

Bomber Man (Irem, 1991); romset: bombrman; driver: m90
Bomber Man World (Irem, 1992); romset: bbmanw; driver: m90
Driver from 0.37b9 | MAME 0.37b9 source
About: The Bomber Man games are an exceptionally well known franchise. Walk around, bomb stuff.
Why this version: These two games were added to MAME in 0.37b8 and had some minor tweaks performed in 0.37b9. Major changes occurred around 0.74 with the introduction of Dynablaster, the World version of Bomber Man, which replaced the Japanese game as parent. Even with the pre-Dynablaster MAME version listed above, there was a Dynablaster bootleg which should be playable if people prefer that version. In MAME 2003 (0.78), these games run 5 or lower frames short of full speed on limited platforms like the New Nintendo 3DS; it's possible further optimization (e.g. to 3DS DSP) could get these running full speed without the need for an older core, but a performance boost from older MAME would benefit other platforms, too.

Cadash (Taito, 1989); romset: cadash; driver: cadash
Driver from 0.37b11 | MAME 0.37b11 source
About: Cadash is a reasonably well known title from Taito, one of the earliest platform/RPG combos where characters become more powerful through play.
Why this version: The game was added to MAME just a couple of betas after 0.37b5, in 0.37b9. As such, it is present in MAME 2003 (0.78), but even then runs slow (generally falling short by 5-10 FPS but sometimes more) on limited hardware such as the New Nintendo 3DS. 0.37b11 added a number of dipswitches and appears to have been the last major update it saw until MAME 0.90.

Teenage Mutant Ninja Turtles: Turtles in Time (Konami, 1991); romset: tmnt2; driver: tmnt
Driver from 0.73 | MAME 0.73 source
About: Probably the best-known of the Konami beat-'em-ups. My toes, my toes!
Why this version: First off, I know 0.73 is a long way away from 0.37b5. I also know that Turtles in Time already runs on 0.37b5. However, this is the point where the game's protection was finally understood and the game was able to run correctly for the first time. While it already runs quite well speed-wise on MAME 2000 (no speed issues at all on New Nintendo 3DS), it has some semi-major graphical issues like Turtles and enemies changing color during certain animations (e.g. knock down a foot clan and they will switch to the purple palette). In MAME 2003, this game is too slow to really be playable. As such, I was hoping it might be possible for just the tweaks which corrected the protection to be backported, rather than the entire driver.

Of course, I recognize that backporting new drivers or even changes within old drivers is a significant effort. That's why I'm trying to limit these suggestions to well-known games introduced close to the release of MAME 2000's source version (hopefully should be somewhat easier to introduce) or games already in MAME 2000 which need fixes (TMNT). If backporting entire cores is off the table, I hope at least the TMNT fix is plausible.


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Mame2000 doesnt run any game

the problem is that the IMAMEBASEPATH dir in libretro.c-->retro_load_game is setted as

memcpy(IMAMEBASEPATH, info->path, strlen(core_sys_directory) + 1)

but it should be settes as retro_content_directory

memcpy(IMAMEBASEPATH, info->path, strlen(retro_content_directory) + 1);

modifyng this line all works correctly.

screen ratio issue

cannot change scale mode of retroarch like other cores. can not point to point,always fullscreen.

Not working on 32bit Linux

This is what the end of my terminal output looks like after loading a game.

Mortal Kombat for example.

loading mks-u3.rom
loading mks-u12.rom
loading mks-u13.rom
loading mkt-uj12.bin
loading mkt-ug12.bin
loading mkt-ug14.bin
loading mkt-ug16.bin
loading mkt-ug17.bin
loading mkt-uj14.bin
loading mkt-uj16.bin
loading mkt-uj17.bin
loading mkt-ug19.bin
loading mkt-ug20.bin
loading mkt-ug22.bin
loading mkt-uj19.bin
loading mkt-uj20.bin
loading mkt-uj22.bin

mks-u3.rom NOT FOUND
mks-u12.rom NOT FOUND
mks-u13.rom NOT FOUND
mkt-uj12.bin NOT FOUND
mkt-ug12.bin NOT FOUND
mkt-ug14.bin NOT FOUND
mkt-ug16.bin NOT FOUND
mkt-ug17.bin NOT FOUND
mkt-uj14.bin NOT FOUND
mkt-uj16.bin NOT FOUND
mkt-uj17.bin NOT FOUND
mkt-ug19.bin NOT FOUND
mkt-ug20.bin NOT FOUND
mkt-ug22.bin NOT FOUND
mkt-uj19.bin NOT FOUND
mkt-uj20.bin NOT FOUND
mkt-uj22.bin NOT FOUND
ERROR: required files are missing, the game cannot be run.
RetroArch: Saving regular SRAM.
Reaped zombie ...

it does this for every game. The files are all there and all named properly.

Everyone else I've talked to is only running 64bit and have not ran into this problem. So It seems to be a 32bit only problem. So hopefully you can look into this problem.

Segfault in asteroid.zip

Using RPi4 (ARMv8) 32-bit, RA 1.9.4:

Thread 1 "retroarch" received signal SIGSEGV, Segmentation fault.
0xaef7a0e0 in clever_mark_dirty () at src/vidhrdw/vector.c:796
796	src/vidhrdw/vector.c: No such file or directory.
(gdb) bt
#0  0xaef7a0e0 in clever_mark_dirty () at src/vidhrdw/vector.c:796
#1  0xaef7a484 in vector_vh_update (bitmap=0x9cd288, full_refresh=0) at src/vidhrdw/vector.c:853
#2  0xaef7ac40 in vector_vh_screenrefresh (bitmap=0x9cd288, full_refresh=0) at src/vidhrdw/vector.c:966
#3  0xaef16f40 in draw_screen (_bitmap_dirty=0) at src/mame.c:568
#4  0xaef16e2c in updatescreen () at src/mame.c:538
#5  0xaef5ca28 in cpu_vblankcallback (param=0) at src/cpuintrf.c:2042
#6  0xaef6ae7c in timer_schedule_cpu (cpu=0x9dd484, cycles=0xafb79968 <cycles_running>) at src/timer.c:514
#7  0xaef588ec in cpu_run () at src/cpuintrf.c:809
#8  0xaef172f0 in run_machine () at src/mame.c:665
#9  0xaef15b34 in run_game (game=1610) at src/mame.c:158
#10 0xaf64a684 in run_thread_proc () at src/libretro/libretro.c:374
#11 0xaf657f58 in co_switchPython Exception <class 'gdb.MemoryError'> Cannot access memory at address 0xfffffff0: 
(gdb) 

according to compatibility lists this has worked on lesser Pis in the past, but I bisected back to 9ab5058 and the same error (bt is for this that commit)

Wii port - garbled graphics/text

In the Wii build, there is a graphics issue in some games that affects a layer most often associated with text display (e.g. the region warning at boot, game name/info) but sometimes affects background graphics layers. Sprites are usually not affected.
Many of the games that are affected are documented on the below sheet, and will have the note "garbled graphics" in the Wii Notes column:
https://docs.google.com/spreadsheets/d/1y8RbIV_7w1jUZGhbeaHokRNi3-r80Fw8pLoUqJdrLKw


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

samples only work in /arcade/samples subfolder

current lr-mame2000 commit 6ad65bb audio samples ONLY work when I create a samples folder under the arcade folder- home/pi/RetroPie/roms/arcade/samples/
lr-mame2000 not picking up samples in retroarch system folders /home/pi/RetroPie/BIOS/mame2003/samples nor ~/BIOS/mame2000/samples

pthread code seems flawed

From src/libretro/libretro.cpp:retro_run():

pthread_cond_signal(&libretro_cond);
pthread_cond_wait(&libretro_cond, &libretro_mutex);

pthread_cond_wait() needs to operate on an already locked mutex. Normally this code would cause a deadlock unless the thread exits. No code is calling pthread_cond_signal() while waiting. As the mutex isn't locked, I guess it just returns an error.

PS Vita Mame Menu

The R2 button don't exists on PS Vita, in the Mame Cores of PS Vita, the default button for MAME Menu is R2, I think it can be redefined by default to R1+L1, currently is not way to access to Dip Switches and Cheat menu.


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Promoted to libretro organization

Hi there,

I don't know of any other way to send PMs on here anymore, so allow me to 'abuse' the issues section for one occasion.

I made you a member of the libretro organization and I gave you commit access to most of the repos (if you need commit access to more of them, let me know and we can look at it).

In case you feel like it, you could consider moving the imame4all-libretro repo to the 'libretro' organization - that way, I can drop my fork too and it's a more centralized way to work on the same stuff. I assure you that you will never be 'locked out' of your own codebase by any means - you can take those promises pretty much to the bank as I'm concerned.

I think we sincerely need a guy who is looking for libretro ports that run acceptably on a RetroConsole Level 0 system (300Mhz Pentium II up to 500MHz), since the lowest system I am targeting right now is either mid-range Android tablets or PS3/360 - I hope to cover the entire spectrum of low-end PCs/consoles to high-end PCs with the libretro ports.

Also, this is also an opportunity to let me know the performance of the various cores on the Pi - I'm highly interested in seeing which cores run acceptably on a Pi and which do not, so that I can start filling in the recommended 'RetroConsole Level' per core.

Compile using aarch64 fails with “error: expected '(' before '__volatile__'”

/build/build.LibreELEC-ARMv8.aarch64-12.0-devel/toolchain/bin/aarch64-libreelec-linux-gnu-gcc  -DGP2X -DALIGN_INTS -DALIGN_SHORTS -Dasm="__asm__ __volatile__" -DMAME_UNDERCLOCK -DMAME_FASTSOUND -DENABLE_AUTOFIRE -DBIGCASE -D__LIBRETRO__ -DWANT_LIBCO -I./src/libretro/libretro-common/include -fPIC  -Isrc/zlib -Wno-sign-compare -Wunused -Wpointer-arith -Waggregate-return -Wshadow -I./src -I./src/libretro -I./src/libretro/libretro-common/include   -DHAS_Z80=1 -DHAS_8080=1 -DHAS_8085A=1 -DHAS_M6502=1 -DHAS_M65C02=1 -DHAS_M6510=1 -DHAS_N2A03=1 -DHAS_H6280=1 -DHAS_I86=1 -DHAS_I186=1 -DHAS_V20=1 -DHAS_V30=1 -DHAS_V33=1 -DHAS_I8035=1 -DHAS_I8039=1 -DHAS_I8048=1 -DHAS_N7751=1 -DHAS_M6800=1 -DHAS_M6801=1 -DHAS_M6802=1 -DHAS_M6803=1 -DHAS_M6808=1 -DHAS_HD63701=1 -DHAS_NSC8105=1 -DHAS_M6805=1 -DHAS_M68705=1 -DHAS_HD63705=1 -DHAS_M6805=1 -DHAS_HD6309=1 -DHAS_M6809=1 -DHAS_KONAMI=1 -DHAS_M68000=1 -DHAS_M68010=1 -DHAS_M68EC020=1 -DHAS_M68020=1 -DHAS_T11=1 -DHAS_S2650=1 -DHAS_TMS34010=1 -DHAS_TMS9980=1 -DHAS_Z8000=1 -DHAS_TMS320C10=1 -DHAS_CCPU=1 -DHAS_ADSP2100=1 -DHAS_ADSP2105=1 -DHAS_MIPS=1 -DHAS_AY8910=1 -DHAS_YM2203=1 -DHAS_YM2151=1 -DHAS_YM2608=1 -DHAS_YM2610=1 -DHAS_YM2610B=1 -DHAS_YM2612=1 -DHAS_YM3438=1 -DHAS_YM2413=1 -DHAS_YM3812=1 -DHAS_YM3526=1 -DHAS_Y8950=1 -DHAS_CUSTOM=1 -DHAS_YMZ280B=1 -DHAS_POKEY=1 -DHAS_QSOUND=1 -DHAS_SN76477=1 -DHAS_SN76496=1 -DHAS_TMS36XX=1 -DHAS_TMS5220=1 -DHAS_SEGAPCM=1 -DHAS_DISCRETE=1 -DHAS_DAC=1 -DHAS_ADPCM=1 -DHAS_OKIM6295=1 -DHAS_SAMPLES=1 -DHAS_ASTROCADE=1 -DHAS_NES=1 -DHAS_NAMCO=1 -DHAS_VLM5030=1 -DHAS_MSM5205=1 -DHAS_UPD7759=1 -DHAS_HC55516=1 -DHAS_K005289=1 -DHAS_K007232=1 -DHAS_K051649=1 -DHAS_K053260=1 -DHAS_K054539=1 -DHAS_RF5C68=1 -DHAS_CEM3394=1 -DHAS_C140=1 -march=armv8-a+crc -mabi=lp64 -Wno-psabi -mtune=cortex-a53 -mno-outline-atomics -Wall -pipe  -O2 -fomit-frame-pointer -DNDEBUG -fsigned-char -DGIT_VERSION=\"" 5a18099"\" -Dasm="__asm__ __volatile__" -O2 -DNDEBUG -c src/libretro/libretro-common/libco/libco.c -o src/libretro/libretro-common/libco/libco.o
/build/build.LibreELEC-ARMv8.aarch64-12.0-devel/toolchain/bin/aarch64-libreelec-linux-gnu-gcc  -DGP2X -DALIGN_INTS -DALIGN_SHORTS -Dasm="__asm__ __volatile__" -DMAME_UNDERCLOCK -DMAME_FASTSOUND -DENABLE_AUTOFIRE -DBIGCASE -D__LIBRETRO__ -DWANT_LIBCO -I./src/libretro/libretro-common/include -fPIC  -Isrc/zlib -Wno-sign-compare -Wunused -Wpointer-arith -Waggregate-return -Wshadow -I./src -I./src/libretro -I./src/libretro/libretro-common/include   -DHAS_Z80=1 -DHAS_8080=1 -DHAS_8085A=1 -DHAS_M6502=1 -DHAS_M65C02=1 -DHAS_M6510=1 -DHAS_N2A03=1 -DHAS_H6280=1 -DHAS_I86=1 -DHAS_I186=1 -DHAS_V20=1 -DHAS_V30=1 -DHAS_V33=1 -DHAS_I8035=1 -DHAS_I8039=1 -DHAS_I8048=1 -DHAS_N7751=1 -DHAS_M6800=1 -DHAS_M6801=1 -DHAS_M6802=1 -DHAS_M6803=1 -DHAS_M6808=1 -DHAS_HD63701=1 -DHAS_NSC8105=1 -DHAS_M6805=1 -DHAS_M68705=1 -DHAS_HD63705=1 -DHAS_M6805=1 -DHAS_HD6309=1 -DHAS_M6809=1 -DHAS_KONAMI=1 -DHAS_M68000=1 -DHAS_M68010=1 -DHAS_M68EC020=1 -DHAS_M68020=1 -DHAS_T11=1 -DHAS_S2650=1 -DHAS_TMS34010=1 -DHAS_TMS9980=1 -DHAS_Z8000=1 -DHAS_TMS320C10=1 -DHAS_CCPU=1 -DHAS_ADSP2100=1 -DHAS_ADSP2105=1 -DHAS_MIPS=1 -DHAS_AY8910=1 -DHAS_YM2203=1 -DHAS_YM2151=1 -DHAS_YM2608=1 -DHAS_YM2610=1 -DHAS_YM2610B=1 -DHAS_YM2612=1 -DHAS_YM3438=1 -DHAS_YM2413=1 -DHAS_YM3812=1 -DHAS_YM3526=1 -DHAS_Y8950=1 -DHAS_CUSTOM=1 -DHAS_YMZ280B=1 -DHAS_POKEY=1 -DHAS_QSOUND=1 -DHAS_SN76477=1 -DHAS_SN76496=1 -DHAS_TMS36XX=1 -DHAS_TMS5220=1 -DHAS_SEGAPCM=1 -DHAS_DISCRETE=1 -DHAS_DAC=1 -DHAS_ADPCM=1 -DHAS_OKIM6295=1 -DHAS_SAMPLES=1 -DHAS_ASTROCADE=1 -DHAS_NES=1 -DHAS_NAMCO=1 -DHAS_VLM5030=1 -DHAS_MSM5205=1 -DHAS_UPD7759=1 -DHAS_HC55516=1 -DHAS_K005289=1 -DHAS_K007232=1 -DHAS_K051649=1 -DHAS_K053260=1 -DHAS_K054539=1 -DHAS_RF5C68=1 -DHAS_CEM3394=1 -DHAS_C140=1 -march=armv8-a+crc -mabi=lp64 -Wno-psabi -mtune=cortex-a53 -mno-outline-atomics -Wall -pipe  -O2 -fomit-frame-pointer -DNDEBUG -fsigned-char -DGIT_VERSION=\"" 5a18099"\" -Dasm="__asm__ __volatile__" -O2 -DNDEBUG -c src/libretro/libretro-common/file/file_path.c -o src/libretro/libretro-common/file/file_path.o
<command-line>: error: expected '(' before '__volatile__'
src/libretro/libretro-common/libco/aarch64.c:25:1: note: in expansion of macro 'asm'
   25 | asm (
      | ^~~
In file included from src/libretro/libretro-common/libco/libco.c:31:
src/libretro/libretro-common/libco/aarch64.c:61:13: warning: 'crash' defined but not used [-Wunused-function]
   61 | static void crash(void)
      |             ^~~~~
make: *** [Makefile:581: src/libretro/libretro-common/libco/libco.o] Error 1
make: *** Waiting for unfinished jobs....
�[1;31mFAILURE: scripts/build libretro-mame2000:target during make_target (default)�[0m

cfg and nvram not being created [$10]

imame4all appears to not write out save games or any data after it is run rendering games that save user statistics broken.

The MAME core is not dumping a cfg file or nvram file for games. Each time the game is launched, you get the legal disclaimer which is only supposed to show when there is no cfg file and you'll see that the nvram is always reset.


There is a $10 open bounty on this issue. Add to the bounty at Bountysource.

Missing core input remapping feature

Mame2000 is missing core input remapping feature, which is accessible from the quick menu’s “controls” submenu. It lets you move the core’s buttons around on the retropad.

(Nearly) all other RetroArch cores do offer this feature and it is sorely missed in mame2000.

For example Mortal Kombat's default controls are horrible, would be awesome to be able to configure them using this feature.

Fails to build on Linux

Tried compiling with make -f makefile.libretro, but I'm getting an error instantly:

make: *** No rule to make target `cc', needed by `mame.so'.  Stop.

When select is the hotkey, can't add coin in some games

Hi,
thank you for the great work.

I found a little bug in the core :

When you have the same button for hotkey and select in your config, the select button doesn't add coin in some games (many are old games, pacman, miss pacman, gauntlet 1 and 2) etc...
I tried to look at the code but i don't know where to begin, do you have an hint ?


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Unable to change and save core settings

Hardware: FunKey S (SoC V3s ARM Cortex A7-A clocked @ 1.2GHz)
Software: sdlretro for the frontent (https://github.com/FunKey-Project/sdlretro) and MAME 2000 for the Libretro core

I'm unable to save the core settings. As soon as I quit the menu and enter it again, the default settings are back and only partial setting are saved in "/.sdlretro/cfg/cores/mame_2000.json". Here is the content of my file:

{
    "": "disabled"
}

This bug also occurs with FBAlpha 2012 core, but not in others as ScummVM or PrBoom for instance.

Crosscompiling in GNU/Linux x86_64 for Raspberry Pi 1

Hi there... and sorry for opening an issue for just asking a probably simple and stupid question... O:)

I just want to compile the MAME2000 core for using it in a Lakka installation on a Rpi 1 (it seems this core is not available now through the menu->Load Core :-?).

Namely, I'm trying:

make ARM=1 USE_CYCLONE=1

And I'm getting this error about ARM asm code:

./src/libretro/osinline.h: Assembler messages: ./src/libretro/osinline.h:21: Error: no such instruction: smull %esi,%edi,%edi,%esi'
./src/libretro/osinline.h:21: Error: no such instruction: smull %esi,%eax,%eax,%esi' ./src/libretro/osinline.h:21: Error: no such instruction: smull %edx,%eax,%edx,%eax'
./src/libretro/osinline.h:21: Error: no such instruction: smull %ecx,%eax,%ecx,%eax' ./src/libretro/osinline.h:21: Error: no such instruction: smull %edi,%r9d,%edi,%r11d'
./src/libretro/osinline.h:21: Error: no such instruction: smull %esi,%edi,%esi,%r10d' ./src/libretro/osinline.h:21: Error: no such instruction: smull %edx,%r11d,%edx,%r11d'
./src/libretro/osinline.h:21: Error: no such instruction: smull %r10d,%ecx,%ecx,%r10d' make: *** [Makefile:545: src/vidhrdw/vector.o] Error 1

I assume I need anything else to perform the cross-compilation, but I'm not sure about all the dependencies...

Could anyone give me any help?

Thanks and sorry again for opening this issue...

(PS3) Crash loading ROM

If I try to change the ROM while the emulation is running, RetroArch quits itself and the PS3 returns to the XMB.
The first ROM will load and play fine but when you quit back to the ROM browser and try to load any ROM, the above happens.

I am using the same romset as I do on the Android port of mame4all, so I don't think the ROMs are causing the issue.

Tested with the latest commit of imame4all-libretro and the following commit of RetroArch: Themaister/RetroArch@bf668ad


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Wii port - Enabling cheats

If this is already in the Wii version of Retroarch, then I apologize. I just need to know how to implement them, step by step. If not, can this be done???

lr-imame4all in game Config Menu (Tab Key) doesn't work

The in game emulator Config Menu which is by default accessed with the Tab Key doesn't work. It's a very useful feature and without the Config Menu several useful features and options are not available. One of the main features that doesn't work (Input (general)) to setup for 4-players on joysticks as you can not configure players 2-4 inputs, Coin-in 2-4, Player start 2-4.

You need access to the Config Menu (via keyboard TAB) to setup access to the Config Menu with a joystick.

You also loose the ability to do more granular settings (Input (this Game)) for specific games as some do not work with the default keys.

You also loose the Dip Switch settings which allow you to set number of coins to start a game, number of lives, difficulty, time to play, etc. for a game.

Game Information such as history.dat is not accessible without the Config Menu.

Lastly not used as often would be Bookkeeping Info and Reset Game.


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.