Jump to content
IGNORED

GUIntv


zagnalopius

Recommended Posts

Please Note: The latest version of GUIntv (v2.1) is in post #14. Scroll down the thread for the download link.

Version 2.1 is an application for OS X 10.6 and higher. Version 1.2 in post #20 is an applescript that will work on older versions of OS X and PPC Macs.

 

 

I finally got tired of waiting for someone else to write a Mac frontend for jzintv, so I've cobbled together one of my own.

 

I started out fooling around with Automator, and when I realized that couldn't do what I needed, I switched to Applescript. It's not perfect, but this is my first attempt at coding anything for OS X, so don't be too harsh :). I'm planning on rewriting GUIntv as a proper Mac app in the near future, but I wanted to share what I have so far.

 

The zip file includes the GUIntv frontend for jzintv, and a frontend for the bin2rom utility called bin2rom GUI. Give it a shot and let me know what you think. GUIntv doesn't support all of jzintv's oprtions, but if there's enough interest in a particular setting I'll try to add it in a future release.

Edited by zagnalopius
  • Like 1
Link to comment
Share on other sites

Great that you're doing this! It'll make a big difference to prospective jzintv users, I think.

 

However, whenever I try to start playing, I'm getting hit with a dialogue box which I think means the script is crashing (attached). I get the same result when I try to change the default game directory in the preferences. I'm guessing a path is hardcoded that shouldn't be?

 

post-6067-0-10105400-1315711078_thumb.png

Edited by thegoldenband
Link to comment
Share on other sites

  • 4 weeks later...

GUIntv Version 2.0 is almost ready! What a difference a month makes.

 

 

Version 2.0 has been rewritten in Applescript Objective-C, so it now looks and behaves like a normal Mac app. The only catch is that it requires OS X 10.6 or higher. If you’re running an older version of OS X or have a PPC machine, you should stick with GUIntv version 1.1.

 

GUIntv is still a work in progress, but I’m pretty happy with the results so far. Most of the features I wanted to implement are there, but modifying keyboard hack files will have to wait for the next version.

 

I've included a few screenshots to whet your appetite. As you can see everything has been totally redesigned to take advantage of standard Mac controls.

post-12956-0-62433700-1318251320_thumb.png

post-12956-0-79485200-1318251333_thumb.png

post-12956-0-14108900-1318251356_thumb.png

Link to comment
Share on other sites

Hey, Cjherr, sorry you're having trouble. Lots of other people seem to be able to use GUIntv with Lion, so I'm not sure what the problem could be, but I'm starting to look into things. Could you tell me more about your system? What kind of Mac do you have and version of Lion are you using?

 

As far as the preferences go, do they revert to the defaults if you close the preferences window and open it again, or only when you quit and relaunch GUIntv? If you could send me a copy of your preferences file in a PM that would be helpful. It should be in the Preferences folder inside the Library folder in your Home folder. The file is named 'com.zagnalopius.GUIntv.plist'.

 

When you try to open a game, do you get any error messages, or does it seem like nothing at all happens, like GUIntv ignored your request?

 

It might take me a while to find the problem, but I'll try.

Link to comment
Share on other sites

Ok, I think i've fixed the problem. Lion can't handle Applescript's beep command if it's used from Applescript Objective-C. I was trying to use beep to play a sound every time an alert dialog appeared and it was messing everything else up. That explains the issues Lion users were having, but what's really weird is that supposedly it wasn't a problem for everyone. I have no idea why.

 

GUIntv should work fine now, but during my recent testing, I've found an issue with jzintv and Lion. If you try to run jzintv in fullscreen mode on Lion, the screen goes black as usual, but instead of starting a game, jzintv quits with error 1010. The screen switches back to the normal Mac screen, but leaves behind an odd black window that floats over everything else. It can be moved, but the only way I've found to get rid of it is to log out.

 

It's not a bug in GUIntv because I have the same problem running jzintv directly from Terminal, so I think it's either an issue with jzintv or the current version (1.2) of the SDL framework. I tried using a few different builds of jzintv and got the same result. I also tried to build the newest version of SDL with Xcode but couldn't get it to work. If anyone can test GUIntv with version SDL version 1.3, I'd be interested to know if whether or not that helps.

 

