Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: N64 emulator project powered by Odroid XU4  (Read 9211 times)

0 Members and 1 Guest are viewing this topic.

severdhed

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2971
  • Last login:October 07, 2022, 04:45:32 pm
  • RIP Dinosaur Hippo
N64 emulator project powered by Odroid XU4
« on: January 11, 2018, 11:08:50 pm »
I've been waiting for years to be able to build an N64 emulator box.  Much to my disappointment, the Raspberry Pi 3 just wasn't powerful enough to run the n64 games, so i've been looking around for other options.  I finally found what I was looking for... the Odroid XU4.  It is roughly the same size as a raspberry pi, but has double the memory, an 8 core processor and gigabit ethernet. This means it has the horsepower to emulate N64 games at full speed.  It is double the price of the Pi 3, but so worth it.  (note that it does not have built in bluetooth or wifi)

One of the biggest problems with emulating N64 are the controls.  there just isn't an easy way to map the controls to a modern controller and have it work with all the games.  you can map the c buttons to the right analog stick, which works for games that use them for camera controls, but you can't really play fighting games that way.  So, to that end, i decided that using N64 controllers was the only way to go.   I figured if i'm going to use n64 controllers, i should just go ahead and put it in an n64 shell.  I picked up a dead n64 a while back when i was hoping the pi 3 was going to be capable, so i finally got to put it to good use. 

I'd say it is 90% done.  I still need to rig up the reset button to trigger a safe shutdown like i did on my SNES pi system and i need to do a little cleaning of the case.

here it is in the current state.  other than the cartridge slot and blue LED,  it looks stock.



I wanted to have access to some USB ports, just in case, so i mounted two USB 3 extension cables under the Memory Pak door.


I mounted a 3rd USB 3 extension where the AV port used to be.  The hole was a little too big because i originally had an HDMI extension mounted there.  This is where i will plug in the 128GB flash drive that is full of dreamcast games.


I mounted the odroid unit so the ports are accessible inside the area where the original power supply used to mount.  This is where i'm a little disappointing in how it turned out.  i had previously mounted an ethernet jack back there, so the opening was cut a little lower on the right than i would have actually needed it. 


Unlike the raspberry pi, the Odroid XU4 has a power switch mounted on the board.  Since it is deep inside the case, I wanted to relocate it to the original n64 power switch.  I hot glued an arcade microswitch to the shell so that the original power button slider would activate it when slid back.  This way I can easily power the unit on.


i had to solder the two wires from the switch to the terminals on the original switch on the odroid unit.  I didn't really want to have to do this, but it worked out ok.


I used one of the original screw posts to mount the computer, i mounted the other end to a piece of plastic that I hot glued in place.  it seems to hold well.


the yellow wires on the left are from an original xbox DVD drive cable, it happened to plug into the gpio header. i had planned on using this to connect a blue power led, but as it turns out, they gpio pins still have power even when turned off, so i ended up removing this at a later step. you can also see the switch for the original reset button is still in there, but not currently connected to anything, i'll deal with that later.


since i wanted to use the n64 controllers, i picked up two mayflash USB to N64 controller adapters.  i cut the cords a little shorter and soldered some jumper wires from these adapters to the original controller ports. you can't see it in this pic, but i also attached the power LED to the 5v and gnd on one of these controller adapters so that the light shuts off when the system turns off.


The Odroid xu4 has three USB ports. one USB 2.0 port on the back near the power and HDMI ports, and two USB 3.0 ports.  Since this is not enough, i ended up using an Anker 4 port USB 3.0 hub mounted internally.  This way i can plug in my two controller adapters, and the two extensions that go in the memory expansion port, and still have one 3.0 port extended to the back for my flash drive.  The USB 2.0 port currently holds the wifi adapter.


here you can see how everything (barely) fits inside.  Overall, i'm pretty pleased with how this turned out.  I still have a little work to do on the software side, but i should have it finished up by the end of the weekend. 



There is no port of retropie for the odroid board, but there is one for Recalbox.  I have everything installed on a 128gb micro SD card, which contains tons of roms.  It currently boots up directly to the n64 gamelist, but you can easily back out to the main menu to select other systems.  i probably won't use it much to emulate the other systems, since the n64 controller is a little awkward, but i figured i had the space, i should fill it up.

it currently has full sets for:

NES
SNES
N64
Gameboy
Gameboy Color
Gameboy Advance
Virtualboy
Sega SG1000
Master System
Genesis
32x
Sega CD
Gamegear
Atari 2600
Atari 7800
Lynx
TurboGrafx 16
NeoGeo
NeoGeo Pocket Color


It also has a nice selection of Playstation games to fill out the rest of the space on the SD card.

This board not only has the power to emulate N64, but also the Dreamcast.  I was shocked at how well it runs dreamcast games.  I have a 128GB USB 3 flash drive with about 130 dreamcast ISOs on it.  the n64 controllers are ok for playing dreamcast games, but not ideal.  I figured i'll use playstation or xbox controllers if i choose to play dreamcast.  I'm mostly concerned with N64 emulation though, so that is what i built this around.






