N64 Emulator for MIPS based platforms

Post whatever!
Post Reply
forphucksakes
Posts:4
Joined:Sun Jan 18, 2015 5:17 am
N64 Emulator for MIPS based platforms

Post by forphucksakes » Sun Jan 18, 2015 5:36 am

Hi Guys,

Found your page while looking for emulators and was wondering if anyone here would be interested in porting an N64 emulator to either one of the following platforms:

ImgTec's creator CI20 : http://elinux.org/CI20_Hardware#Tech_Spec_overview
GCW-Zero : http://wiki.surkow.com/Quick_Start_Guide#Specifications

The GCW-Zero does have open source gfx drivers for its Vivante chip via etnaviv:
https://github.com/laanwj/mesa/commit/f ... a39e470a9e
https://github.com/etnaviv/etna_viv
Which is capable of OpenGLES 2.0

While the CI20 has a dual core 1.2GHz SoC w/ PowerVR graphics. Currently everybody and their uncle seems to be obsessed with Android/ARM development which is quite sad especially considering that there are some very capable devices out there running on linux and not Dalvik.

GCW-Zero forums/IRC :
http://boards.dingoonity.org/index.php#c10
#gcw of irc.freenode.net

ImgTec's Creator CI20 dev board:
https://groups.google.com/forum/#!forum ... eator-ci20
#ci20 on irc.freenode.net

xperia64
Posts:309
Joined:Fri Feb 28, 2014 7:41 pm

Re: N64 Emulator for MIPS based platforms

Post by xperia64 » Sun Jan 18, 2015 4:46 pm

You'd be better of asking the Daedalusx64 people, since PSP is MIPS.

User avatar
huckleberrypie
Posts:442
Joined:Sat May 31, 2014 4:21 am
Contact:

Re: N64 Emulator for MIPS based platforms

Post by huckleberrypie » Sun Jan 18, 2015 8:42 pm

Few, if any, firms have made tablets/phones using MIPS, so 'tis an oddball platform to do Android development for.

Exophase
Posts:1716
Joined:Mon Aug 05, 2013 9:08 pm

Re: N64 Emulator for MIPS based platforms

Post by Exophase » Sun Jan 18, 2015 9:29 pm

I agree, it's nice to have things developed for handhelds with traditional Linux instead of Android. That's one of the reasons DraStic was made for Pandora too. But I find GCW-Zero less attractive because it uses MIPS and has a 320x240 screen. It's good as a successor to Dingoo though.

As far as your request goes, sorry but porting N64 emulators isn't really something I'm interested in doing. There should be enough skilled devs in the GCW-Zero community to at least get something working, I'm surprised that it hasn't been done yet. I think porting mupen64plus and changing the recompiler to target MIPS may make more sense than retargeting DaedalusX64 to target OpenGL ES 2.0, but either one is going to be a lot of work.

forphucksakes
Posts:4
Joined:Sun Jan 18, 2015 5:17 am

Re: N64 Emulator for MIPS based platforms

Post by forphucksakes » Mon Jan 19, 2015 1:22 am

Hi Guys,

Thanks alot for the responses. Really appreciate it to hear from devs on this topic.

Yeah Ive been talking to one of the daedalusx64 devs but since it was never actually ported to linux that itself is going to be an issue. He mentioned that the project itself is mostly dead and no one is working on it at all(and all the devs are quite happy to just let it die as they've moved on to other things) though the code is on github(https://github.com/hulkholden/daedalus) According to folks at #linuxmips & the internets the PSP & Ingenics chips share the same breed; MIPS32R2 so I was wondering if the dynarec from daedalus could be transplanted into Mupen?

The GCW itself, on paper, is more powerful than the PSP(i believe that theyre apples-apples) while the pandora is more of a netbook/SBC/arduino-hackable hybrid than a portable game console; GCW is more of a "real" traditional linux handheld console(along the lines of the GP2x, Canoo, Wiz etc etc). While it is true that the GCW's on screen display is limited to 320x240 most N64 games rarely went 640x480 :

The system can display resolutions of 256 × 224, 320 × 240 and 640 × 480 pixels. Few games made use of the 640 × 480 mode, many of them required use of the Expansion Pak RAM upgrade. The vast majority of games instead used the system's low resolution 256 × 224 (256 × 240 for PAL models) mode.

https://en.wikipedia.org/wiki/Nintendo_64#Hardware

I think the devs on GCW are working on getting the remaining of the hardware up and running(USB/HDMI etc), mainlining the kernel etc etc so theyre quite busy plus from looking at the major releases(Mupen,pcsxrearmed etc), imo, its really the original devs who can do a proper port else we'll just end up with a hackjob for the sake of having one(so we're pretty much at their mercy).

What do you guys think about the CI20 single board computer? That thing is a $65 beast of a board from Imagination Technologies that runs debian right out of the box:
https://www.youtube.com/watch?v=I2FCHRDUPc8.

Why is everybody staying away from MIPS like its the plague?

Exophase
Posts:1716
Joined:Mon Aug 05, 2013 9:08 pm

