Question about Mame etc and 240p

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

  1. Cecilmax

    Cecilmax GBAtemp Fan

    Member
    3
    Mar 7, 2015
    Canada
    hmm I still have the same error trying to compile with makefile.wii.salamander

    makefile:10: config.mk: no such file or directory
    config.mk is outdated or non-existing. run ./configure again.
     
  2. Wiimpathy

    Wiimpathy GBAtemp Advanced Fan

    Member
    6
    Mar 3, 2010
    France
    Wow. Still no luck.
    You don't type the command correctly. config.mk isn't even used in Makefile.wii.salamander file. We're already at 3 pages just for compiling. Read the instructions carefully once again.
    Redownload a fresh https://github.com/libretro/RetroArch just in case. I'm sorry it can't be clearer. Perhaps, you should familiarize with simpler wii projects and makefiles first. Retroarch and mame are a bit tricky.
     
  3. Cecilmax

    Cecilmax GBAtemp Fan

    Member
    3
    Mar 7, 2015
    Canada
    Ok I got it :) but now I have another error:

    /c/devkitPro/devkitPPC/bin/powerpc-eabi-g++ -o retroarch_wii.elf -DHW_RVL -mrvl
    -DGEKKO -mcpu=750 -meabi -mhard-float -DMSB_FIRST -Wl,-Map,retroarch_wii.elf.ma
    p,-wrap,malloc,-wrap,free,-wrap,memalign,-wrap,calloc,-wrap,realloc,-wrap,strdup
    ,-wrap,strndup,-wrap,malloc_usable_size -T bootstrap/gx/rvl.ld -Lwii/libogc/lib
    s/wii -L. griffin/griffin.o wii/app_booter/app_booter.binobj -lretro_wii -lo
    gc -lwiiuse -lbte
    .\libretro_wii.a: error adding symbols: Archive has no index; run ranlib to add
    one
    collect2.exe: error: ld returned 1 exit status
    make: *** [retroarch_wii.elf] Error 1

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

    Maybe it was the notepad programmers I use to run make, because I try it with console window and it run, I dont know what notepad programmer do that make the difference ;)

    however, now I have the other error I posted :/

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

    hmm, I just try to compile it with window console without the -f parameter and I got the same error about config.mk, it is like notepad programmer is running make without -f flag ...
     
  4. Wiimpathy

    Wiimpathy GBAtemp Advanced Fan

    Member
    6
    Mar 3, 2010
    France
    Not sure about programmer's notepad but the integrated make command is generic. That's why I said to open cmd. When you type make only, it will use Makefile by default. To use a specific Makefile (here Makefile.wii.salamander etc.) you must use -f parameter (-f for file).
    Maybe, you should do a make -f Makefile.wii.salamander clean and a make -f Makefile.griffin platform=wii clean before recompiling.
    You're almost there!
     
  5. Cecilmax

    Cecilmax GBAtemp Fan

    Member
    3
    Mar 7, 2015
    Canada
    Yes I was able to edit option in notepad and add -f filename parameter and now it run without the error of config.mk :)

    But I still have the error:

    /c/devkitPro/devkitPPC/bin/powerpc-eabi-g++ -o retroarch_wii.elf -DHW_RVL -mrvl
    -DGEKKO -mcpu=750 -meabi -mhard-float -DMSB_FIRST -Wl,-Map,retroarch_wii.elf.ma
    p,-wrap,malloc,-wrap,free,-wrap,memalign,-wrap,calloc,-wrap,realloc,-wrap,strdup
    ,-wrap,strndup,-wrap,malloc_usable_size -T bootstrap/gx/rvl.ld -Lwii/libogc/lib
    s/wii -L. griffin/griffin.o wii/app_booter/app_booter.binobj -lretro_wii -lo
    gc -lwiiuse -lbte
    .\libretro_wii.a: error adding symbols: Archive has no index; run ranlib to add
    one
    collect2.exe: error: ld returned 1 exit status
    make: *** [retroarch_wii.elf] Error 1
     
  6. Cecilmax

    Cecilmax GBAtemp Fan

    Member
    3
    Mar 7, 2015
    Canada
    Ok I fix the ranlib error by just run ranlib lol but now I have this error:

    Process Exit Code: 2
    > Time Taken: 00:09
    griffin/griffin.o: In function `libretro_get_system_info':
    griffin.c:(.text.libretro_get_system_info+0x4c): undefined reference to `retro_set_environment'
    griffin.c:(.text.libretro_get_system_info+0x64): undefined reference to `retro_set_environment'
    griffin.c:(.text.libretro_get_system_info+0x70): undefined reference to `retro_get_system_info'
    griffin/griffin.o: In function `command_event_init_core':
    griffin.c:(.text.command_event_init_core+0x272): undefined reference to `retro_init'
    griffin.c:(.text.command_event_init_core+0x27a): undefined reference to `retro_init'
    griffin.c:(.text.command_event_init_core+0x286): undefined reference to `retro_deinit'
    griffin.c:(.text.command_event_init_core+0x28a): undefined reference to `retro_deinit'
    griffin.c:(.text.command_event_init_core+0x296): undefined reference to `retro_api_version'
    griffin.c:(.text.command_event_init_core+0x29a): undefined reference to `retro_api_version'
    griffin.c:(.text.command_event_init_core+0x2a2): undefined reference to `retro_get_system_info'
    griffin.c:(.text.command_event_init_core+0x2a6): undefined reference to `retro_get_system_info'
    griffin.c:(.text.command_event_init_core+0x2ae): undefined reference to `retro_get_system_av_info'
    griffin.c:(.text.command_event_init_core+0x2b2): undefined reference to `retro_get_system_av_info'
    griffin.c:(.text.command_event_init_core+0x2ba): undefined reference to `retro_set_environment'
    griffin.c:(.text.command_event_init_core+0x2be): undefined reference to `retro_set_environment'
    griffin.c:(.text.command_event_init_core+0x2c6): undefined reference to `retro_set_video_refresh'
    griffin.c:(.text.command_event_init_core+0x2ca): undefined reference to `retro_set_video_refresh'
    griffin.c:(.text.command_event_init_core+0x2d2): undefined reference to `retro_set_audio_sample'
    griffin.c:(.text.command_event_init_core+0x2d6): undefined reference to `retro_set_audio_sample'
    griffin.c:(.text.command_event_init_core+0x2de): undefined reference to `retro_set_audio_sample_batch'
    griffin.c:(.text.command_event_init_core+0x2e2): undefined reference to `retro_set_audio_sample_batch'
    griffin.c:(.text.command_event_init_core+0x2ea): undefined reference to `retro_set_input_poll'
    griffin.c:(.text.command_event_init_core+0x2ee): undefined reference to `retro_set_input_poll'
    griffin.c:(.text.command_event_init_core+0x2f6): undefined reference to `retro_set_input_state'
    griffin.c:(.text.command_event_init_core+0x2fa): undefined reference to `retro_set_input_state'
    griffin.c:(.text.command_event_init_core+0x302): undefined reference to `retro_set_controller_port_device'
    griffin.c:(.text.command_event_init_core+0x306): undefined reference to `retro_set_controller_port_device'
    griffin.c:(.text.command_event_init_core+0x30e): undefined reference to `retro_reset'
    griffin.c:(.text.command_event_init_core+0x312): undefined reference to `retro_reset'
    griffin.c:(.text.command_event_init_core+0x31a): undefined reference to `retro_run'
    griffin.c:(.text.command_event_init_core+0x31e): undefined reference to `retro_run'
    griffin.c:(.text.command_event_init_core+0x326): undefined reference to `retro_serialize_size'
    griffin.c:(.text.command_event_init_core+0x32a): undefined reference to `retro_serialize_size'
    griffin.c:(.text.command_event_init_core+0x332): undefined reference to `retro_serialize'
    griffin.c:(.text.command_event_init_core+0x336): undefined reference to `retro_serialize'
    griffin.c:(.text.command_event_init_core+0x33e): undefined reference to `retro_unserialize'
    griffin.c:(.text.command_event_init_core+0x342): undefined reference to `retro_unserialize'
    griffin.c:(.text.command_event_init_core+0x34a): undefined reference to `retro_cheat_reset'
    griffin.c:(.text.command_event_init_core+0x34e): undefined reference to `retro_cheat_reset'
    griffin.c:(.text.command_event_init_core+0x356): undefined reference to `retro_cheat_set'
    griffin.c:(.text.command_event_init_core+0x35a): undefined reference to `retro_cheat_set'
    griffin.c:(.text.command_event_init_core+0x362): undefined reference to `retro_load_game'
    griffin.c:(.text.command_event_init_core+0x366): undefined reference to `retro_load_game'
    griffin.c:(.text.command_event_init_core+0x36e): undefined reference to `retro_load_game_special'
    griffin.c:(.text.command_event_init_core+0x372): undefined reference to `retro_load_game_special'
    griffin.c:(.text.command_event_init_core+0x37a): undefined reference to `retro_unload_game'
    griffin.c:(.text.command_event_init_core+0x37e): undefined reference to `retro_unload_game'
    griffin.c:(.text.command_event_init_core+0x386): undefined reference to `retro_get_region'
    griffin.c:(.text.command_event_init_core+0x38a): undefined reference to `retro_get_region'
    griffin.c:(.text.command_event_init_core+0x392): undefined reference to `retro_get_memory_data'
    griffin.c:(.text.command_event_init_core+0x396): undefined reference to `retro_get_memory_data'
    griffin.c:(.text.command_event_init_core+0x39e): undefined reference to `retro_get_memory_size'
    griffin.c:(.text.command_event_init_core+0x3a2): undefined reference to `retro_get_memory_size'
    collect2.exe: error: ld returned 1 exit status
    "make": *** [retroarch_wii.elf] Error 1

    > Process Exit Code: 2
    > Time Taken: 00:04
     
  7. Plstic

    Plstic Guru Meditation Error

    Member
    6
    Apr 21, 2010
    United States
    Milwaukee WI
    I would try groovy mame.
     
  8. Cecilmax

    Cecilmax GBAtemp Fan

    Member
    3
    Mar 7, 2015
    Canada
    I finally compiled it successfully :) I used the the libretro-super-master to fetch the mame2003 core source instead of downloading it and I compiled it with the script libretro-build-wii.sh instead of trying to build it manually. I dont know what is the difference between that and compiling it with make ..

    For the moment, I didnt remove any games just for testing purpose. However the .a file of mame 2003 have size of 43mb and the .dol created by compiling with retroarch is around 21mb. How's that possible ? 21mb doesnt seem too much to fit all in wii memory ?
     
  9. Cecilmax

    Cecilmax GBAtemp Fan

    Member
    3
    Mar 7, 2015
    Canada
    I wonder if we need to modify both file ? I just edit the makefile.common and remove entries and the file is less bigger :) I guess its more complicating to add games from empty files then just remove them from the complete file ?
     
  10. Hakaisha

    Hakaisha Advanced Member

    Newcomer
    3
    Sep 17, 2014
    United States
    I am able to successfully compile a resized Mame2003 itech32 core using Wiimpathy's makefile.common and driver.c files without any issues. The resulting dol boots fine.

    I do still, however, run into problems with 'undefined references' from usrintrf.c pertaining to neogeo mcd and memcard lines while compiling the core, if I ever choose to omit any of the neogeo machine/vidhrdw/drivers lines from the makefile.common file. Is there any way to exclude NeoGeo from the build entirely?

    If I leave the NeoGeo lines in makefile.common, those undefined references will go away. But I'm still getting undefined references only to the drivers/game name tites I've exclusively put in driver.c.

    For example: .\libretro_wii.a(driver.o):(.data.driver+0x0): undefined reference to 'driver.tmnt'

    I'm assuming I just haven't included all the necessary CPU/drivers/sound files to the makefile.common, but I'm certain I've included all the necessary files, and I usually will get an undefined reference if any of those files are missing.
     
    Last edited by Hakaisha, Mar 14, 2018
  11. Cecilmax

    Cecilmax GBAtemp Fan

    Member
    3
    Mar 7, 2015
    Canada
    Now I am trying to compile mame 2010 but I have this error: any idea what it is ??


    emu/info.o


    make: *** [obj/retro64/emu/hash.o] Error 1

    make: *** Waiting for unfinished jobs....

    make: *** wait: No children. Stop.


    1 core(s) failed:


    mame2010

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

    I wonder why I have that "error" when I run make with clean ? it doesnt stop it from compiling succesfully but what I a am doing wrong ?

    === MAME 2003 (0.78)

    Building mame2003...


    cd "/c/Users/Mew/Downloads/libretro-super-master/libretro-super-master/libretro-mame2003"

    make platform="wii" -j7 clean

    creating bin2c working folder and compiling bin2c executable tool...

    # Use a temporary file to hold the list of objects, as it can exceed windows shell command limits

    rm -f @clean.in mame2003_libretro_wii.a

    /usr/bin/rm: cannot remove 'clean.in': No such file or directory

    make: *** [clean] Error 1
     
  12. Wiimpathy

    Wiimpathy GBAtemp Advanced Fan

    Member
    6
    Mar 3, 2010
    France
    To exclude neogeo, you have to create another define (or maybe use CPSMAME for ex.) to skip memcard and other neo related code in usrintrf.c and cheat.c.
    If you omit the corresponding source files and CPU/SOUND, you'll get undefined reference. The driver.c must have the drivers too.

    I already told you why you should forget mame2010. Well, I'm going to sleep. Good luck.
     
    Cecilmax and Hakaisha like this.
  13. Cecilmax

    Cecilmax GBAtemp Fan

    Member
    3
    Mar 7, 2015
    Canada
    Hi, I try to compile with theses files, compiling mame 2003 core no problem but when using the .a I have theses errors .... it is possible there is something missing in theses files ??

    usrintrf.c:(.text.init_user_interface+0x48c): undefined reference to `discrete_sh_adjuster_count'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x114): undefined reference to `z180_init'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x118): undefined reference to `z180_reset'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x11c): undefined reference to `z180_exit'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x120): undefined reference to `z180_execute'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x124): undefined reference to `z180_burn'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x128): undefined reference to `z180_get_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x12c): undefined reference to `z180_set_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x130): undefined reference to `z180_get_cycle_table'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x134): undefined reference to `z180_set_cycle_table'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x138): undefined reference to `z180_get_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x13c): undefined reference to `z180_set_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x140): undefined reference to `z180_set_irq_line'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x144): undefined reference to `z180_set_irq_callback'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x148): undefined reference to `z180_info'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x14c): undefined reference to `z180_dasm'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x158): undefined reference to `z180_icount'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x19c): undefined reference to `i8080_init'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x1a0): undefined reference to `i8080_reset'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x1a4): undefined reference to `i8080_exit'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x1a8): undefined reference to `i8080_execute'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x1b0): undefined reference to `i8080_get_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x1b4): undefined reference to `i8080_set_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x1c0): undefined reference to `i8080_get_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x1c4): undefined reference to `i8080_set_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x1c8): undefined reference to `i8080_set_irq_line'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x1cc): undefined reference to `i8080_set_irq_callback'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x1d0): undefined reference to `i8080_info'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x1d4): undefined reference to `i8080_dasm'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x1e0): undefined reference to `i8085_ICount'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x224): undefined reference to `i8085_init'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x228): undefined reference to `i8085_reset'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x22c): undefined reference to `i8085_exit'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x230): undefined reference to `i8085_execute'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x238): undefined reference to `i8085_get_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x23c): undefined reference to `i8085_set_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x248): undefined reference to `i8085_get_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x24c): undefined reference to `i8085_set_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x250): undefined reference to `i8085_set_irq_line'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x254): undefined reference to `i8085_set_irq_callback'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x258): undefined reference to `i8085_info'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x25c): undefined reference to `i8085_dasm'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x268): undefined reference to `i8085_ICount'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x2ac): undefined reference to `m6502_init'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x2b0): undefined reference to `m6502_reset'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x2b4): undefined reference to `m6502_exit'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x2b8): undefined reference to `m6502_execute'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x2c0): undefined reference to `m6502_get_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x2c4): undefined reference to `m6502_set_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x2d0): undefined reference to `m6502_get_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x2d4): undefined reference to `m6502_set_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x2d8): undefined reference to `m6502_set_irq_line'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x2dc): undefined reference to `m6502_set_irq_callback'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x2e0): undefined reference to `m6502_info'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x2e4): undefined reference to `m6502_dasm'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x2f0): undefined reference to `m6502_ICount'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x334): undefined reference to `m65c02_init'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x338): undefined reference to `m65c02_reset'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x33c): undefined reference to `m65c02_exit'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x340): undefined reference to `m65c02_execute'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x348): undefined reference to `m65c02_get_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x34c): undefined reference to `m65c02_set_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x358): undefined reference to `m65c02_get_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x35c): undefined reference to `m65c02_set_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x360): undefined reference to `m65c02_set_irq_line'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x364): undefined reference to `m65c02_set_irq_callback'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x368): undefined reference to `m65c02_info'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x36c): undefined reference to `m65c02_dasm'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x378): undefined reference to `m6502_ICount'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x3bc): undefined reference to `m6510_init'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x3c0): undefined reference to `m6510_reset'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x3c4): undefined reference to `m6510_exit'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x3c8): undefined reference to `m6510_execute'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x3d0): undefined reference to `m6510_get_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x3d4): undefined reference to `m6510_set_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x3e0): undefined reference to `m6510_get_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x3e4): undefined reference to `m6510_set_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x3e8): undefined reference to `m6510_set_irq_line'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x3ec): undefined reference to `m6510_set_irq_callback'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x3f0): undefined reference to `m6510_info'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x3f4): undefined reference to `m6510_dasm'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x400): undefined reference to `m6502_ICount'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x444): undefined reference to `n2a03_init'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x448): undefined reference to `n2a03_reset'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x44c): undefined reference to `n2a03_exit'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x450): undefined reference to `n2a03_execute'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x458): undefined reference to `n2a03_get_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x45c): undefined reference to `n2a03_set_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x468): undefined reference to `n2a03_get_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x46c): undefined reference to `n2a03_set_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x470): undefined reference to `n2a03_set_irq_line'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x474): undefined reference to `n2a03_set_irq_callback'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x478): undefined reference to `n2a03_info'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x47c): undefined reference to `n2a03_dasm'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x488): undefined reference to `m6502_ICount'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x4cc): undefined reference to `deco16_init'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x4d0): undefined reference to `deco16_reset'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x4d4): undefined reference to `deco16_exit'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x4d8): undefined reference to `deco16_execute'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x4e0): undefined reference to `deco16_get_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x4e4): undefined reference to `deco16_set_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x4f0): undefined reference to `deco16_get_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x4f4): undefined reference to `deco16_set_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x4f8): undefined reference to `deco16_set_irq_line'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x4fc): undefined reference to `deco16_set_irq_callback'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x500): undefined reference to `deco16_info'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x504): undefined reference to `deco16_dasm'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x510): undefined reference to `m6502_ICount'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x554): undefined reference to `h6280_init'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x558): undefined reference to `h6280_reset'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x55c): undefined reference to `h6280_exit'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x560): undefined reference to `h6280_execute'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x568): undefined reference to `h6280_get_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x56c): undefined reference to `h6280_set_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x578): undefined reference to `h6280_get_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x57c): undefined reference to `h6280_set_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x580): undefined reference to `h6280_set_irq_line'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x584): undefined reference to `h6280_set_irq_callback'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x588): undefined reference to `h6280_info'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x58c): undefined reference to `h6280_dasm'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x598): undefined reference to `h6280_ICount'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x5dc): undefined reference to `i86_init'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x5e0): undefined reference to `i86_reset'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x5e4): undefined reference to `i86_exit'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x5e8): undefined reference to `i86_execute'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x5f0): undefined reference to `i86_get_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x5f4): undefined reference to `i86_set_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x600): undefined reference to `i86_get_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x604): undefined reference to `i86_set_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x608): undefined reference to `i86_set_irq_line'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x60c): undefined reference to `i86_set_irq_callback'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x610): undefined reference to `i86_info'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x614): undefined reference to `i86_dasm'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x620): undefined reference to `i86_ICount'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x664): undefined reference to `i86_init'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x668): undefined reference to `i86_reset'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x66c): undefined reference to `i86_exit'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x670): undefined reference to `i186_execute'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x678): undefined reference to `i86_get_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x67c): undefined reference to `i86_set_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x688): undefined reference to `i86_get_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x68c): undefined reference to `i86_set_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x690): undefined reference to `i86_set_irq_line'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x694): undefined reference to `i86_set_irq_callback'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x698): undefined reference to `i186_info'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x69c): undefined reference to `i186_dasm'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x6a8): undefined reference to `i86_ICount'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x6ec): undefined reference to `v20_init'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x6f0): undefined reference to `v20_reset'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x6f4): undefined reference to `v20_exit'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x6f8): undefined reference to `v20_execute'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x700): undefined reference to `v20_get_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x704): undefined reference to `v20_set_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x710): undefined reference to `v20_get_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x714): undefined reference to `v20_set_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x718): undefined reference to `v20_set_irq_line'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x71c): undefined reference to `v20_set_irq_callback'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x720): undefined reference to `v20_info'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x724): undefined reference to `v20_dasm'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x730): undefined reference to `nec_ICount'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x774): undefined reference to `v30_init'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x778): undefined reference to `v30_reset'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x77c): undefined reference to `v30_exit'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x780): undefined reference to `v30_execute'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x788): undefined reference to `v30_get_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x78c): undefined reference to `v30_set_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x798): undefined reference to `v30_get_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x79c): undefined reference to `v30_set_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x7a0): undefined reference to `v30_set_irq_line'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x7a4): undefined reference to `v30_set_irq_callback'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x7a8): undefined reference to `v30_info'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x7ac): undefined reference to `v30_dasm'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x7b8): undefined reference to `nec_ICount'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x7fc): undefined reference to `v33_init'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x800): undefined reference to `v33_reset'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x804): undefined reference to `v33_exit'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x808): undefined reference to `v33_execute'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x810): undefined reference to `v33_get_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x814): undefined reference to `v33_set_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x820): undefined reference to `v33_get_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x824): undefined reference to `v33_set_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x828): undefined reference to `v33_set_irq_line'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x82c): undefined reference to `v33_set_irq_callback'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x830): undefined reference to `v33_info'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x834): undefined reference to `v33_dasm'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x840): undefined reference to `nec_ICount'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x884): undefined reference to `v60_init'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x888): undefined reference to `v60_reset'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x88c): undefined reference to `v60_exit'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x890): undefined reference to `v60_execute'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x898): undefined reference to `v60_get_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x89c): undefined reference to `v60_set_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x8a8): undefined reference to `v60_get_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x8ac): undefined reference to `v60_set_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x8b0): undefined reference to `v60_set_irq_line'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x8b4): undefined reference to `v60_set_irq_callback'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x8b8): undefined reference to `v60_info'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x8bc): undefined reference to `v60_dasm'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x8c8): undefined reference to `v60_ICount'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x90c): undefined reference to `v70_init'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x910): undefined reference to `v60_reset'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x914): undefined reference to `v60_exit'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x918): undefined reference to `v60_execute'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x920): undefined reference to `v60_get_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x924): undefined reference to `v60_set_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x930): undefined reference to `v60_get_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x934): undefined reference to `v60_set_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x938): undefined reference to `v60_set_irq_line'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x93c): undefined reference to `v60_set_irq_callback'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x940): undefined reference to `v70_info'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x944): undefined reference to `v70_dasm'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x950): undefined reference to `v60_ICount'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x994): undefined reference to `i8035_init'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x998): undefined reference to `i8035_reset'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x99c): undefined reference to `i8035_exit'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x9a0): undefined reference to `i8035_execute'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x9a8): undefined reference to `i8035_get_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x9ac): undefined reference to `i8035_set_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x9b8): undefined reference to `i8035_get_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x9bc): undefined reference to `i8035_set_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x9c0): undefined reference to `i8035_set_irq_line'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x9c4): undefined reference to `i8035_set_irq_callback'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x9c8): undefined reference to `i8035_info'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x9cc): undefined reference to `i8035_dasm'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x9d8): undefined reference to `i8039_ICount'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xa1c): undefined reference to `i8039_init'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xa20): undefined reference to `i8039_reset'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xa24): undefined reference to `i8039_exit'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xa28): undefined reference to `i8039_execute'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xa30): undefined reference to `i8039_get_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xa34): undefined reference to `i8039_set_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xa40): undefined reference to `i8039_get_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xa44): undefined reference to `i8039_set_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xa48): undefined reference to `i8039_set_irq_line'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xa4c): undefined reference to `i8039_set_irq_callback'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xa50): undefined reference to `i8039_info'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xa54): undefined reference to `i8039_dasm'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xa60): undefined reference to `i8039_ICount'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xaa4): undefined reference to `i8048_init'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xaa8): undefined reference to `i8048_reset'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xaac): undefined reference to `i8048_exit'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xab0): undefined reference to `i8048_execute'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xab8): undefined reference to `i8048_get_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xabc): undefined reference to `i8048_set_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xac8): undefined reference to `i8048_get_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xacc): undefined reference to `i8048_set_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xad0): undefined reference to `i8048_set_irq_line'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xad4): undefined reference to `i8048_set_irq_callback'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xad8): undefined reference to `i8048_info'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xadc): undefined reference to `i8048_dasm'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xae8): undefined reference to `i8039_ICount'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xb2c): undefined reference to `n7751_init'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xb30): undefined reference to `n7751_reset'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xb34): undefined reference to `n7751_exit'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xb38): undefined reference to `n7751_execute'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xb40): undefined reference to `n7751_get_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xb44): undefined reference to `n7751_set_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xb50): undefined reference to `n7751_get_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xb54): undefined reference to `n7751_set_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xb58): undefined reference to `n7751_set_irq_line'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xb5c): undefined reference to `n7751_set_irq_callback'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xb60): undefined reference to `n7751_info'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xb64): undefined reference to `n7751_dasm'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xb70): undefined reference to `i8039_ICount'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xbb4): undefined reference to `i8x41_init'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xbb8): undefined reference to `i8x41_reset'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xbbc): undefined reference to `i8x41_exit'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xbc0): undefined reference to `i8x41_execute'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xbc8): undefined reference to `i8x41_get_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xbcc): undefined reference to `i8x41_set_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xbd8): undefined reference to `i8x41_get_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xbdc): undefined reference to `i8x41_set_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xbe0): undefined reference to `i8x41_set_irq_line'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xbe4): undefined reference to `i8x41_set_irq_callback'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xbe8): undefined reference to `i8x41_info'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xbec): undefined reference to `i8x41_dasm'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xbf8): undefined reference to `i8x41_ICount'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xff4): undefined reference to `m6805_init'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xff8): undefined reference to `m6805_reset'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0xffc): undefined reference to `m6805_exit'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x1000): undefined reference to `m6805_execute'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x1008): undefined reference to `m6805_get_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x100c): undefined reference to `m6805_set_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x1018): undefined reference to `m6805_get_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x101c): undefined reference to `m6805_set_reg'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x1020): undefined reference to `m6805_set_irq_line'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x1024): undefined reference to `m6805_set_irq_callback'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x1028): undefined reference to `m6805_info'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x102c): undefined reference to `m6805_dasm'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x1038): undefined reference to `m6805_ICount'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x107c): undefined reference to `m68705_init'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x1080): undefined reference to `m68705_reset'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x1084): undefined reference to `m68705_exit'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x1088): undefined reference to `m68705_execute'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x1090): undefined reference to `m68705_get_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x1094): undefined reference to `m68705_set_context'
    .\libretro_wii.a(cpuintrf.o):(.rodata.cpuintrf+0x10a0): undefined reference to `m68705_get_reg'

    etc......
     
  14. Wiimpathy

    Wiimpathy GBAtemp Advanced Fan

    Member
    6
    Mar 3, 2010
    France
    There's nothing missing, you haven't cleaned your previous mame build. Try this to fix 'make clean' under windows. In Makefile, in 'else ifeq ($(platform), wii)' add this : SPLIT_UP_LINK = 0
     
  15. Cecilmax

    Cecilmax GBAtemp Fan

    Member
    3
    Mar 7, 2015
    Canada
    I made a clean but I still get theses errors ....

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

    I think the clean still doesn't work, I have all the .o in the folder, will try to fix it first :)
     
  16. Cecilmax

    Cecilmax GBAtemp Fan

    Member
    3
    Mar 7, 2015
    Canada
    I try to compile with your makefile.common and driver.c with asterix.c but I have this error, do I miss something ?
    I checked the original driver.c and common file and I added
    $(CORE_DIR)/vidhrdw/asterix_vidhrdw.c $(CORE_DIR)/drivers/asterix.c \
    in the common file with the driver in driver.c

    -DMSB_FIRST -c -osrc/driver.o src/driver.c
    make: *** [src/drivers/asterix.o] Error 1
    make: *** Waiting for unfinished jobs....
    make: *** wait: No children. Stop.
     
  17. Cecilmax

    Cecilmax GBAtemp Fan

    Member
    3
    Mar 7, 2015
    Canada
    Ok I found it lol

    for the other who may have trouble compiling when adding a game:
    1. try to compile without the retroarch-wii-build.sh script, just compile with make platform=wii, you will get more specific error message
    2. with this error message you can see whats missing in the makefile.common and driver.c, try to compare with the original both files.
    3. you can also have succeed compiling the core but you can still have error when linking with retroarch.
    tip: if the error say something like: undefined reference to xyz... just search with windows search inside your source folder for the function name missing and you will find the source.c file or whatever it found, so you can say that is the file missing.. add it in your makefile.common and driver.c by looking into the originals files how it was and try to recompile again ..
     
  18. Cecilmax

    Cecilmax GBAtemp Fan

    Member
    3
    Mar 7, 2015
    Canada
    Hi, I sucessfully compiled the core with asterix and retroarch, however when I try to load the game, it do nothing and just get back to retroarch menu. I checked if I have the correct rom with the correct files in asterix.zip, I am out of ideas ..could it possible I forgot to include something in common file and driver.c that the compiler doesnt show as error ? I could try to debug but I dont know where is the code when we hit run to launch a game, I could add a prompt to see what happen after I click run ..

    I just try with another game I just added: xmen, and when I load it I got a DSI error exception ..

    there is must be something I forgot to include in the compilation but I dont know what, since the compiler doest return any error ..


    hmmm I just try something, I added the cpu of Konami with the konami machine.c and xmen work perfectly.. That mean there is some dependencies the compiler doesnt tell us..
     
    Last edited by Cecilmax, Mar 15, 2018
  19. Cecilmax

    Cecilmax GBAtemp Fan

    Member
    3
    Mar 7, 2015
    Canada
    I try to compile mame2003-plus but I have this error: any idea how to fix it ?

    ^~~~

    src/drivers/system32.c:492:24: warning: 'system32_eeprom_w' defined but not used [-Wunused-function]

    static WRITE16_HANDLER(system32_eeprom_w)

    ^

    src/memory.h:133:40: note: in definition of macro 'WRITE16_HANDLER'

    #define WRITE16_HANDLER(name) void name(UNUSEDARG offs_t offset, UNUSEDARG data16_t data, UNUSEDARG data16_t mem_mask)

    ^~~~

    src/drivers/system32.c:487:23: warning: 'system32_eeprom_r' defined but not used [-Wunused-function]

    static READ16_HANDLER(system32_eeprom_r)

    ^

    src/memory.h:132:39: note: in definition of macro 'READ16_HANDLER'

    #define READ16_HANDLER(name) data16_t name(UNUSEDARG offs_t offset, UNUSEDARG data16_t mem_mask)

    ^~~~

    make: *** [src/drivers/system32.o] Error 1
     
  20. GreyWolf

    GreyWolf GBAtemp Guru

    Member
    8
    Mar 2, 2015
    United States
    Comment the functions out if they're unused?
     
Loading...