Linux support

General forum for 4DO
retrotails
Posts: 1
Joined: Thu May 22, 2014 4:50 am

Linux support

Postby retrotails » Thu May 22, 2014 5:11 am

Hello, I'm an aspiring C programmer - I was wondering how difficult it would be to change the emulator over from all the proprietary MS utilities to something more portable. I've worked with C, C++ and OpenGL a little bit, and I've used solely Linux for over half a decade, so I could certainly help but I can't do it on my own. If we ported it to, say wxWidgets (which at least PCSX2 and Dolphin use) you could have far more portable binaries, plus I believe the free-as-in-speech utilities are superior.
Anyway, I would need to know as much information as possible about the workings of the emulator and the system. I've written some basic CPU emulators in the past but I don't know if that would help. I have looked at the 4DO source and it seems pretty legible but it'd take weeks to comprehend just how it works. Also, a fair bit would need rewritten, seeing as it's very tied to the Win32 API and has some C#. Depending on the complexity of the system I might be looking to do a complete rewrite (which I could probably do, but again, I'd certainly need help.)
So yeah, if any devs can help me, that'd be awesome.
BryWI
Posts: 154
Joined: Thu Oct 27, 2011 11:35 pm

Re: Linux support

Postby BryWI » Sat May 24, 2014 7:16 pm

I can't really be of much help other than I know the 4DO emulator interfaces with the open source FreeDO core. I believe the Freedo core is not C# and maybe just C++. I would take the current source and see how 4DO interfaces with the FreeDO core and write your own interface to the core. I would use the FreeDO core source that is with the 4DO source as it should be the most bugfixed open source version. That is unless there is another open source project out there I don't know of.

I am not a programmer so I hope this helps a little. These threads might hold some useful information too.

viewtopic.php?f=4&t=5

viewtopic.php?f=4&t=57
Johnny
Site Admin
Posts: 119
Joined: Thu Oct 27, 2011 1:50 pm

Re: Linux support

Postby Johnny » Mon Jan 26, 2015 7:18 pm

retrotails wrote:Hello, I'm an aspiring C programmer - I was wondering how difficult it would be to change the emulator over from all the proprietary MS utilities to something more portable. I've worked with C, C++ and OpenGL a little bit, and I've used solely Linux for over half a decade, so I could certainly help but I can't do it on my own. If we ported it to, say wxWidgets (which at least PCSX2 and Dolphin use) you could have far more portable binaries, plus I believe the free-as-in-speech utilities are superior.
Anyway, I would need to know as much information as possible about the workings of the emulator and the system. I've written some basic CPU emulators in the past but I don't know if that would help. I have looked at the 4DO source and it seems pretty legible but it'd take weeks to comprehend just how it works. Also, a fair bit would need rewritten, seeing as it's very tied to the Win32 API and has some C#. Depending on the complexity of the system I might be looking to do a complete rewrite (which I could probably do, but again, I'd certainly need help.)
So yeah, if any devs can help me, that'd be awesome.


Aside from the C# user interface, there are only a few things that tie 4DO to Windows. The minimal DirectX in use, the controller input, the audio output, and some Win32 API calls. These could all be switched out with operating-system-specific stuff.

For the user interface, 4DO uses C# and "Windows Forms". Windows Forms should reasonably be cross-platform thanks to Mono. Replacing 4DO's user interface with another (like wxWidgets) is possible, but probably means throwing away any C# code in FourDO. At that point you'd be left with the core DLLs, which you could potentially make use of like BryWI indicated above. So like you said, it would be starting "from scratch", but at least the core emulation would still be done for you!

I expect 4DO will be sticking with the C# front-end for desktops. If there is ever a mobile version of 4DO, I expect the current front-end would be replaced for it.

Return to “General Forum”

Who is online

Users browsing this forum: No registered users and 20 guests