Re: N64 Emulator for MIPS based platforms

Post by Exophase » Mon Jan 19, 2015 3:36 am

forphucksakes wrote:Yeah Ive been talking to one of the daedalusx64 devs but since it was never actually ported to linux that itself is going to be an issue. He mentioned that the project itself is mostly dead and no one is working on it at all(and all the devs are quite happy to just let it die as they've moved on to other things) though the code is on github(https://github.com/hulkholden/daedalus) According to folks at #linuxmips & the internets the PSP & Ingenics chips share the same breed; MIPS32R2 so I was wondering if the dynarec from daedalus could be transplanted into Mupen?
Transplanting a dynarec from one emulator to another emulator is a lot of work, and you can end up with a lot of performance compromises making it work. If Mupen had no dynarec at all I'd recommend this, but I suspect it'll be easier to convert its ARM dynarec to MIPS. It'll take some bravery though, Ari64's dynarec code isn't really that pretty. I guess maybe whoever feels they can take up this task can spend a while evaluating both options first?
forphucksakes wrote:The GCW itself, on paper, is more powerful than the PSP(i believe that theyre apples-apples) while the pandora is more of a netbook/SBC/arduino-hackable hybrid than a portable game console; GCW is more of a "real" traditional linux handheld console(along the lines of the GP2x, Canoo, Wiz etc etc). While it is true that the GCW's on screen display is limited to 320x240 most N64 games rarely went 640x480 :
It's more powerful than PSP, yes, especially in the CPU department. Especially since PSP had no L2 cache. I have to disagree with Pandora - while it's good for those things too, it also has some of the best dedicated gaming controls I've ever used in a handheld. And the OS is well suited for emulators, since you can draw directly to a scaled display with very low overhead, and you can get relatively low latency audio and touch, as well as good audio/video synchronization. That's a lot better than you can get coding generically for Android or PCs. It's a lot like GP2X was in this regard (I did some emulator coding for that too).

You're right that 320x240 is fine for most N64 games. This was more of a general complaint about the system. That, along with the lack of a touchscreen, makes DS emulation out of the question anyway, which made me a lot less interested in it.
forphucksakes wrote:I think the devs on GCW are working on getting the remaining of the hardware up and running(USB/HDMI etc), mainlining the kernel etc etc so theyre quite busy plus from looking at the major releases(Mupen,pcsxrearmed etc), imo, its really the original devs who can do a proper port else we'll just end up with a hackjob for the sake of having one(so we're pretty much at their mercy).
You may be right about the original devs, but good luck getting them to work on it. notaz for instance has about a billion other things to do, and I haven't seen Ari64 anywhere in years. In that regard, I (or Lordus) wouldn't be any better anyway. Those two weren't original devs of either emulator anyway, you just need people who are experienced with emulator coding. I know there was a PS1 emulator for Dingoo that got a MIPS dynarec, so these things can at least happen.
forphucksakes wrote:What do you guys think about the CI20 single board computer? That thing is a $65 beast of a board from Imagination Technologies that runs debian right out of the box:
https://www.youtube.com/watch?v=I2FCHRDUPc8.
Honestly, I can think of several small computer boards that are as good or better than CI20 for about the same price, that also came out long before it. I'm not aware of anything new or interesting it brings to the table. It'd be one thing if we were talking handhelds where they're all different, but with SBCs there are many that run Linux and are all nearly interchangeable once you have the same software running. And you should already be able to get an N64 emulator running on an ARM based one (just not Raspberry Pi)
forphucksakes wrote:Why is everybody staying away from MIPS like its the plague?
It's not that there's anything wrong with MIPS (my first emulator was for PSP), it's just that as of the past several years ARM has been in so many more devices that it's hard to be motivated to do work that's specifically targeting it. For most apps the CPU architecture doesn't really matter, but as I'm sure you know there's a lot of platform specific stuff in a dynarec.

I think it became this way because MIPS took too long developing competitive cores, letting ARM dominate. Ingenic had good market share a few years ago, but their CPU performance has fallen way behind since Chinese SoC vendors moved beyond ARM9.

forphucksakes
Posts:4
Joined:Sun Jan 18, 2015 5:17 am

Re: N64 Emulator for MIPS based platforms

Post by forphucksakes » Tue Jan 20, 2015 5:18 am

I deleted the other post because I thought it came off abit dismissive :oops:
Those two weren't original devs of either emulator anyway, you just need people who are experienced with emulator coding. I know there was a PS1 emulator for Dingoo that got a MIPS dynarec, so these things can at least happen.
Yeah hopefully there is some emulation dev. talent in the community interested in N64; though at this point it seems that there are more consumers(like myself) than there are producers.
I think it became this way because MIPS took too long developing competitive cores, letting ARM dominate. Ingenic had good market share a few years ago, but their CPU performance has fallen way behind since Chinese SoC vendors moved beyond ARM9.
IMHO I think it has to do more with the Android-smartphone explosion which just throttled the demand for innovation on ARM through the roof. MIPS probably never had to innovate because the market that they served didnt really demand that much from their SoCs?

Post Reply