« Last Edit: January 12, 2018, 07:52:14 pm by severdhed »
Current Projects:      Zak-Man | TMNT Pedestal | SNES Pi | N64 Odroid
Former Projects:     4 Player Showcase | Donkey Kong | iCade

wp34

  • Trade Count: (+3)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4794
  • Last login:April 10, 2022, 09:48:19 pm
Re: N64 emulator project powered by Odroid XU4
« Reply #1 on: January 11, 2018, 11:27:01 pm »
Outstanding!  The N64 is one of my favorites.  I love how this looks very stock.

NIVO

  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 1256
  • Last login:August 08, 2022, 12:32:13 pm
  • danny_galaga is my mail man.
    • N.A.M.E. - arcade cabinet project
Re: N64 emulator project powered by Odroid XU4
« Reply #2 on: January 29, 2018, 03:00:46 pm »
excellent work. the Odriod is indeed a little beast. Ive played with one a few times.

stigzler

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 977
  • Last login:February 11, 2022, 03:01:48 pm
  • It seemed like a good idea at the time....
    • Mago Arcade
Re: N64 emulator project powered by Odroid XU4
« Reply #3 on: January 29, 2018, 03:02:25 pm »
Nice one. I put an XU4 in a 2600 case: https://sites.google.com/view/magoarcade/hardware/ataroid

It's a great SBC. Also running recalbox on it + the new build is great. I've asked SubString to install wiring pie on a future build so XU4 can have a power on/off switch via GPIO just like the RaspberryPi build.

Love the way you've preserved the original controller ports. Nice touch.

Oh. I've also knocked together a windows desktop app that makes the whole process of adding roms more straightforward. Details here: https://sites.google.com/view/magoarcade/software/recalboxer


DaOld Man

  • Trade Count: (+4)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5139
  • Last login:December 13, 2023, 12:03:14 am
  • Wheres my coffee?
    • Skenny's Outpost
Re: N64 emulator project powered by Odroid XU4
« Reply #4 on: February 07, 2018, 07:18:31 pm »
Great work! Nice and clean.
I need to check out the board you used.

nitrogen_widget

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1746
  • Last login:March 06, 2024, 07:26:06 am
  • I want to build my own arcade controls!
Re: N64 emulator project powered by Odroid XU4
« Reply #5 on: February 08, 2018, 10:16:15 pm »
So are there any n64 games that give the odroid issues?
looking to do this myself  but rpi3 just isn't powerful enough.
to  be honest a $15 dual core android stick I picked up a few yrs ago runs n64 emulation better than rpi3.

severdhed

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2971
  • Last login:October 07, 2022, 04:45:32 pm
  • RIP Dinosaur Hippo
Re: N64 emulator project powered by Odroid XU4
« Reply #6 on: February 08, 2018, 11:49:27 pm »
i went through and tested all of them to make sure they would at least start playing, there were some that just didn't work, some with graphic glitches, but the overwhelming majority of them worked fine.   Out of all of them that didn't work, the only one that I really wanted was Donkey Kong 64.  it runs, but the camera resets it position about every second.  From what i read, it is a known issue with the mupen64 emulator that is used on recalbox, so i have hopes that it will work eventually.

i had a friend over the other night and along with my kids, we played mario kart 64, goldeneye, fzero, and WCW NWO Revenge.  they worked great and it was a ton of fun.
Current Projects:      Zak-Man | TMNT Pedestal | SNES Pi | N64 Odroid
Former Projects:     4 Player Showcase | Donkey Kong | iCade

nitrogen_widget

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1746
  • Last login:March 06, 2024, 07:26:06 am
  • I want to build my own arcade controls!
Re: N64 emulator project powered by Odroid XU4
« Reply #7 on: February 09, 2018, 11:22:13 am »
i went through and tested all of them to make sure they would at least start playing, there were some that just didn't work, some with graphic glitches, but the overwhelming majority of them worked fine.   Out of all of them that didn't work, the only one that I really wanted was Donkey Kong 64.  it runs, but the camera resets it position about every second.  From what i read, it is a known issue with the mupen64 emulator that is used on recalbox, so i have hopes that it will work eventually.

i had a friend over the other night and along with my kids, we played mario kart 64, goldeneye, fzero, and WCW NWO Revenge.  they worked great and it was a ton of fun.

i saw the same on mupen for android with DK.
Wonder how the retroarch cores fare?
will have to keep the XU4 in mind when i get to building the N64.
Thanks.

severdhed

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2971
  • Last login:October 07, 2022, 04:45:32 pm
  • RIP Dinosaur Hippo
Re: N64 emulator project powered by Odroid XU4
« Reply #8 on: February 09, 2018, 04:29:05 pm »
i tried changing the core, but then the controls quit working.   I just moved on planning to revisit that later and just never got around to it.  I'll have to figure out how to get the controls working with the retroarch cores and try it again one of these days.
Current Projects:      Zak-Man | TMNT Pedestal | SNES Pi | N64 Odroid
Former Projects:     4 Player Showcase | Donkey Kong | iCade