Anyway, here's GUIntv version 2.1 for you to try. As usual, please let me know if you find any bugs. I'm also attaching a picture of the error message and black window that appear when I try to use fullscreen mode on Lion. Does anyone have any insight into why this is happening?

GUIntv21.dmg.zip

post-12956-0-72696800-1319973116_thumb.png

Link to comment
Share on other sites

Ok, I think i've fixed the problem. Lion can't handle Applescript's beep command if it's used from Applescript Objective-C. I was trying to use beep to play a sound every time an alert dialog appeared and it was messing everything else up. That explains the issues Lion users were having, but what's really weird is that supposedly it wasn't a problem for everyone. I have no idea why.

 

GUIntv should work fine now, but during my recent testing, I've found an issue with jzintv and Lion. If you try to run jzintv in fullscreen mode on Lion, the screen goes black as usual, but instead of starting a game, jzintv quits with error 1010. The screen switches back to the normal Mac screen, but leaves behind an odd black window that floats over everything else. It can be moved, but the only way I've found to get rid of it is to log out.

 

It's not a bug in GUIntv because I have the same problem running jzintv directly from Terminal, so I think it's either an issue with jzintv or the current version (1.2) of the SDL framework. I tried using a few different builds of jzintv and got the same result. I also tried to build the newest version of SDL with Xcode but couldn't get it to work. If anyone can test GUIntv with version SDL version 1.3, I'd be interested to know if whether or not that helps.

 

Anyway, here's GUIntv version 2.1 for you to try. As usual, please let me know if you find any bugs. I'm also attaching a picture of the error message and black window that appear when I try to use fullscreen mode on Lion. Does anyone have any insight into why this is happening?

Hi Allen,

 

First of all, thank you so much for GUIntv. Sometime ago I have written an Applescript similar to yours (although it was simpler) but I never disclosed it because it was in alpha stage (however it worked fine for my personal purposes)... :)

 

I would like to take this opportunity to suggest some new features to GUIntv (based on what I have implement/intended to implement to my script):

 

1. Set a different directory for the jzintv executable. I don't think most users keep it with Intellivision system files. In my case, for example, it's in /usr/local/bin directory;

 

2. Ask the user to select the system files individually (so the files could have different names instead of ecs.bin, exec.bin and grow.bin). Another better option would be to scan the system directory and identify the files automatically based on the md5sum (for instance);

 

3. Allow the user to specify extra flags to jzintv (so the user could pass to jzintv parameters not supported by the graphical interface).

 

As for the fullscreen issue, Lion broke the compatibility with SDL 1.2 fullscreen support: http://forums.libsdl.org/viewtopic.php?p=29146. However there is already a fix for it: http://forums.libsdl.org/viewtopic.php?t=7527. I've just tried it and it worked fine! :-D However I had to recompile jzintv to support SDL Unix style (instead of SDL framework) because I don't know how to build it properly with Xcode (I'm a Xcode newbie). ;)

 

Thank you again for GUIntv. Keep up the great work!

Link to comment
Share on other sites

Hi guys,

 

I was able to build the SDL.framework with Xcode using the patched SDL_QuartzVideo.m file (for Lion fullscreen compatibility)! :grin:

For those who want to give it a try, here is the binary: http://goo.gl/Pu6V0. Just unpack it and copy it to /Library/Frameworks (repair owners permissions if necessary).

 

Enjoy it!

Edited by sknight
Link to comment
Share on other sites

Hey Sknight,

 

I just tried out your build of SDL and it works perfectly. Thanks a lot for posting it for everyone! If you don't mind, I'd like to include a link to in the next version of GUIntv.

 

Regarding suggestions one and two in your post above, I didn't realize that specific file names were only necessary if the ROM's file paths weren't specified. I always thought jzintv required the system ROMs to be called "exec.bin" and "grom.bin" , so I designed the interface accordingly. Since there's really no need for a central Intellivision "system folder", I'll probably redesign the interface for the next release. I don't think I'll scan the system for ROMs, but I'll add controls in the preferences that let users specify separate paths for jzintv, EXEC, GROM, and ECS files.

 

As far as suggestion number three goes, my main reason for writing GUIntv was to make it easier to play Intellivision games on OS X, so I'm trying to keep everything as simple as possible while providing the controls most people will want to use regularly. Personally, I don't see the use for most of the unsupported options except maybe rate control and the debugger. That said, I appreciate your interest in my project and if there are any features of jzintv that you think GUIntv should support, please let me know, and I'll see what I can do about adding them to a future release.

