[Windows] Unofficial CEN64 Launcher

Discuss and announce frontends here.
Post Reply
User avatar
thedax
Posts: 6
Joined: Sat Nov 02, 2013 9:55 pm

[Windows] Unofficial CEN64 Launcher

Post by thedax » Sat Nov 02, 2013 10:08 pm

I guess this makes me the third person to make a GUI for CEN64, but that's fine, I don't view it as a competition or anything.

Anyway, here's what mine looks like:

Image

Here's an in-game screenshot:

Image

Requirements:
* .NET Framework 3.5. Get it here if you don't have it (no need if you have Windows 7 (and maybe Vista?)): http://www.microsoft.com/en-us/download ... x?id=25150
Windows XP SP3(I think? I've not tested if it runs on XP yet), Vista, 7, 8, or 8.1 (sorry, no Linux/Mac/etc. support, since this uses Win32 hooks to hijack the CEN64 window).
* Enough brain power to navigate basic Windows dialogs.
* About 1MB of free space (more may be needed if you run *.n64 or *.v64 files, due to CEN64 not natively supporting these rom types yet).
* A fast Intel/AMD CPU, since CEN64 is pretty demanding. As far as the launcher goes, however, if your PC/device can run .NET applications smoothly, then it'll do fine.


What makes mine different:
* CEN64 can be stopped/killed at any time, as well as paused and resumed.
* CEN64 is displayed in the launcher's main window, giving the feel of a traditional emulator (has a few limitations)
* Allows CEN64 to be resized and go fullscreen (CEN64 doesn't allow for these by default currently, and has a few limitations)
* Supports pulling in the VI/s information, if CEN64 is compiled to flush its stdout output after every printf, which will be displayed in the status bar, or on the title bar (if the status bar is hidden). See http://cen64.com/viewtopic.php?f=17&t=15#p242 and http://cen64.com/viewtopic.php?f=10&t=13 for details on how to compile CEN64 with it.
* Supports *.v64, *.n64, and *.z64 rom types.
* Supports *.zip files, meaning it extracts the first rom it finds in your zip, byteswaps it to z64 format, then passes it to CEN64. When play concludes, the launcher cleans up after itself.

Where it's limited:
* If CEN64 hangs or crashes, the GUI likely will too, since I hook the CEN64 window directly and make it a child of a Panel control.
* When entering fullscreen, the only way to exit is ALT + F4 since CEN64 doesn't support quitting via any buttons yet.
* When entering fullscreen, a mouse click is needed to get CEN64 to accept input. There's not much I can do about this, since on Windows, you can't force any window to take focus away from any other windows.
* If the launcher encounters ROMs that have the same name, it ignores subsequent duplicates (e.g. if it encounters "zelda.z64" and "zelda.v64", it'll add whichever one it finds first to the list).

It's released under the 3 clause BSD license, and the source can be found on Github.

I can't figure out how to get Github to accept my binary releases(it says "Unfortunately we can't accept this file" no matter what I do), so here's a Mediafire release:

http://www.mediafire.com/download/1evay ... uncher.zip

For the paranoid, here's a virustotal scan:
https://www.virustotal.com/en/file/8631 ... 383621399/

And the MD5/SHA1/CRC32 of the GUI:
SHA1: 673F67AAC21A9DC4132C6B7AB49EDAF8763031D0
MD5: 4C1D416DACA09483632D3256BEDC0C27
CRC32: 7568D0BB


Btw, it does support sram and eeprom; the dialog is a bit deceiving. Right now it sends both files to CEN64 as a catch-all.
Last edited by thedax on Tue Nov 05, 2013 12:26 am, edited 7 times in total.

User avatar
MarathonMan
Site Admin
Posts: 692
Joined: Fri Oct 04, 2013 4:49 pm

Re: [Windows] Unofficial CEN64 Launcher

Post by MarathonMan » Sat Nov 02, 2013 11:58 pm

I am glad to see so much interest in CEN64! Excellent work. :D

beannaich
Posts: 149
Joined: Mon Oct 21, 2013 2:43 pm

Re: [Windows] Unofficial CEN64 Launcher

Post by beannaich » Sun Nov 03, 2013 12:33 am

thedax wrote:I can't figure out how to get Github to accept my binary releases(it says "Unfortunately we can't accept this file" no matter what I do).
Weird, this works for me.

The UI looks great, you were able to surpass what I did with the other one. Good work! I'll give it a try and report back.

EDIT: Works well, could probably use Win32 methods to create a suspended process so that you can hook before the CEN64 window even opens. One or two suggestions: The stop button has the same icon as a record button. The settings UI is a little non-standard, I could fix that if you'd like ;)

Also, on Windows 8 I get security warnings for some reason. I know this isn't a virus because I'm following your Git repository and can see the code. "Unknown Publisher" warnings may put people off to using this UI, if for no other reason than annoyance.

User avatar
thedax
Posts: 6
Joined: Sat Nov 02, 2013 9:55 pm

Re: [Windows] Unofficial CEN64 Launcher

Post by thedax » Sun Nov 03, 2013 1:32 pm

Thanks for the feedback. What suggestions do you have for the config form? I wanted to make it relatively easy to use. And yeah, when I was going through the various icons I had laying around, the one that fit the bill best was that Visual Studio breakpoint button (round red stop sign is how I viewed it, basically). I'm using icons from the VS 2012 icon pack, lol.

As for the publisher thing, don't you have to register with Microsoft and all that?

beannaich
Posts: 149
Joined: Mon Oct 21, 2013 2:43 pm

Re: [Windows] Unofficial CEN64 Launcher

Post by beannaich » Sun Nov 03, 2013 2:55 pm

thedax wrote:Thanks for the feedback. What suggestions do you have for the config form? I wanted to make it relatively easy to use.
Well, the buttons and layout aren't standard, just needs to be altered a little. It's a minor gripe if anything :P The Front-end options form I made looks like this:

Image
thedax wrote:And yeah, when I was going through the various icons I had laying around, the one that fit the bill best was that Visual Studio breakpoint button (round red stop sign is how I viewed it, basically). I'm using icons from the VS 2012 icon pack, lol.
I've always used the Silk Icon Pack. Pretty expansive and has a common theme across all images.
thedax wrote:As for the publisher thing, don't you have to register with Microsoft and all that?
I'm not sure, I've never had this problem with any executable I've built with Visual Studio. I could git the source and build it and see if I still get the warnings.

User avatar
thedax
Posts: 6
Joined: Sat Nov 02, 2013 9:55 pm

Re: [Windows] Unofficial CEN64 Launcher

Post by thedax » Mon Nov 04, 2013 11:15 pm

I don't think it's quite time yet to bump up the version to 0.4, but I've added a few new things:

- ZIP file support (it extracts the first rom it finds from the ZIP, byteswaps it if necessary, then plays it. The launcher cleans up after itself when you're done playing, so don't worry.).
- beannaich's revised Config menu.

Check the first post for download links.

User avatar
thedax
Posts: 6
Joined: Sat Nov 02, 2013 9:55 pm

Re: [Windows] Unofficial CEN64 Launcher

Post by thedax » Wed Nov 06, 2013 4:14 pm

I'm going to be abandoning the idea of hijacking CEN64's window, since it doesn't save save files when it's not cleanly exited, and when I invoke Process.CloseMainWindow, CEN64 ignores it (I guess because it's parented in my window), so I end up having to kill it, meaning saves aren't saved. If CEN64 didn't have this behaviour, it wouldn't be as big of a deal (not that I'm blaming MarathonMan or anything, it's his emulator).

If the behaviour ends up changing though, I'll definitely bring the feature back.

beannaich
Posts: 149
Joined: Mon Oct 21, 2013 2:43 pm

Re: [Windows] Unofficial CEN64 Launcher

Post by beannaich » Thu Nov 07, 2013 2:19 am

thedax wrote:I'm going to be abandoning the idea of hijacking CEN64's window, since it doesn't save save files when it's not cleanly exited, and when I invoke Process.CloseMainWindow, CEN64 ignores it (I guess because it's parented in my window), so I end up having to kill it, meaning saves aren't saved. If CEN64 didn't have this behaviour, it wouldn't be as big of a deal (not that I'm blaming MarathonMan or anything, it's his emulator).

If the behaviour ends up changing though, I'll definitely bring the feature back.
Probably will be better once the socket API previously mentioned gets implemented. At least the proof of concept is .. proven.

User avatar
thedax
Posts: 6
Joined: Sat Nov 02, 2013 9:55 pm

Re: [Windows] Unofficial CEN64 Launcher

Post by thedax » Thu Nov 07, 2013 12:56 pm

Yeah, a way to send a save command (and maybe a go fullscreen command) to the emulator would be nice.

User avatar
MarathonMan
Site Admin
Posts: 692
Joined: Fri Oct 04, 2013 4:49 pm

Re: [Windows] Unofficial CEN64 Launcher

Post by MarathonMan » Thu Nov 07, 2013 3:15 pm

thedax wrote:Yeah, a way to send a save command (and maybe a go fullscreen command) to the emulator would be nice.
As beannaich said, later versions will provide those features and many more options via socket communication on the localhost interface.

User avatar
Nintendo Maniac 64
Posts: 185
Joined: Fri Oct 04, 2013 11:37 pm

Re: [Windows] Unofficial CEN64 Launcher

Post by Nintendo Maniac 64 » Thu Nov 14, 2013 5:05 pm

Just a heads-up, even if the frontend works on XP SP3 it wouldn't really matter much since Cen64 requires a 64bit OS just to run (at least on Windows).
CEN64 Forum's resident straight-male kuutsundere
(just "tsundere" makes people think of "Shana clones" *shivers*)

CPU+iGPU: Pentium G3258 @ 4.6GHz/1.281v
dGPU: Radeon HD5870 1GB
RAM: Vengeance 1600 4x4GB
OS: Windows 7

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest