Question about Mame etc and 240p

Discussion in 'Wii - Emulation and Homebrew' started by CobraX83, Sep 13, 2015.

  1. Cecilmax

    Cecilmax GBAtemp Fan

    Member
    340
    13
    Mar 7, 2015
    Canada
    I intalled the last version of devkitpro for windows, and when I try to run makefile for mame2003 source I have theses error:

    /bin/sh: git: command not found
    creating bin2c working folder and compiling bin2c executable tool...
    "make": gcc: Command not found
    "make": ./precompile/bin2c: Command not found
    rm: cannot lstat `./precompile/bin2c*': No such file or directory
    "make": *** No rule to make target `run'. Stop.
     
  2. Wiimpathy

    Wiimpathy GBAtemp Fan

    Member
    476
    408
    Mar 3, 2010
    France
    To compile you typed 'make platform=wii' right?

    As I said it would be easier under Linux. You have several options:
    - Install linux in virtual machine with devkitPPC/libogc.
    - Cygwin
    - Msys
    - In windows 10, Windows Subsystem for Linux?

    You could skip some of the errors too. In Makefile change BUILD_BIN2C ?= 0 and comment out with # (or delete) all lines related to GIT_VERSION.
     
  3. Cecilmax

    Cecilmax GBAtemp Fan

    Member
    340
    13
    Mar 7, 2015
    Canada
    Ok I fix the errors by installing git for windows and MinGW :) but now I have theses error when compiling: I just run the makefile from devkitpro, I dont know how to type make plateform=wii ...

    gcc -DINLINE="static __inline__" -D__LIBRETRO__ -DPI=3.1415927 -DM_PI=3.1415927 -Dasm=__asm__ -DHAS_ADSP2100=1 -DHAS_ADSP2101=1 -DHAS_ADSP2104=1 -DHAS_ADSP2105=1 -DHAS_ADSP2115=1 -DHAS_Z80=1 -DHAS_Z180=1 -DHAS_8080=1 -DHAS_8085A=1 -DHAS_M6502=1 -DHAS_M65C02=1 -DHAS_M65SC02=0 -DHAS_M65CE02=0 -DHAS_M6509=0 -DHAS_M6510=1 -DHAS_M6510T=0 -DHAS_M7501=0 -DHAS_M8502=0 -DHAS_N2A03=1 -DHAS_DECO16=1 -DHAS_M4510=0 -DHAS_H6280=1 -DHAS_I86=1 -DHAS_I88=0 -DHAS_I186=1 -DHAS_I188=0 -DHAS_I286=0 -DHAS_V20=1 -DHAS_V30=1 -DHAS_V33=1 -DHAS_V60=1 -DHAS_V70=1 -DHAS_I8035=1 -DHAS_I8039=1 -DHAS_I8048=1 -DHAS_N7751=1 -DHAS_I8X41=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_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_TMS34020=1 -DHAS_TMS9900=0 -DHAS_TMS9940=0 -DHAS_TMS9980=1 -DHAS_TMS9985=0 -DHAS_TMS9989=0 -DHAS_TMS9995=1 -DHAS_TI990_10=0 -DHAS_TMS99105A=0 -DHAS_TMS99110A=0 -DHAS_Z8000=1 -DHAS_TMS32010=1 -DHAS_TMS32025=1 -DHAS_TMS32031=1 -DHAS_CCPU=1 -DHAS_PSXCPU=1 -DHAS_ASAP=1 -DHAS_UPD7810=1 -DHAS_UPD7807=1 -DHAS_ARM=1 -DHAS_JAGUAR=1 -DHAS_R3000=1 -DHAS_R4600=1 -DHAS_R5000=1 -DHAS_SH2=1 -DHAS_DSP32C=1 -DHAS_PIC16C54=0 -DHAS_PIC16C55=1 -DHAS_PIC16C56=0 -DHAS_PIC16C57=1 -DHAS_PIC16C58=0 -DHAS_G65816=1 -DHAS_SPC700=1 -DHAS_E132XS=1 -DHAS_CUSTOM=1 -DHAS_SAMPLES=1 -DHAS_DAC=1 -DHAS_DISCRETE=1 -DHAS_AY8910=1 -DHAS_YM2203=1 -DHAS_YM2151=0 -DHAS_YM2151_ALT=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_YMZ280B=1 -DHAS_Y8950=1 -DHAS_SN76477=1 -DHAS_SN76496=1 -DHAS_POKEY=1 -DHAS_TIA=1 -DHAS_NES=1 -DHAS_ASTROCADE=1 -DHAS_NAMCO=1 -DHAS_NAMCONA=1 -DHAS_TMS36XX=1 -DHAS_TMS5110=1 -DHAS_TMS5220=1 -DHAS_VLM5030=1 -DHAS_ADPCM=1 -DHAS_OKIM6295=1 -DHAS_MSM5205=1 -DHAS_MSM5232=1 -DHAS_UPD7759=1 -DHAS_HC55516=1 -DHAS_K005289=1 -DHAS_K007232=1 -DHAS_K051649=1 -DHAS_K053260=1 -DHAS_K054539=1 -DHAS_SEGAPCM=1 -DHAS_RF5C68=1 -DHAS_CEM3394=1 -DHAS_C140=1 -DHAS_QSOUND=1 -DHAS_SAA1099=1 -DHAS_IREMGA20=1 -DHAS_ES5505=1 -DHAS_ES5506=1 -DHAS_BSMT2000=1 -DHAS_YMF262=1 -DHAS_YMF278B=1 -DHAS_GAELCO_CG1V=1 -DHAS_GAELCO_GAE1=1 -DHAS_X1_010=1 -DHAS_MULTIPCM=1 -DHAS_C6280=1 -DHAS_SP0250=1 -DHAS_SCSP=1 -DHAS_PSXSPU=1 -DHAS_YMF271=1 -DGIT_VERSION=\"" 43112af"\" -D__WIN32__ -D__WIN32_LIBRETRO__ -Wno-missing-field-initializers -DRETRO_PROFILE=0 -Wall -Wno-sign-compare -Wunused -Wpointer-arith -Wbad-function-cast -Wcast-align -Waggregate-return -Wshadow -Wstrict-prototypes -Wformat-security -Wwrite-strings -Wdisabled-optimization -O2 -DNDEBUG -fomit-frame-pointer -fstrict-aliasing -Isrc -Isrc/includes -Isrc/libretro -Isrc/libretro/includes/zlib -Isrc/cpu/m68000 -c -osrc/../deps/zlib/ioapi.o src/../deps/zlib/ioapi.c
    gcc -DINLINE="static __inline__" -D__LIBRETRO__ -DPI=3.1415927 -DM_PI=3.1415927 -Dasm=__asm__ -DHAS_ADSP2100=1 -DHAS_ADSP2101=1 -DHAS_ADSP2104=1 -DHAS_ADSP2105=1 -DHAS_ADSP2115=1 -DHAS_Z80=1 -DHAS_Z180=1 -DHAS_8080=1 -DHAS_8085A=1 -DHAS_M6502=1 -DHAS_M65C02=1 -DHAS_M65SC02=0 -DHAS_M65CE02=0 -DHAS_M6509=0 -DHAS_M6510=1 -DHAS_M6510T=0 -DHAS_M7501=0 -DHAS_M8502=0 -DHAS_N2A03=1 -DHAS_DECO16=1 -DHAS_M4510=0 -DHAS_H6280=1 -DHAS_I86=1 -DHAS_I88=0 -DHAS_I186=1 -DHAS_I188=0 -DHAS_I286=0 -DHAS_V20=1 -DHAS_V30=1 -DHAS_V33=1 -DHAS_V60=1 -DHAS_V70=1 -DHAS_I8035=1 -DHAS_I8039=1 -DHAS_I8048=1 -DHAS_N7751=1 -DHAS_I8X41=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_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_TMS34020=1 -DHAS_TMS9900=0 -DHAS_TMS9940=0 -DHAS_TMS9980=1 -DHAS_TMS9985=0 -DHAS_TMS9989=0 -DHAS_TMS9995=1 -DHAS_TI990_10=0 -DHAS_TMS99105A=0 -DHAS_TMS99110A=0 -DHAS_Z8000=1 -DHAS_TMS32010=1 -DHAS_TMS32025=1 -DHAS_TMS32031=1 -DHAS_CCPU=1 -DHAS_PSXCPU=1 -DHAS_ASAP=1 -DHAS_UPD7810=1 -DHAS_UPD7807=1 -DHAS_ARM=1 -DHAS_JAGUAR=1 -DHAS_R3000=1 -DHAS_R4600=1 -DHAS_R5000=1 -DHAS_SH2=1 -DHAS_DSP32C=1 -DHAS_PIC16C54=0 -DHAS_PIC16C55=1 -DHAS_PIC16C56=0 -DHAS_PIC16C57=1 -DHAS_PIC16C58=0 -DHAS_G65816=1 -DHAS_SPC700=1 -DHAS_E132XS=1 -DHAS_CUSTOM=1 -DHAS_SAMPLES=1 -DHAS_DAC=1 -DHAS_DISCRETE=1 -DHAS_AY8910=1 -DHAS_YM2203=1 -DHAS_YM2151=0 -DHAS_YM2151_ALT=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_YMZ280B=1 -DHAS_Y8950=1 -DHAS_SN76477=1 -DHAS_SN76496=1 -DHAS_POKEY=1 -DHAS_TIA=1 -DHAS_NES=1 -DHAS_ASTROCADE=1 -DHAS_NAMCO=1 -DHAS_NAMCONA=1 -DHAS_TMS36XX=1 -DHAS_TMS5110=1 -DHAS_TMS5220=1 -DHAS_VLM5030=1 -DHAS_ADPCM=1 -DHAS_OKIM6295=1 -DHAS_MSM5205=1 -DHAS_MSM5232=1 -DHAS_UPD7759=1 -DHAS_HC55516=1 -DHAS_K005289=1 -DHAS_K007232=1 -DHAS_K051649=1 -DHAS_K053260=1 -DHAS_K054539=1 -DHAS_SEGAPCM=1 -DHAS_RF5C68=1 -DHAS_CEM3394=1 -DHAS_C140=1 -DHAS_QSOUND=1 -DHAS_SAA1099=1 -DHAS_IREMGA20=1 -DHAS_ES5505=1 -DHAS_ES5506=1 -DHAS_BSMT2000=1 -DHAS_YMF262=1 -DHAS_YMF278B=1 -DHAS_GAELCO_CG1V=1 -DHAS_GAELCO_GAE1=1 -DHAS_X1_010=1 -DHAS_MULTIPCM=1 -DHAS_C6280=1 -DHAS_SP0250=1 -DHAS_SCSP=1 -DHAS_PSXSPU=1 -DHAS_YMF271=1 -DGIT_VERSION=\"" 43112af"\" -D__WIN32__ -D__WIN32_LIBRETRO__ -Wno-missing-field-initializers -DRETRO_PROFILE=0 -Wall -Wno-sign-compare -Wunused -Wpointer-arith -Wbad-function-cast -Wcast-align -Waggregate-return -Wshadow -Wstrict-prototypes -Wformat-security -Wwrite-strings -Wdisabled-optimization -O2 -DNDEBUG -fomit-frame-pointer -fstrict-aliasing -Isrc -Isrc/includes -Isrc/libretro -Isrc/libretro/includes/zlib -Isrc/cpu/m68000 -c -osrc/../deps/zlib/unzip.o src/../deps/zlib/unzip.c
    Linking mame2003_libretro.dll...
    platform win
    # Use a temporary file to hold the list of objects, as it can exceed windows shell command limits
    gcc -shared -static-libgcc -static-libstdc++ -s -Wl,--version-script=link.T -o mame2003_libretro.dll @mame2003_libretro.dll.in -lm
    gcc.exe: error: @mame2003_libretro.dll.in: No such file or directory
    "make": *** [mame2003_libretro.dll] Error 1
     
  4. Wiimpathy

    Wiimpathy GBAtemp Fan

    Member
    476
    408
    Mar 3, 2010
    France
    Oh no... I won't guide you on how to install devkitppc under Cygwin or MinGW sorry it'd be too long. You'd have to open a terminal to type these commands... Here you try to compile a windows exe hence the .dll extension.
    Do you virtualPC or equivalent? You could install a Linux with all the needed tools. And it could serve for other dev projects maybe.

    And I told you about the git command, it's pointless, it's just to retrieve the revision number. Have you installed a sane DevkitPPC under Win for other wii project? Normally you compile with notepad++ but you can also open a windows prompt(Win key + R) and type 'make platform=wii' for example.
     
  5. Cecilmax

    Cecilmax GBAtemp Fan

    Member
    340
    13
    Mar 7, 2015
    Canada
    Ok :) no problem about the git command anymore, I just installed git for windows and I dont have this error anymore, yes I did install devkitpro before, as for the plateform, I just specify plateform := wii in the top of makefile and now I have this error:

    I dont know why it need a .dll file to compile under windows for wii ?

    > "make"
    creating bin2c working folder and compiling bin2c executable tool...
    Linking mame2003_libretro.dll...
    platform win
    # Use a temporary file to hold the list of objects, as it can exceed windows shell command limits
    gcc -shared -static-libgcc -static-libstdc++ -s -Wl,--version-script=link.T -o mame2003_libretro.dll @mame2003_libretro.dll.in -lm
    gcc.exe: error: @mame2003_libretro.dll.in: No such file or directory
    "make": *** [mame2003_libretro.dll] Error 1

    > Process Exit Code: 2
    > Time Taken: 00:09
     
  6. Wiimpathy

    Wiimpathy GBAtemp Fan

    Member
    476
    408
    Mar 3, 2010
    France
    No dll means you're still trying to compile a Windows exe!!!

    Please try what I said. Open windows prompt in mame folder and type make platform=wii
    It'd be better to do a make clean before.
     
  7. Cecilmax

    Cecilmax GBAtemp Fan

    Member
    340
    13
    Mar 7, 2015
    Canada
    Ok :)

    — Posts automatically merged - Please don't double post! —

    I got it :) it create a .a file of 34 652 kb, I didnt remove any game yet, I think it is too large to run by wii ? thats why I need to remove somes games ?
     
  8. Wiimpathy

    Wiimpathy GBAtemp Fan

    Member
    476
    408
    Mar 3, 2010
    France
    That's right, not enough ram. Use the minimal makefile I posted. It only contains neogeo + 1 driver.
     
    Cecilmax likes this.
  9. Cecilmax

    Cecilmax GBAtemp Fan

    Member
    340
    13
    Mar 7, 2015
    Canada
    I guess I could do the same with mame 2010 for a better games compatibility, I am suprised that someone didnt already compile a mame2010 core for wii or compile mame 2003 with all the games but splitted into 15 cores or something.
     
  10. Wiimpathy

    Wiimpathy GBAtemp Fan

    Member
    476
    408
    Mar 3, 2010
    France
    You'll soon realize that it takes a lot of time to split the core. 1st question is how to split. 1 dol per driver? Well that'd be hundreds of dols. 2d is sorting the drivers by removing the redundant ones (games already well supported in fba), games demanding too much cpu/ram resource and mame unfinished drivers.
    I've asked multiple times if someone has a full list of games compatible in mame only and not in fba. Anyway, if you're ready for the challenge, I'm sure you'll make some happy wii users.

    By the way, you won't be able to compile mame2010 without code changes. This core would be too demanding for most games too. I'd be curious to see though.
     
    Cecilmax likes this.
  11. Cecilmax

    Cecilmax GBAtemp Fan

    Member
    340
    13
    Mar 7, 2015
    Canada
    Ok, for start, I will try to compile it with the games I wish to run like asterix ;) I have troubles to understand what to change into the two files you share. If we take an example, let say I want to put only 1 game like asterix, what would be the content of theses files ?

    I wonder with which source the cores like fba, neogeo,cps1,cps2 and mame 2000 are compiled ? I could start to make a list of games to exclude since they are running fines with theses cores.
     
  12. Wiimpathy

    Wiimpathy GBAtemp Fan

    Member
    476
    408
    Mar 3, 2010
    France
    fba, neogeo, cps1 and cps2 are all from fba2012 but the source code is also split :
    https://github.com/libretro/fbalpha2012
    https://github.com/libretro/fbalpha2012_cps1
    etc...

    Mame 2000 is different, it's an early mame version, good for old devices (but incomplete drivers):
    https://github.com/libretro/mame2000-libretro

    You could also try this mame2003 fork, that's supposed to improve some drivers :
    https://github.com/libretro-mirrors/mame2003-plus-libretro


    To add a game, you first need to know the driver used. With http://www.progettoemma.net/ you search asterix. You'll see the driver and the corresponding .cpp file (in retroarch it's a .c file).
    You have to add these .c files (game driver + video driver, in vidhrdw folder + sound driver in sndhrdw folder) to SOURCES_C += ... in Makefile.common.
    In Tech info, you'll see which chips are used (Z80 ...). In Makefile.common, that's the CPUS+= and SOUNDS+= variables.
    You can compare with the original Makefile to check what's needed.
    In driver.c you copy the driver names, the same as your games zips.

    Yes, it's a tedious task...
     
    Last edited by Wiimpathy, Mar 13, 2018
  13. Cecilmax

    Cecilmax GBAtemp Fan

    Member
    340
    13
    Mar 7, 2015
    Canada
    Thanks for all your help, very appreciated. I wonder why somes games are too huge for the wii, the wii have 512mb of ram, it should be enough for all games ? Well, I understand the wii doesnt have all his 512mb free when running but I didnt see any games yet that is more than 100mb ..
     
  14. Wiimpathy

    Wiimpathy GBAtemp Fan

    Member
    476
    408
    Mar 3, 2010
    France
    Err, you confuse with flash memory. Wii has very few ram only 1 fast 24MB + 64MB. Some ram is reserved and the biggest problem is that it's not contiguous. That's why loading large data is so problematic. Even a psp has more contiguous ram (and mmap is implemented). That's why loading large neogeo games isn't easy. It's using virtual memory, the 512MB flash which is slow and generally used to install wiiware or system files.
     
    Cecilmax likes this.
  15. Cecilmax

    Cecilmax GBAtemp Fan

    Member
    340
    13
    Mar 7, 2015
    Canada
    Does ps vita have more ram ? Maybe I should use it instead :)
     
  16. azoreseuropa

    azoreseuropa GBAtemp Guru

    Member
    6,450
    1,083
    Nov 6, 2002
    Portugal
    Proud to be Portuguese but I am in USA.
    I prefer Mame for PC/MAC. Mame for Wii sucks
     
  17. Wiimpathy

    Wiimpathy GBAtemp Fan

    Member
    476
    408
    Mar 3, 2010
    France
    You can use PS Vita or even a PC as the constructive comment above suggests. Facepalm.
     
  18. Cecilmax

    Cecilmax GBAtemp Fan

    Member
    340
    13
    Mar 7, 2015
    Canada
    Does wii U have much more memory than wii ? :)
     
  19. Cecilmax

    Cecilmax GBAtemp Fan

    Member
    340
    13
    Mar 7, 2015
    Canada
    I dont know what I am doing wrong, Im now trying to compile retroarch source and I have the error: config.mk no such file or directory

    I am following the wiki guide on the website and it say to copy the .a file into the main folder of the sources and run makefile.griffin with platform = wii, and I got this error ...
     
  20. Wiimpathy

    Wiimpathy GBAtemp Fan

    Member
    476
    408
    Mar 3, 2010
    France
    - Copy mame2003_libretro_wii.a to the retroarch source and rename to libretro_wii.a
    - Open command prompt with Win+R type cmd and click OK.
    - Type make -f Makefile.wii.salamander
    -
    Rename retroarch-salamander_wii.dol as boot.dol
    - Type make -f Makefile.griffin platform=wii

    I've just tried on my win partition.
     
    Cecilmax likes this.
Loading...