Jump to content

Photo

GUIntv


45 replies to this topic

#1 zagnalopius OFFLINE  

zagnalopius

    Space Invader

  • 20 posts

Posted Sat Sep 10, 2011 8:44 PM

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, Wed Nov 9, 2011 7:10 AM.


#2 thegoldenband OFFLINE  

thegoldenband

    River Patroller

  • 4,034 posts
  • Location:Long Island, NY

Posted Sat Sep 10, 2011 9:18 PM

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?

GUIntv error.png

Edited by thegoldenband, Sat Sep 10, 2011 9:20 PM.


#3 zagnalopius OFFLINE  

zagnalopius

    Space Invader

  • Topic Starter
  • 20 posts

Posted Sun Sep 11, 2011 5:50 AM

Thanks for the heads-up Goldenband. I found the problem was the way I was using global variables. I guess should have read the Applescript developer guide more carefully, but I'm learning as I go along.
Anyway, here's version 1.1 for you to try.

Edited by zagnalopius, Wed Nov 9, 2011 7:09 AM.


#4 thegoldenband OFFLINE  

thegoldenband

    River Patroller

  • 4,034 posts
  • Location:Long Island, NY

Posted Tue Sep 13, 2011 12:04 PM

The fix works perfectly, and so does GUIntv. Great stuff! Have you mentioned this project to Joe Z.? It will definitely help neophyte jzintv users a lot.

#5 zagnalopius OFFLINE  

zagnalopius

    Space Invader

  • Topic Starter
  • 20 posts

Posted Mon Oct 10, 2011 7:01 AM

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.

Attached Thumbnails

  • IconDock.png
  • PrefWindow.png
  • MenuHelp.png


#6 goldenegg OFFLINE  

goldenegg

    Stargunner

  • 1,700 posts
  • Location:Toronto, Ontario, Canada

Posted Thu Oct 13, 2011 1:27 PM

Just wanted you to know how much I appreciate the work you're putting in to this. Can't wait till v2.

#7 zagnalopius OFFLINE  

zagnalopius

    Space Invader

  • Topic Starter
  • 20 posts

Posted Fri Oct 14, 2011 6:56 AM

Wait no more Goldenegg, GUIntv version 2.0 is here!

Please let me know if you find any bugs.

-Zagnalopius

Edited by Albert, Sun Oct 30, 2011 7:20 AM.


#8 vprette OFFLINE  

vprette

    Stargunner

  • 1,258 posts

Posted Tue Oct 18, 2011 2:24 PM

it doesnt work on my lion OS

#9 zagnalopius OFFLINE  

zagnalopius

    Space Invader

  • Topic Starter
  • 20 posts

Posted Tue Oct 18, 2011 4:40 PM

Vprette, can you tell me what's happening when you try to launch GUIntv? Does nothing happen or do you get an error message?

Is anyone else having problems using GUIntv with Lion?

#10 goldenegg OFFLINE  

goldenegg

    Stargunner

  • 1,700 posts
  • Location:Toronto, Ontario, Canada

Posted Wed Oct 19, 2011 12:51 PM

No problems here on OS X Lion 10.7.2. Works great!

#11 zagnalopius OFFLINE  

zagnalopius

    Space Invader

  • Topic Starter
  • 20 posts

Posted Wed Oct 19, 2011 4:42 PM

Thanks for the info, Goldenegg.

No one else has reported any problems, so I'll assume GUIntv is bug-free until I hear otherwise. If anyone does have any problems though, they should let me know so I can start trying to fix whatever is wrong.

#12 cjherr OFFLINE  

cjherr

    Combat Commando

  • 2 posts

Posted Sun Oct 23, 2011 9:20 AM

Unfortunately, It doesn't seem to work on my Lion system. It won't keep the preferences from session to session, and it lets me pick a game file, but nothing happens after that. Any suggestions?

#13 zagnalopius OFFLINE  

zagnalopius

    Space Invader

  • Topic Starter
  • 20 posts

Posted Mon Oct 24, 2011 3:50 AM

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.

#14 zagnalopius OFFLINE  

zagnalopius

    Space Invader

  • Topic Starter
  • 20 posts

Posted Sun Oct 30, 2011 5:14 AM

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?

Attached Thumbnails

  • LionFullscreenError.png

Attached Files



#15 sknight OFFLINE  

sknight

    Combat Commando

  • 4 posts

Posted Sun Oct 30, 2011 11:14 PM

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...pic.php?p=29146. However there is already a fix for it: http://forums.libsdl...opic.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!

#16 sknight OFFLINE  

sknight

    Combat Commando

  • 4 posts

Posted Mon Oct 31, 2011 9:42 AM

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, Mon Oct 31, 2011 10:03 AM.


#17 zagnalopius OFFLINE  

zagnalopius

    Space Invader

  • Topic Starter
  • 20 posts

Posted Wed Nov 2, 2011 9:10 AM

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, Wed Nov 2, 2011 9:12 AM.


#18 zagnalopius OFFLINE  

zagnalopius

    Space Invader

  • Topic Starter
  • 20 posts

Posted Sat Nov 5, 2011 5:58 AM

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.

Attached Thumbnails

  • guintv12.png
  • LeftController.png


#19 sknight OFFLINE  

sknight

    Combat Commando

  • 4 posts

Posted Mon Nov 7, 2011 8:40 AM

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, Mon Nov 7, 2011 8:43 AM.


#20 zagnalopius OFFLINE  

zagnalopius

    Space Invader

  • Topic Starter
  • 20 posts

Posted Wed Nov 9, 2011 7:08 AM

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!

Attached Files



#21 zagnalopius OFFLINE  

zagnalopius

    Space Invader

  • Topic Starter
  • 20 posts

Posted Wed Nov 9, 2011 7:47 AM

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.

#22 sknight OFFLINE  

sknight

    Combat Commando

  • 4 posts

Posted Tue Dec 27, 2011 5:38 PM

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!

#23 John Tanner OFFLINE  

John Tanner

    Combat Commando

  • 4 posts

Posted Tue Jan 3, 2012 9:56 PM

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?

#24 DZ-Jay OFFLINE  

DZ-Jay

    Quadrunner

  • 5,357 posts
  • Ranger Elf: Saviour of Christmas!
  • Location:NC, USA

Posted Wed Jan 4, 2012 4:19 AM

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, Wed Jan 4, 2012 4:20 AM.


#25 zagnalopius OFFLINE  

zagnalopius

    Space Invader

  • Topic Starter
  • 20 posts

Posted Fri Jan 6, 2012 6:17 PM

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.

Attached Files






0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users