Edited by zagnalopius
Link to comment
Share on other sites

Speaking of future releases, version 2.5 is coming along nicely. It will feature redesigned file path and naming preferences as suggested by Sknight, along with my first stab at a GUI for configuring the Intellivision's controllers.

 

Although I'm focused on the new version, I couldn't help but notice that the original 1.1 version is still pretty popular. As a matter of fact, it's been downloaded almost as many times as the Xcode version. So while I was writing the code for the new file preferences, I decided to try going back and adding them to the Applescript. The result is GUIntv version 1.2.

 

I started coding the original GUIntv on a whim and put it together in a few hours while skimming the Applescript language guide. Although it got the job done, I had no idea what I was doing, so it was both kludgy and needlessly complex. Version 1.2 is a major improvement in just about every way, and I think it's at the limit of what is feasible with Applescript alone, so unless it's buggy, this will probably be the only update the Applescript version will get.

 

Version 1.2 is 99% done. I just need to do a little more testing, and write some new documentation, and I'll post it here in a day or two.

In the meantime, here's a screenshot of version 1.2's new main menu, and a work in progress screenshot of the Intellivision controller GUI for version 2.5.

post-12956-0-63113600-1320494236_thumb.png

post-12956-0-89666400-1320494251_thumb.png

Link to comment
Share on other sites

Hey Sknight,

 

I just tried out your build of SDL and it works perfectly. Thanks a lot for posting it for everyone! If you don't mind, I'd like to include a link to in the next version of GUIntv.

 

No problem at all. Feel free to include a link to my binary! :) However, in order to comply with the LGPL license, please include also the links to the original source code and the patched file:

 

Original source code: SDL-1.2.14.tar.gz

Patched file: http://www.whpress.c...L_QuartzVideo.m

 

Regarding suggestions one and two in your post above, I didn't realize that specific file names were only necessary if the ROM's file paths weren't specified. I always thought jzintv required the system ROMs to be called "exec.bin" and "grom.bin" , so I designed the interface accordingly. Since there's really no need for a central Intellivision "system folder", I'll probably redesign the interface for the next release. I don't think I'll scan the system for ROMs, but I'll add controls in the preferences that let users specify separate paths for jzintv, EXEC, GROM, and ECS files.

 

Great! As a matter of fact, I've just seen in your last post (regarding GUIntv v2.5) that it will be possible to select different paths for every system file! :grin:

 

As far as suggestion number three goes, my main reason for writing GUIntv was to make it easier to play Intellivision games on OS X, so I'm trying to keep everything as simple as possible while providing the controls most people will want to use regularly. Personally, I don't see the use for most of the unsupported options except maybe rate control and the debugger. That said, I appreciate your interest in my project and if there are any features of jzintv that you think GUIntv should support, please let me know, and I'll see what I can do about adding them to a future release.

 

My suggestion was to implement something like the "Additional Parameters" box found in the jzIntv Launcher for Windows: jzIntv_Launcher_jzIntv_Launcher.jpg. That way your application would be more flexible letting the user specify extra parameters when needed. Some time ago (when running jzIntv on another machine) I had problems with the audio and I had to play with parameters like "--audiorate" and "--audiobufsize" to fix it, for instance.

 

Keep up the great work!

Edited by sknight
Link to comment
Share on other sites

Here's GUIntv version 1.2. Sorry it took longer than "a day or two", but I wanted to make a few last-minute changes. Like I said in a previous post, I wasn't planning to work on this, but GUIntv 1.1 was so crap-tacular that I felt like I had to try to fix it as long as people were still interested in a straight Applescript version.

 

Here's what's new in version 1.2:

Separate file paths for jzintv and each of the Intellivision ROMs, and the ROM files no longer require specific names. It's a more flexible system, and doesn't need as much prep work to get started.

There is no longer an external preferences file. All preferences are stored in GUIntv's script bundle, so if you used version 1.1, you can get rid of the "GUIntv Preferences" file in ~/Library/Preferences.

The current settings for all preferences are shown in the main window.

Uses version 2.1's error handling and messaging routines.

 

Please let me know if you find any bugs. Enjoy!

GUIntv12.dmg.zip

Link to comment
Share on other sites

Sknight,

 

I see what you mean by the "Additional Parameters" box. If I implement something like that in GUIntv, I'd probably add an option called "Open With Flags" to the File menu. Open With Flags would open a window with a text field where unsupported flags could be entered before selecting a game. I don't think it will be difficult to code, but it's something I'll look into more after I finish the keyboard hack file GUI.

 

Out of curiosity, what Mac were you using when you needed to manually set audio parameters? The main reason I wasn't planning on supporting more flags is that most of them seemed designed to coax more performance out of slow machines. Seeing as GUIntv 2.0 and newer require at least Snow Leopard to run, I figured that the default hardware settings weren't going to be a problem for anyone.

Link to comment
Share on other sites

  • 1 month later...

Sknight,

 

I see what you mean by the "Additional Parameters" box. If I implement something like that in GUIntv, I'd probably add an option called "Open With Flags" to the File menu. Open With Flags would open a window with a text field where unsupported flags could be entered before selecting a game. I don't think it will be difficult to code, but it's something I'll look into more after I finish the keyboard hack file GUI.

 

Out of curiosity, what Mac were you using when you needed to manually set audio parameters? The main reason I wasn't planning on supporting more flags is that most of them seemed designed to coax more performance out of slow machines. Seeing as GUIntv 2.0 and newer require at least Snow Leopard to run, I figured that the default hardware settings weren't going to be a problem for anyone.

Hi zagnalopius,

 

First of all, sorry for the lack of news from my side...

 

Something like you proposed ("Open with Flags" option) would be great! ;-)

As for your question I had to set up the audio parameters manually when I tried jzIntv on a hackint0sh, due to the some issues with the audio driver at that time. In fact such parameters have never been necessary on my real Mac (a Macbook Pro).

I would like to take this opportunity to wish you and everybody here a Happy New Year! :party:

 

Keep up the great job!

Link to comment
Share on other sites

I just came across this emulator.

 

Is anyone having trouble with the fact that the ctrl keys map to the lower-right action button and the option/alt keys map to the lower-left?

 

Would anyone, esp. MacBook (Pro) users, like a "hack file" that maps the ctrl keys to the lower-left, and the option/alt keys to the lower-right?

Link to comment
Share on other sites

Great work, Zagnalopius! I like GUIntv! I can attest that it works great in OS X Lion 10.7.2

 

I have a couple of suggestions, though:

  • I think the preferences should go back to a file in the ~/Library/Preferences folder. This will better follow OS X conventions; the "Applications" folder should be considered as a binary executable directory, and should not contain mutable user data.
  • When quitting the emulator, the launcher should remain in the previously selected folder, and the last played ROM should be selected. I have ROMs organized in sub-folders, and it's kind of a pain to re-navigate back to where I was.

I think your front-end is great, and it was something needed.

 

Thank you for your effort!

 

-dZ.

Edited by DZ-Jay
Link to comment
Share on other sites

Happy New Year everyone,

 

I needed to take a break from coding for a month or so, but I fired up Xcode today and had a good time, so I think I’m ready to start working again.

 

Sknight – Thanks for answering my questions. I never needed to fiddle with any of the other parameters myself, even on a relatively slow eMac, but I’ve decided that I definitely should add “Open With Flags” (or something similar) to access them in a future version of GUIntv.

 

John Tanner – Right now I'm working on a keyboard hack GUI that will let you configure the Intellivision's controllers on the fly in GUIntv. In the meantime, I've attached a simple hack file that I use on my MacBook Pro. It maps the left controller's action buttons to the left shift, control, and option keys, and the keypad buttons across four rows on the left side of the keyboard (1,2,3 q,w,e a,s,d z,x,c).

 

DZ-Jay – It should be very easy to add a preference that makes GUIntv’s file selector always point to the last used directory. I never really considered dealing with subdirectories, but I’ll see what I can do in the future.

 

As far as saving preferences goes, there are two versions of GUIntv – an Applescript and an app version – and they both handle preferences differently. Version 1.2 is an Applescript that saves its preferences internally as persistent global variables. Version 2.1 is a Mac app that saves its preferences in a plist file in ~/Library/Preferences.

 

This might be a little confusing because version 1.2 was actually made after 2.1. I wasn’t planning on updating version 1.1, but there are still a lot of people on older machines who couldn’t use the new version, so I gave the Applescript one last update to fix a few issues, including how preferences are saved.

KeyHack.txt

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...