ARCHIVES

 

24-FEB-2007

I am ACTUALLY working on another feature release. This release will offer additional improvements and functionality in the MAME Picture and Run Configuration Lists. One of these is that you will be able to permanently rearrange and hide columns.

I am also looking at adding two additional columns: Category and Version. These columns will use a separate .ini file for retrieving this information. Since I don't want to maintain this file for each MAME release, TB_ScreenSaver will likely use the one of the .ini files supported by MAME Content Manager.

This release will also have a few GUI fixes. One is allowing you to specify your picture directories in "Randomly run MAME games only" mode. The reason for this is to support the "Show pictures" functionality in the MAME Run List. Currently, you can temporarily uncheck "Randomly run MAME games only" mode to allow you to specify your picture directories then re-enable MAME only mode.

Another GUI fix will be to rename the Clone column to be more accurately named "Clone of".

There are a few other fixes that will also be included. I will keep you posted on my development activity. I would like to thank Marty R. for suggesting a couple of these improvements.

20-JAN-2007

Version 5.15 has been released!

Another minor release. As you have probably surmised I am not really actively developing this screensaver anymore but have found a couple things that I think needed to be fixed, hence the recent releases.

This release will clear out the red bad ROM labels when you start another multiple ROM check. I also changed the look of the "Startup Options" dialog so it is a bit more intuitive.

14-JAN-2007

I think I have found a workaround to my web publishing problems. I decided to use FTP rather than FrontPage Services. Not surprising, it works without any problems at all.

Let me know if anything with this web site does not appear to be working correctly. NOTE: Through this ordeal I removed the page hit counter at the bottom of the page since it had reset to 0. It was not accurate anyway since it had been reset about a year ago.

14-JAN-2007

I am having some problems with either my Comcast server and/or FrontPage. For whatever reason, FrontPage will not properly publish my web pages. I am still trying to figure this out so don't be surprised if this web site or some of the links go down for a period of time.

I will let you know as soon as I get this problem resolved.

13-JAN-2007

Version 5.14 has been released!

I have added a minor feature to the ROM checking portion of the screensaver. Now you can pause a ROM scan in addition to aborting it. The difference between a Pause and an Abort is that a Pause you can Resume from the point where you stopped the scan where an Abort will not.

A minor fix was added as well. When the Picture and Run List configuration dialogs are initially displayed, they will be displayed in front of the main configuration dialog rather than behind it.

Due to the problems with having the screensaver automatically detect if a current version is installed and automatically removing it before installing the new version, I have now changed the installer behavior so that it will tell you to uninstall your current version before it will install the new version.

28-NOV-2006

FYI... I would strongly suggest that when upgrading this screensaver from a previous version that you uninstall the previous version first. Previously, this wasn't required but ever since I added the KeyboardMouseHook.dll things have acted screwy regarding the installer. For example, you will likely find that there are two versions of TB_ScreenSaver installed under Control Panel's Add/Remove Programs. If you uninstall the older version you will find that the online help will be unavailable requiring you to reinstall your current version. Since I consider this a minor annoyance I am not planning on spending any more time trying to remedy. So remember to uninstall before you install.

Second, I am going to take a break from this. As before, if you find a bug then let me know about it and I will try and fix it in a timely fashion. Otherwise, I have no plans on adding any new features.

18-NOV-2006

Version 5.13 has been released!

I've been on a bug fix roll. I don't know if that is a good or bad thing. It certainly is bad that they existed to begin with but I suppose it's a good that they have been fixed.

I also added a very minor feature that will highlight a selected picture in the configuration's Picture Selection options. Basically, I decided to play around with the graphic paint brushes. New documentation is included that has new screenshots.

14-NOV-2006

Version 5.12 has been released!

Found a pretty significant bug when you open the Run List dialog while editing the Picture List dialog or vice-versa. Basically, all of the changes you had made to your Picture/Run lists would not be saved even though the screensaver acts as if it saved them. The same thing will happen after you have previously previewed your pictures/games by pressing the Preview button.

The problem occurs because a new game list is created when either the Preview button is pressed, or when the Picture List or Run List dialogs are first displayed which means that if a Picture List or Run List dialog was already open, the game list that they are working from becomes a copy rather than the original. The end result, it cannot be saved no matter how many times you press the 'Save' or 'Save As' buttons.

Another bug I recently discovered would sometimes prevent you from being able to run a game from either the Run List or Picture List dialogs due to a termination flag variable not being reset.

Both of these errors are recent due to the slight overhaul I did on the MAME progress dialog.

I also fixed an issue in the installer not deploying the KeyboardMouseHook.dll in the Windows\System32 folder. As a result, you would have to run the installer twice to get this file deployed.

12-NOV-2006

Version 5.11 has been released!

No new features, just bug fixes. I basically spent some time retesting some of the basic functionality and discovered some bugs that needed fixed. Some are minor GUI things while other bugs prevented certain configurations from working properly. You can read about them here.

As usual, if you come across something that doesn't appear to be working right then let me know.

03-NOV-2006

I decided to make available a utility that I wrote a while ago called Process Monitor (ProMon). I wrote it to help me identify sneaky processes that tend to run intermittently sapping the CPU from more important things such as running MAME games  :-)

If you think you would find it useful then check it out over on my new Process Monitor Utility page.

30-OCT-2006

Version 5.1 has been released!

Check out the new features and fixed bugs over at Version History

27-OCT-2006

OK, I screwed up... I don't know where I got the idea of using the F1 - F4 key to start a MAME game since these keys aren't mapped to anything useful. The keys I meant to use are the 5, 6, 7 and 8 keys which are the coin insert keys used by MAME. So disregard my previous posts on that topic. Also disregard the post about the Escape key not being used to terminate a game since I decided to keep that feature when running a game indefinitely. To avoid any confusion I have deleted the three previous posts.

To summarize, the new features will be...

  1. If the "Allow 5, 6, 7, or 8 key to start a game" option is selected then the 5, 6, 7 or 8 key can be used to start a game. Once started in this manner the game will run indefinitely. If the screensaver had already
    started the game when you press one of these keys then the game will register the coin insertion and will run indefinitely.
  1. If a game is running indefinitely then the only way to terminate it is to press the Escape key.
  1. If a game is not running indefinitely then...
    1. it can be terminated by moving the mouse if the "Only terminate screensaver when the following key is pressed" option is NOT selected.
    2. if the "Only terminate screensaver when the following key is pressed" option is selected then the game can only be terminated by pressing the key you have specified.

I want to thank Hayden B. for this wonderful suggestion!

I will try and get this new version (V5.1) out in the next couple of days.

13-SEP-2006

I decided that the help documentation needed a minor overhaul in order to remove parts that seemed repetitious. Now, the MAME sections are mixed in with the the non-MAME sections. This also helped reduce the size of the document somewhat. In order to easily identify the parts of the document that discuss MAME exclusive options I highlighted those sections using a blue font.

The next version of the screensaver will incorporate this new document, but for now you can see it on this web site at the Documentation link above.

04-SEP-2006

Version 5.02 has been released!

A minor bug fix... if you had pressed the Preview button after having changed the MAME "Game interval" then you would have found that the old interval would still be used. This version fixes this.

19-AUG-2006

I found some more storage space for my sound files. As such, more sound files have been added on my Sounds page.

15-AUG-2006

Version 5.01 has been released!

Found a couple configuration bugs that you may come across when you don't have the "Start game after displaying picture" checkbox checked. You can read about them here.

While I am waiting on parts for my Donkey Kong machine I decided to add some arcade sound files for your downloading pleasure. If you want to use them with the screensaver these files can remain zipped or you can extract all the wave files and put them in one big zip file.

 

10-AUG-2006

Version 5.0 has been released!

This release adds some new features to the Run List and Picture List to make managing your game ROMs a bit easier. After I spent so much time working on V4.8 I fell a couple MAME releases behind. When I finally got around to upgrading, I found it a bit cumbersome as far as the ROMs were concerned. I am a user of ClrMamePro and it is a wonderful program for determining which game ROMs work for a particular MAME release and for fixing (if possible) broken ROM sets. It will also check if your sound sample sets are complete. I have used this program for many years and have been quite pleased with it. The one thing I do not like about it is that you cannot tell it to only check a few ROMs. In other words, the utility assumes you have a complete set and therefore will check every game supported by MAME even though you may only have a few ROMs. As a result, you have to sort through a large list of errors to identify those that apply to the games you have. I also have found on occasion that it will falsely identify a game as working when MAME says it does not. Actually, my screensaver suffered from the opposite problem for games supported by MAME that had no known complete ROM sets. TB_ScreenSaver would identify the game as not working even though, in most cases, the game's attract mode worked just fine. As a result, this release also fixes a few bugs I found in these dialog controls.

So what are these new features? In V5.0 you can now have TB_Screensaver check the ROMs for only those games that you have checked in your Picture List or Run List and it uses MAME's -verifyroms function to do this which helps insure that the report is accurate. Those games found that have bad or missing ROMs will be highlighted in red.

To avoid having to search the entire list of 6000+ games for these bad games I have also added a new grouping feature that will allow you to group these bad games at the top of the list in the same way that checked games can be grouped.

You can still test just a specific game. This is useful after you have installed what you think are valid ROMs and now want to know if a particular game will now work without having to retest your entire ROM set again. Testing an individual game will also pop-up a dialog telling you specifically what MAME finds wrong with that game.

Another feature added to these two lists is the ability to include/exclude games requiring CHD (Compressed Hard Disk) files. I don't own these games and have always wanted a way to easily exclude them from having their game pictures displayed, or having the screensaver attempt to run them. Now you can.

Lastly, I found that at times I wanted to know which games had clones of itself. For example, when I needed to update a ROM set, it would make it easier on me if I knew that all I had to do was copy the new set to my \roms folder. Not knowing that I would have to take more tedious approach and merge my new ROMs with my existing set to avoid breaking the game clones. Call me lazy but knowing this information made my job easier. So while TB_ScreenSaver identified which games were clones, it did not identify parent games that had clones. This release will now identify these types of games by putting "{CLONED}" in the Cloned column.

After having added this latest round of features to the "screensaver" I have come to the realization that this program is hardly a screensaver anymore. Yes, it still does that but it now does so much more and by calling it a screensaver sort of does it a disservice. This program is becoming more of a MAME game management tool. For example, with a little more work I could have this program provide a visual report of not only what games have valid ROMs, but which ones have valid pictures files (cabinets, marquees, snaps and flyers) as well as icon and sound files. Even now this program could arguably be billed as a MAME utility that has a screensaver built into it.

But all of this will have to wait until later. I am going to take a break from this and get back to work getting my newly acquired Donkey Kong game working. However, if you come across a bug that is preventing you from using the screensaver then let me know and I will put down the soldering iron and take a look at it. And if you feel so inclined, let me know what you think of this most unusual "MAME screensaver".

30-JUL-2006

Version 4.91 has been released!

This release makes the screensaver's Picture List and Run List work with the latest version of MAME (V0.107). If you have already attempted to use the screensaver with 0.107 then you will need to delete your Mame.dat file found in the directory where the screensaver was installed. Typically this is at "C:\Program Files\TacoBirds\TB_Screensaver". Then the next time the screensaver is run it will recreate this file with the proper parameters for the Screen column.

The downside of this is that the Changed column will be blank. The reason for this is that this column represents changes between two MAMEXml.xml files and since this file hasn't changed, the screensaver doesn't know of any changes between any two MAME releases. The only way to remedy this is to temporarily install your older MAME version then run the screensaver so that it generates a MameXml.xml file for that version. After it has done so install MAME V0.107 and run the screensaver again. After it has completed generating a new MameXml.xml file and Mame.dat file for that version, the Changed column in the Picture and Run Lists will correctly show the changes between the two MAME releases.

30-JUL-2006

I finally got around to upgrading my system to the latest version of MAME (V0.107) and not surprisingly, some things are now broke in the screensaver. For those that have been following this MAME release there was a major overhaul to the video system. In addition, the content of the Mame XML file was changed as well as the arguments used to start MAME.

It appears that games still start and run ok but the content of the Picture List and Run List is a bit screwed up. The column that shows the screen type has either been eliminated or changed. As such, the Screen column now shows the Driver status and the Driver status now shows the Emulation status and so on which means that the Sound column shows the Changed status of all games and that the Changed column doesn't show anything. Therefore, if you attempt to sort the Changed column you will get an exception.

I will fix this ASAP. I just need to dissect the XML file to see if the Screen information is still available and if it is gone, then eliminate the column from these lists. As you recall, the Screen column used to identify whether a game was either a raster or vector game.

Anyway, sorry for the inconvenience but I don't have any control over what the MAME development team decides to do in each release. The only thing I can do is try to stay caught up on the changes.

28-JUL-2006

Version 4.9 has been released!

This release is nowhere near as big as the previous release but I did add a new feature hence the reason for this being V4.9 as opposed to V4.82. For this release you can now darken the background image in addition to brightening it. The darker background helps your icons stand out more.

Also fixed an annoying albeit minor bug. If you were previewing your screensaver from the configuration dialog then interrupted the screensaver right before it was going to run a MAME game, then restarted the screensaver from the configuration dialog you would find that the screensaver would immediately start a MAME game in the background while showing a blank screen. As a result, the screensaver would be unresponsive. This was not a problem when the screensaver was running normally.

23-JUL-2006

Version 4.81 has been released!

Not sure how I missed this but if your icon zip file contains an invalid icon file then the screensaver would throw an exception while running. This version fixes this.

22-JUL-2006

Version 4.8 has been released!

The wait is finally over... Icon support has been added to the screensaver! This was by far the hardest feature added to the screensaver to date. It was something I envisioned since I started on this project over 2 years ago. It was put off until other more needed features were added. And then it took me awhile just to figure out what I wanted from it. When I finally got started on it I had numerous interruptions which delayed its release even further. But now it is DONE!

Refer to the documentation for a description of what the icon feature is as well as what options are available.

Due to the scope of the changes to the screensaver, I am going keep available V4.71 until this version has been out there a while in case users have problems with it and would like to go back to a their previous working version (assuming V4.71 is the version you were using). But PLEASE, if you have a problem with the current release then let me know. I will try my best to fix your problem in a timely manner.

Oh, and if you are looking for icons to use with the screensaver I would suggest those over at MAME World.

16-JUL-2006

I was hoping to have a release by now but this isn't the case. I ran into a bug while testing which took several days to resolve. So I am basically a week behind where I wanted to be. So I am now hoping for a release later this week.

On a different note I was fortunate enough to acquire two free standup arcade video games over the weekend. One is Donkey Kong and the other is Fire Trap. The Fire Trap game is in pretty good condition (the monitor is in excellent shape). The Donkey Kong cabinet is in fair shape and won't power up at all. That's ok, I enjoy restoring older arcade games, especially one that includes an electronic challenge :-)

And so, as painful as it is, I am trying to prevent myself from working on Donkey Kong until I get this release out of the way.

07-JUL-2006

Another status update...

I have completed changing the screensaver to run under multiple threads and performance has improved, at least to my satisfaction. Since I have had to change some of the core architecture, I need to retest many of the screensaver options. In particular, the MAME functionality. If all goes well and I can find enough time, I hope to release this sometime next week.

26-JUN-2006

I am still working on the icon feature. It is taking longer than I expected partially because I do not have a lot of time to work on it between my family, vacation and my bad back.

The functionality has been implemented in TB_ScreenSaver and it is working but I am not satisfied with certain aspects of the performance. One thing that I find annoying is that the icons briefly stop moving every time a new picture is displayed. I may have to abandon the timers that the screensaver currently uses and use threads instead. That creates other issues in an application that currently runs under a single thread for all the GUI functionality.

So if you have been holding your breath waiting for this release then take a breath... I still have a bit of work to do. I have updated the screenshot of the icon configuration tab (see below) in case you want to see what that is currently looking like.

6-JUN-2006

The next release (V4.8) will FINALLY support icons! What that means is that you can have icons bouncing around your screen and off of your pictures that are either random or synchronized with the current displayed pictures. I have completed working out the design details in a test program and am now in the process of porting the code over to TB_ScreenSaver.

The icons that will work best with the screensaver are those that you can find over at MAME World. The reason I recommend these are due to their transparent background which makes the icons appear to float above your background.

13-MAY-2006

Version 4.71 has been released!

I fixed a small bug that was subtle enough that it may have not been noticed by anyone. It turns out that if you had specified the screensaver to display random pictures without overlap then you may seen the screensaver start swapping out existing pictures even though the screen had ample real-estate available to place new pictures. You probably would not experienced this if you had set the "Maximum number of pictures" to be less than 5 or had set the minimum/maximum picture size to be 40% or higher. You would, however, see it if you had set the maximum number of pictures to be 100 and had set the minimum/maximum picture size to be 10%.

This release fixes this bug.

9-MAY-2006

Version 4.7 has been released!

This version adds a relatively small feature that will hold a picture for a specified amount of time after a game has run. The feature is available under the MAME tab in the configuration. The purpose of this is to make it easy to identify a game after it has run.

Of course, if you have set up the screensaver to just run MAME games then this feature will be unavailable.

26-APR-2006

Version 4.65 has been released!

In my (never-ending?) quest in perfection, I made another minor improvement on the screensaver's ability to bring MAME back to the foreground. This version should eliminate the retries that would sometimes occur. You may not have noticed it unless you dissected your TB_ScreenSaverLog.txt file.

On a completely different note because I am the geek that I am, I replaced my LaCrosse weather station with a Davis Vantage Pro 2. As such, my weather page (accessible from the Links page) is back up with a new and improved look.

17-APR-2006

Version 4.64 has been released!

Marty R. informed me of an occasional problem he had experienced where a MAME game would start but sometimes prematurely stop. I saw it on my PC and it would always occur at 15 minute intervals which convinced me that an external process was the culprit. The way the screensaver handled this was to just grab back control and continue on to the next game (if running in MAME game only mode) or it would go back to cycling pictures.

I have now taken this solution a step further. The screensaver will now attempt to find the MAME process and restore it as the foreground process.

9-APR-2006

Version 4.63 has been released!

I observed a problem where the screensaver would hang while attempting to run the game "Attack UFO" (you could still Escape to terminate however). There may be others, but that was the only game I saw that did this. It also likely depends on the version of MAME you are running. Mine was 0.104u9.

The problem was caused by MAME prematurely ending but the screensaver should have been able to detect and handle it and move onto the next game. This version does just that.

31-MAR-2006

Version 4.62 has been released!

Another fixer-upper. I noticed that Window's mouse cursor is being shown when running in "Randomly run MAME games only" mode. This version hides it.

29-MAR-2006

Version 4.61 has been released!

Fixed problems running the screensaver under MAME (vs. MAME32). Thanks to Justin B. and Billy B. for not only bringing this to my attention but for also helping me test this version.

27-MAR-2006

A couple gentlemen yesterday made me aware of a problem with the screensaver where multiple instances of MAME will be started by the screensaver. The issue appears to only be related to users running MAME and not MAME32. If you have experienced this problem, try running the screensaver under MAME32 until I get the problem resolved.

Thanks for your patience.

18-MAR-2006

Updated the FAQ page to describe how to run TB_ScreenSaver as a standalone program (i.e. not as a screensaver). This is also described in the documentation although the information there is slightly erroneous. When you run it in this mode you will be presented with a "Startup Options" dialog where you can either configure or run the "screensaver". There is also an option to preview which serves no useful purpose and doesn't work as the tooltip describes. I had placed it there for diagnostic testing. I will remove it in the next release.

15-MAR-2006

Version 4.6 has been released!

I made another change to the Configuration dialog. Specifically, the Picture and Run List dialogs. Now, when you click the Show Pictures checkbox you will be able to see the pictures in the first four directories specified in your Picture Directory list (plus the name of their subfolders). Before, you would just see the pictures that were in your MAME's \Snap folder. In addition, if you hover the mouse over a picture, an enlarged version of that picture will be shown over the game list.

02-MAR-2006

I found a few errors in the documentation in the MAME chapter. For now I have only fixed the online version which you can read here.

01-MAR-2006

Version 4.5 has been released!

Added one new feature that randomly chooses a new game interval after each game has run. I also fixed a few minor bugs.

24-FEB-2006

Version 4.4 has been released!

Version 4.4 has been released. Featurewise it is identical to the short-lived V4.33 release. The difference is that I attempt to handle scenarios when MAME loses focus (as discussed below). Also, if anyone experiences any adverse behavior from Windows task bar being hidden while the screensaver is running I have now made this an option under the MAME Configuration tab.

23-FEB-2006

Well... this bug has certainly been a bitch to fix. I am still not sure what is causing it but it doesn't appear to be anything the screensaver is doing. For whatever reason, MAME seems to go away without shutting down. The screensaver still believes it is running and therefore the system is left in limbo with neither the screensaver or MAME having focus. The screensaver will eventually come back after your "Game interval" time has expired, however, if you try and terminate the screensaver while neither MAME or TB_ScreenSaver has focus you will have no luck. To make matters worse, since I now hide the taskbar, you can't do much about restoring Windows. While, you can still bring up the task manager, and kill the screensaver, the taskbar is not restored since the screensaver wasn't given a chance to restore it.

So what I decided to do to fix this is not have TB_ScreenSaver go to sleep while a MAME game is running. It will instead monitor MAME. If TB_Screensaver ever determines that MAME is no longer the foreground process it will check to see if it is still running. If it isn't then the assumption is made that the user has shut it down and therefore, it too also shuts down which will restore Windows. On the other hand, if TB_ScreenSaver finds that MAME is still running it will kill MAME and resume displaying pictures, or it will start another game (which action it takes is based on whether you are running the screensaver in "Randomly run MAME games only" mode or not).

So while this does not fix the issue that causes MAME to lose focus, which I still cannot figure out how this is happening and who is doing it, this solution does appear to handle it. As I mentioned in my previous update, this may only be a problem on my system but since the consequences from it were dire, I needed to find a way to fix it.

So now I am testing my fix. If all goes well, V4.33 will be re-released by this weekend.

12-FEB-2006

Found a bug in the last release that the recent feature (the hiding of the taskbar) exacerbates.  The screensaver appears to crash and with the taskbar being hidden, it leaves your system in a crippled state. There is a way to restore the taskbar without restarting Windows by right-clicking on the desktop and calling up Windows screensaver tab, pressing Windows preview button, then after the screensaver starts press escape (or whatever key you have chosen to terminate the screensaver with). Your taskbar should now be restored. This may not be a problem for those of you running the screensaver in "Randomly run MAME games only mode".

This problem might just be on my system but I doubt it. As such I have removed V4.33 and gone back to V4.32 until I figure out what is going on. If you have already installed V4.33 remove it using Add/Remove programs then reinstall V4.32. Sorry for any problems this may have caused.

11-FEB-2006

Version 4.33 has been released!

Yet another minor release. No bug fixes just a minor feature that hides that Windows taskbar while the screensaver is running so you don't see it for brief intervals when a game starts or after it has terminated.

05-FEB-2006

Version 4.32 has been released!

This releases fixes an obscure bug brought to my attention by MegaByte when you are running in "Randomly run MAME games only mode." If you have not specified a Picture List file (*.plf) then you will get an exception that states that "Access to the path C:\ is denied". Not only is this error not informative but you should not be getting it in the first place since you don't need to specify a Picture List file when running the screensaver in that mode. This release addresses both issues.

I have also added warnings messages if you have not specified any pictures to display or run when you close the configuration dialog. Before you wouldn't be informed of these problems until the screensaver ran.

31-JAN-2006

I got bored so I decided to add some animated GIFs to this site to spruce it up a little. Of course the Pong animation at the top of the page is not supported by MAME but it still reflects an era of classic video games that got the ball rolling so to speak.

23-JAN-2006

Version 4.31 has been released!

This is fairly minor release that fixes a few relatively obscure things that I have come across or wanted to improve such as allowing the Enter key to be used to start a game from the Picture/Run List dialogs. The Revisions page describes all the changes.

15-JAN-2006

Version 4.3 has been released!

This is another "pot-luck" release that contains a variety of bug-fixes and a few small features. As always, for a complete list of these changes go to the Revisions page.

14-JAN-2006

I will be putting out another release in the coming days. This one will also have several bug fixes in it plus a feature or two.

In case you have come across this, the Save button in the Picture List dialog does not save the contents of the Picture List to its file but instead saves the contents of the Run List to its file. This will be fixed.

I will also fix the confusion with the usage of the Run List when running in "Choose game from Run List" mode. Before the screensaver would 'OR' the Picture List and Run List together. For example, if you only had one game specified in your Picture List but had all the games selected in your Run List except the one lone game from your Picture List, then you would find that the screensaver would display ALL of your pictures. The reason for this was to prevent an error dialog from popping up complaining that the screensaver could not find any pictures from your Run List to run. Since the basic problem here was the confusing error message I have reworded the error message to say...

"Could not find any pictures in your Picture List that are specified to run in your Run List. Make sure you have at least one game specified in your Run List that is also specified in your Picture List."

So now the usage of the Picture List and Run List should behave more like you would expect them to behave (i.e. the Picture List is used exclusively for displaying your selected pictures).

Other improvements that are forthcoming...

Will fix the s-l-o-w response when multiple items are selected in the Picture and Run List dialogs.

Will no longer check for the \Snap folder when the "Show picture" checkbox is not checked in the Picture and Run list dialogs.

Will fix the description filter so that it once again blanks out rows that no longer meet the filter criteria in the Picture and Run List dialogs. Currently, it just blanks out the ROM name.

Will eliminate the invisible cursor when needing to acknowledge error dialogs.

Will prevent the Configuration dialog from being maximized (it offered no benefit anyway).

Will add the ability to save different types of Picture List files ("Save As..."). This neat feature will allow you to put together different groups of pictures. Afterwards, you can specify which picture group the screensaver should run. In addition, each group will have its own title caption.

Will allow the game run-time duration to be set to 0. This will be useful for testing your "Game start" sounds without actually starting any games.

Will add the version number to Window's preview window.

All of these improvements will be released as part of V4.3.

6-JAN-2006

Version 4.2 has been released!

As far as releases go this is a big one for me since a lot of little features have been added as well as a host of little bugs fixed. For a list of these go to the Revisions page.

One feature that was added that requires some instruction are the new enhanced visual cues for games that have changed between MAME releases.

Due to the type of code changes needed to support this feature, you will need to refer to the following steps in order for it to work properly. For future MAME or TB_ScreenSaver releases you will not need to do this again unless I change that section of code again :(

Before you proceed you will need to obtain a MAME executable that is an earlier version then the version you are currently running. Either that or you will have to wait until the next version of MAME becomes available.

  1. Display TB_ScreenSaver's Configuration dialog and navigate to the MAME tab.
  2. Press the "..." button to specify the MAME executable that is an earlier version. After you select this file TB_ScreenSaver will take some time to generate a few files.
  3. When it completes, repeat the previous step with your current (newer) version of MAME. After TB_ScreenSaver completes generating its files you are done. Now, if you call up either the Run List or Picture List dialogs you will be able to see what specifically changed between the MAME version you previously loaded and the current version.

If you have any questions or problems then email me.

4-JAN-2006

Working on a release (V4.2) of odds and ends that will consist of a few bug fixes as well as a few minor features. I should be able to publish it some time this week or by this weekend.

I hope everyone was able to enjoy the holiday and take some time off to enjoy family and friends.

19-DEC-2005

Version 4.11 has been released!

Yeah... I know... I said I would not have another release before the holidays but this release fixes something that always annoyed me, plus it was easy to do. This release removes the modal properties of the Picture and Run List dialogs so that you don't have to close them to navigate to other areas in the Configuration dialog. I think you will find this capability particularly useful when playing around with the MAME advanced or sound settings while testing games.

I also added a Save button to the Picture List dialog so you can save any changes you have made without closing the dialog.

16-DEC-2005

I have decided to make available some sound files, many of which I created using MAME32. I don't know how long I will make them available so grab them now while you can (I do have a bandwidth limit). You can find them in the Downloads section.

Merry Christmas!

13-DEC-2005

Version 4.1 has been released!

A quickie release that adds an option to hold a picture until the current sound has completed playing.

11-DEC-2005

I was going to take a break from this until some time after the holidays but I thought of something useful to add to the recent sound feature that would be relatively easy to implement. I am going add an option that will allow the screensaver hold a picture until a sound has completed playing. Right now any sound that is still playing when a picture is changed is terminated.

In addition, if you are running in Sequential or Random-Sequential mode and have several pictures in various directories with the same name then the screensaver will continue displaying those pictures while the sound is playing until it gets to the last one in the group at which time it will hold until the sound has completed (if it is still playing).

The coding for this has been completed and I am in the process of testing. I will probably have another release in the next few days (V4.1) at which point I WILL be taking a break from this.

Incidentally, those of you using MAME32 to create your own sound files I wanted to make you aware that you can use Window's built-in sound utility "Sound Recorder" for editing your sound files. With this program you can easily strip off dead air at the beginning or end of your sound files as well as change the volume. You can also append additional sounds if you want. Just thought I would let you know that you don't have to spend any money to create the sound files you want.

The one thing I haven't been able to do with the Sound Recorder is record my own sounds (I still have to use MAME32). Perhaps if I try looping the Audio Out jack to the Audio Input jack on my sound card using a small cable then that might work. I might have to give that a try.

10-DEC-2005

Version 4.0 has been released!

This release adds sound support. In a nutshell you can have sounds played when pictures are displayed and/or when MAME starts a game. The sounds that are played can be matched with the currently displayed picture/game, or randomly chosen. Sounds can be played always, frequently or very intermittently. I have also allowed sound files (*.wav) to be placed in zip files in order to conserve space.

Additional information on this feature can be found in the documentation.

As I mentioned in my previous update, if you don't have any sound files you can use MAME32 to create some.

07-DEC-2005

I have completed all development on the new sound option as well as most of my testing. I have also completed the updates to the documentation. I still want to do some more testing before I do a release which should be some time this weekend.

I was digging around the documentation for MAME32 and discovered that it has a sound capture feature. It is called "Play and Record Wave Output..." and it is found under the File menu. It is basically what I was looking for. The only complaint I have (albeit minor) is that I wish it would not start recording until it detects its first sound. As such, you may have a fair amount of silence while a game is starting. On the other hand, it is free and easy to use.

05-DEC-2005

I have been working on adding sound to this screensaver which has been long overdue. Most of the code has been written so I have started testing but still have a few logistical issues to work out.

Basically, you will be able to specify a sound to be played while the screensaver is displaying pictures and/or before it runs a game. The sound that is played can either be a sound that matches the currently displayed picture or completely random. The interval that the sound is played can be every 50 pictures to always. I will probably be changing the low end of the scale to be something like one in a hundred or perhaps more.

Currently, I have limited the sound files to be .WAV types, only because the particular routine I am calling in Windows only supports that type. This should not be much of a restriction since that is the type that MAME supports. If you have sound files in other formats then you should find yourself a sound converter utility. Like picture files, your sound files can be placed inside ZIP files to conserve space.

One minor issue for some of you (including myself) is finding a good source for arcade sounds. A while back I found 20 or so and have been using those to test with but I would like to find more. As far as I know, MAME does not offer a way to capture sounds from games that it runs. However, a good sound capture program should do the trick.

If any of you know of a good program for capturing sounds from MAME, or know of a good Internet source for arcade sounds then let me know and I will share your information with others. Thanks.

28-NOV-2005

Version 3.91 has been released!

This release expands on the new game feature added to the Picture and Run List dialogs by also showing games that have had their emulation status or year of manufacture changed.

Also fixed a couple bugs which you can read about here.

26-NOV-2005

I should have another release in the next day or two (V3.9.1). That version will fix the previously mentioned bug.

One minor new feature will also be added that expands on the "New" column in the Picture and Run List dialogs that was added in V3.9. This column will be renamed "Changed" and it will now show what has changed between MAME releases. The values for this field will either be New, Emulation, or Year. The latter two represent changes that were made by MAME to the emulation status for that game (color, graphics, sound or driver) or the year (many new games that are added nowadays have an unknown year which is then fixed with a later MAME release). To expand this feature even further these statuses will be color coded - new games will be shown in green and changed games will be shown in orange.

I should stress that to use this new feature (either the V3.9 or the upcoming V3.91) you must have already installed and run the screensaver BEFORE you have upgraded your version of MAME. That is the only way that the screensaver will "learn" of the changes between the releases.

However, if you already have the latest version of MAME installed when you install either version 3.9 or the upcoming V3.9.1 then you must do the following to see this new feature...

1. Install an older version of MAME

2. Call-up the dialog to configure the screensaver

3. Call-up the Picture or Run List to have the screensaver generate a new MAME.DAT file.

4. Close the screensaver

5. Upgrade to a newer (latest) version of MAME

6. Repeat steps 2 & 3

The screensaver will now correctly display the changes that have taken place between your previous version of MAME and the current version you just installed. Of course, if you later upgrade to the next version of MAME after having used the screensaver you won't have to do any of this.

In case it is not apparent, the reason I chose to add the Changed column is so that I could instantly see what changes the MAME team has made between releases. Why is this important? Well, for me I originally spent 15 minutes or so specifying what games I wanted the screensaver to run by applying various filter and sorting options in the Run List to select games that were properly emulated, were manufactured in the 80s, and were not Japanese games, hacks or clones. So when the MAME team releases a new version of MAME I don't want to go through all of that again. Instead I would just like to see what games have changed or have been added to see whether I want to include or exclude them.

I will probably add this to the FAQ since I suspect that this will be a common question for new users.

23-NOV-2005

Version 3.9 has been released!

One new feature and a few improvements which you can read about here or in my previous post (below).

KNOWN BUGS: I just discovered that on new installations the screensaver will generate the MameXml.xml and Mame.dat files twice. This is not a problem for those of you who are simply upgrading. I will fix this in the next release.

20-NOV-2005

I have decided to sideline the icon idea for now. Since my tests have revealed that performance would be less than optimal, I don't think it is worth pursuing until a) I find a way to improve performance; or b) I figure something else to do with them that does not impact performance. One thing I have considered doing is putting the icons on their own screen with a solid background color as opposed to an image. Performance is then much better.

While working on the icon feature a couple non-icon ideas have occurred to me. One of these I have already completed and that is to store only the relevant data needed by the MAME Show Game list and Run Game list in a serialized file called MAME.DAT. Reading this file only takes a second as opposed to reading the XML file which takes several seconds. The only downside to this new MAME.DAT file is that it will take longer for the screensaver to initialize when a new version of MAME has been installed. The reason for this is that it takes the screensaver a while to create the MAME.DAT file. However, since this doesn't happen very often I think the benefit of faster load time when you want to configure the screensaver will far outweigh this seldom shortcoming.

Another feature that should make it into the next release is the ability for the screensaver to display and sort new games. New games are games that have been added by the current installed version of MAME. In other words, every time a new version of MAME has been detected by TB_ScreenSaver it will check and see which games have been added. For me this feature will be nice for two reasons. First, it will allow me to easily see and test the new games. Second, it will allow me to easily select which of the new games I want to either display and/or run. Right now doing the latter is pretty difficult to do.

The third feature that will make it into the next release is that the screensaver will no longer mute the soundcard while a MAME game is running if you have the MAME volume slider set to OFF under the MAME Configuration tab. This is something I have always wanted to do (and tried to do). One solution tried in the past was to use the -nosound option in MAME. Unfortunately that prevented certain games from starting since that option would disable needed hardware for those games. Another tried solution was to only mute the soundcard when a MAME game was running. But that caused, at times, the sound to be turned on before a game had completely terminated causing unwanted audio to occur for a second or two.

The solution to this is to go back to the -nosound option.  According to the latest MAME release notes the disabling of the game sound hardware is no longer a problem with those games where it was a problem before. I haven't confirmed this for myself but if this is indeed true then you will now be able to play background music (or whatever) while the screensaver is running when you have the MAME volume slider set to OFF.

Speaking of sound I am considering adding a Sound tab to the Configuration dialog so that you can play various sounds while the screensaver is running. One option would allow sounds to be randomly played. Another would synchronize a sound or a group of sounds with the currently displayed picture. This feature won't make it into the next release but I figured I might as well share with you other ideas I am looking at implementing.

02-NOV-2005

Version 3.83 has been released!

Another minor bug fix that I talked about in my previous post.

31-OCT-2005

I've been playing around with a test program I wrote to see how I can move game icons around the screen. I thought that this feature would be a relatively easy thing to do but it turns out that if you have more than a couple icons moving about, the program starts eating up CPU cycles. I don't know if this would be an issue for those of you with high-performance graphic cards but a test on two systems with moderate to high-end processors was unacceptable. A lot of the performance problems are from icons with transparent backgrounds. If I use solid icons then things improve.

My original vision for this was to have a screen-full of icons moving about. Perhaps a dozen or so. This now looks unlikely unless I can find some way to improve performance.

I found a bug in the MAME Startup options that could corrupt the file where all of your configurations are stored. If that happens TB_ScreenSaver will prompt you to recreate this file which will cause you to lose some of your custom settings. This bug only appears if you paste text containing a carriage return into that dialog. To fix this I will strip off all new-line characters. I will also replace the rich-textbox with a standard textbox so that pasted text looks the same as the rest of the text in the control.

As a result of the recently discovered bug I will be releasing another minor update soon.

18-OCT-2005

Version 3.82 has been released!

This is basically a bug fix which you can read about here. I also improved the installer to show the version of TB_ScreenSaver you are installing. Another installer improvement is that it will now remove any previous version automatically so you don't have to remember to do it.

As before, let me know if you experience any problems or have any questions.

17-OCT-2005

Phillip informed me of a bug when trying to initially run the screensaver to just run games. If you don't specify any folders containing picture files then you will get an error stating just that. Obviously, you should not need to specify any picture folders if you are just going to run games so this will be fixed in the next release.

 To workaround this bug, temporarily turn off the "Randomly run MAME games only" option then specify a directory that contains at least one picture file. You can then then re-check the aforementioned option and that should work. The screensaver will not actually use any pictures from that directory.

I will release V3.82 soon to fix this problem.

4-OCT-2005

Before I started on this project over a year ago I was looking for a program that would show off the classic arcade games of the 70s and 80s. I could not find any that really fit the bill. That is when I decided that I needed to write my own. Since I did not want to write my own emulator or spend countless hours generating picture files I decided that a screensaver that uses a MAME backend would be the perfect solution since that emulator already supports a vast library of games and pictures. The best part is that this emulator is continually evolving adding more games almost every day or improving the ones that it already supports.

If you scroll through my archives and revisions you can see the evolution of this screensaver. Most of the features that have made it into the screensaver simply started as ideas I had early on, but took many months to come to fruition. Today, this screensaver is pretty much where I wanted it to be. Along the way I have learned a lot and enjoyed what I learned which was its secondary goal.

That isn't to say that I am done with this... I am not. I still have a list (albeit smaller) of things that I want this screensaver to do. For instance, there is one feature that has been in the back of my mind for quite some time. I have now decided to bring it to the forefront. The next major release of TB_ScreenSaver will support MAME icons. While that may not sound very interesting on the surface, it is what I plan on doing with them that should make the screensaver more visually appealing when it is not running MAME games.

TB_ScreenSaver will have MAME icons moving about the screen. This feature will be evolving as I experiment with different ideas and add new options. So while the next release will likely support simple random icons floating around the screen, future enhancements may allow them to be synchronized with currently displayed pictures or move in different ways. As always, I will be soliciting ideas from those of you who are creative thinkers.

I should state up front that there is one thing I do not want to get involved with and that is designing icons. As I mentioned above, all the features of TB_ScreenSaver make use of existing resources whether that be MAME, game roms, game snapshots, marquees or flyers. I don't maintain any of those things but rely on other individuals and their web sites to provide the assets for TB_ScreenSaver. The same will hold true for the icons.

To get me started I have found a marvelous site that has the kind of MAME icons that should work best with TB_ScreenSaver. It is over at http://www.mameworld.net/icons/

Many of these icons have a transparent background which should work well floating over existing pictures or backdrops.

So that will be the next step in this evolving program. I will keep you posted.

2-OCT-2005

Version 3.81 has been released!

So sorry for the barrage of updates.

If you had set up the screensaver to just run games but were wondering why they weren't running it is because I inadvertently broke it recently due to a very minor change. This release fixes it.

Also fixed a few inaccuracies in the documentation.

2-OCT-2005

Version 3.8 has been released!

After I add a major new feature I spend some time tweaking it which is what this release is all about. Basically all I have done is add a Save button in the Run List so that you can conveniently save any changes you have made without risking losing those changes when you attempt to run a questionable MAME game that could hang your computer. This happened to me once, hence the reason I added the button.

I also now show the name of the selected game in the Picture and Run Lists at the top-right corner of the game list and I keep the selected game highlighted when you click on other options.

1-OCT-2005

Version 3.71 has been released!

I discovered that games with unknown years were not being listed in the MAME Picture and Run Lists (there were over 100 of them). They are now listed with the year marked as "????".

30-SEP-2005

Version 3.7 has been released!

This is a relatively minor release but it has a couple new features. Hence this is 3.7 instead of 3.62. Read what's new in this release over at the Revisions page.

25-SEP-2005

Version 3.61 has been released!

Fixed a rare (but annoying) bug that would occasionally display an exception about a thread being aborted when calling up either the Picture List or Run List.

24-SEP-2005

Version 3.6 has been released!

Better late than never. Had a fix a few obscure things as the result of my testing.

To see a summary of what is new go to the Revisions page. The Documentation has also been updated with the latest changes.

Enjoy! As usual, let me know if you have any problems, questions, suggestions, complaints or whatever.

21-SEP-2005

Sorry for the lack of updates. There was a lot of work to do on this. I have finally completed all the changes (which were quite extensive) and I am now finishing up testing. The documentation changes have also been completed so expect a release in the next day or two which will be V3.6.

Due to a couple requests in the past I have added the ability for the screensaver to run games without displaying any pictures. As you can imagine, in that mode 90% of the screensaver configuration settings are not applicable so they will not be visible. That leaves you with only a handful of options to set: game run list selection, volume, duration plus your MAME options.

To summarize what I have stated before, the picture and run selection portion has been completely overhauled. I think you will find this new selection methods much simpler while giving you much more flexibility in choosing what pictures you want to display or games you want the screensaver to run. People with very few ROMs will especially find the changes to their liking since you will now be able to have your games run at regular intervals while still displaying the vast number of images you may have accumulated in your picture folders.

11-SEP-2005

Still working on the new game selection dialog. I think I have it the way I want it. A couple more improvements.

First, there is now a "Show picture" checkbox that will allow you to preview the pictures for the selected game. The picture the screensaver will use will always be the ones found in your snap folder.

Second, you can also test a game by pressing the new "Test game..." button. With this feature you can test whether a particular game works or not.

I now need to start work on the non-GUI changes (i.e. the behind the scenes work).

I will also be using this same dialog for choosing which games you want TB_ScreenSaver to display. So after I am all done with this, I will have removed all of those text fields you currently use to specify which games you don't want the screensaver to show or run. I will also have removed under the Picture Selection tab the "Clones", "Invalid years" and "Non-working games" checkboxes.

09-SEP-2005

Continuing work on the new game selection dialog. You will soon have a variety of sorting options and filters that you can use for choosing what games you want to run. Currently this dialog is used to choose what games you want the screensaver to run, but I also plan on using it for choosing what games you want to display as well.

05-SEP-2005

I decided for the next release I am going to change the way MAME games are specified and chosen to run. Currently, TB_ScreenSaver is optimized for users that have a full or nearly full ROM sets. As such, when a game is to be run (assuming the filter criteria have been met), TB_ScreenSaver starts MAME and attempts to run the game not knowing if you have valid ROMs for that picture. As such, a lot of time can be wasted trying to run games for pictures that do not have ROMs. Knowing that many if not most users do not have this many ROMs, I have decided I need to change how TB_ScreenSaver chooses a game to run.

The first step needed was the creation of a new game selection dialog for the MAME tab. With this new dialog you can sort games based on picture/ROM name, description, manufacturer or year. Each row will have a checkbox allowing you to specify that this game can be run. Since you can sort the games in a variety of ways, you can easily specify only run games from this year, manufacturer or whatever. This is the opposite of how it currently works where you specify which games you don't want TB_ScreenSaver to run. I think this type of filtering works ok for specifying which pictures to display but for specifying which games to run, it should be the opposite, especially if you only have a few ROMs.

The next thing I need to change is how TB_ScreenSaver chooses the next game to run. Since the screensaver currently has one list it uses for choosing the pictures to display, I decided I need to create a second list that specifies which games to display then run. This change should greatly improve the efficiency of running games if you only have a few games with valid ROMs.

 

31-AUG-2005

Another change by the MAME team that affects this screensaver. Fortunately, this is relatively minor change. In order to run MAME games starting with MAME version 0.99U5 you must remove the -skip_disclaimer argument. To do this go to TB_ScreenSaver's Configuration dialog and click on the MAME tab. From there click on the "Startup Arguments..." button. This will present you the MAME Startup Options dialog. Here you can edit the arguments used to start MAME.

For the next release of TB_ScreenSaver I will likely remove -skip_disclaimer as a default argument. Either that or I will have the screensaver ignore it for MAME versions that are 0.99U5 or higher.

30-AUG-2005

Version 3.51 has been released!

I have finished adding XML support into TB_ScreenSaver. All of the legacy code that supported the -listclones, -listfull, -listgames and -gamelist report options has been removed. As such, TB_ScreenSaver will no longer create MameClones.txt, MameFull.txt, MameGames.txt and MameGameList.txt. Instead TB_ScreenSaver makes use of the -listxml option in MAME to create a new ListXml.xml file in your MAME directory. This file has all the information that the previous 4 files had in them.

I will admit, going the XML route has simplified my MAME parsing routine. I just wish MAME could create the XML file in less time than it currently does.

In addition to adding XML support, I have added a new advanced option called "Kill processes". It is what its name implies... it kills processes. This option was added to allow TB_ScreenSaver to shutdown processes that you don't want running such as spyware scanners that can affect the smooth emulation of running games.

Knowing how harmful this can be if used without discretion, I have buried this feature in a startup dialog that you will only see if you run the .exe version of TB_ScreenSaver instead of the .scr version. Another way to get to it is to edit appropriate registry key. Refer to the documentation for more information on this.

Since feature-wise there was no new functionality added for *most* users, this release is being treated as a minor one. Hence, this is V3.51 instead of V3.6.

One side note... the "Invalid years" checkbox under the Picture Selection tab doesn't appear to do anything any more. The reason for this is that all MAME games now appear to have valid years assigned to them. Not sure if this is a temporary thing or what. For now I am going to leave that option in TB_ScreenSaver but I may decide later to remove it.

28-AUG-2005

Well things were not quite as dire as I had suspected regarding supporting the next release of MAME. As I mentioned previously, MAME supports XML files and this file contains all the information needed by TB_ScreenSaver. Problem is, the file is huge and it takes roughly 15 seconds on my system (1.9GHz, 512MB) to create. Fortunately, it doesn't take that long for TB_ScreenSaver to read once it has been created (3-4 seconds). The way the screensaver is setup, this file would only be created if the screensaver detects a new version of MAME which as you all know is not that often.

So the first time the screensaver runs after you have installed a new version of MAME you will have to wait while this enormous 24MB xml file is created. It would be nice if MAME would allow you to customize what goes in this file to keep down its size and its creation time, especially since TB_ScreenSaver needs only a fraction of the information it contains. Also, if you decide to read this file in Developer Studio, you might as well as take a coffee and bathroom break. It takes FOREVER to load. It was my experiences in Developer Studio that lend me to believe that this was going to be a lost cause.

Of course the changes to support the XML file are not trivial so I need to restructure some things to get TB_ScreenSaver to work with it. The next release (V3.51) will only have changes to support the xml file. I will not add any other features in order to minimize development time.

23-AUG-2005

It looks like the next release of MAME (I think they will be calling it version 0.100) will officially break this screensaver. Up until now, I haven't had to make any changes to this screensaver to support each new release of MAME. That will change. Two of the files I generate and use from within MAME (-listgames and -gamelist) will be eliminated. Not sure what this will mean for future MAME support of this screensaver. It could be that the current release of MAME (0.99) will be the last version supported by this screensaver.

In case you are wondering, the text files that I have MAME generate for me are used to determine which games will run as well as displaying and filtering by manufacturer and year.

The only other viable option is to generate and maintain my own data file to hold this information. But the last thing I want to do is take two steps back, plus support a data file for each release of MAME. Unfortunately, I have better things to do.

The only other MAME solution is to create, open and parse the xml file that MAME can generate for me using the -listxml option. But this file is HUGE, 24 times the combined size of the 4 files I generate now. More importantly, it will take minutes to do what now takes only a few seconds to accomplish. If you don't believe me, try it for yourself. Yeah, databases are great for complex things but for simple things they look like and move like a dinosaur.

Anyway, this decision by the MAME team will of course have no impact on my ability to expand this screensaver to other emulators which I was planning on doing anyway.

19-JUL-2005

Just a little note to say I am still alive and kicking. I am taking a break over the summer so I can enjoy it and my family so don't expect any updates any time soon. Between that, home projects and my paying job I just don't have much time for this. So I'll probably resume this in the fall.

In the mean time, stay cool!

11-JUN-2005

I have jumped back on the multi-emulator bandwagon again. As I mentioned in an earlier post, I want TB_ScreenSaver to support other emulators besides MAME. I think I have worked out the design changes. Now I just have to start coding it.

As before, my time on this project can be intermittent. Hence, for release V3.5, I decided to release a simple improvement which had nothing to do with support for other emulators, but was something I had wanted to do.

I may do another minor release that fixes the delay in calling up the screensaver configuration settings from Window's "Display Properties" dialog. It is one of those things that annoyed me which means it probably annoyed no one else.

08-JUN-2005

Version 3.5 has been released!

As mentioned in my previous update, I have added an option that allows the last picture in a group to be displayed full screen. You can download it from here.

06-JUN-2005

Another minor feature release will be coming out in the next day or so. When displaying a group of pictures in Sequential or Random/Sequential mode you will have an option that allows you to specify that the last picture in the group be displayed full screen. So if you have specified MAME game flyers, backgrounds, marquees and screen snapshots to be displayed in that order, then enabling this option will display the screen snapshots full screen regardless of the picture display mode you have specified such as two pictures side by side or random. All previous pictures will be cleared from the screen when displaying the last picture. Also, the Stretch/Shrink and Aspect Ratio options will apply to this picture as it does for all the other pictures.

28-MAY-2005

Version 3.42 has been released!

Fixed a couple bugs. You can see what was fixed here and download the new version here.

27-MAY-2005

Found a couple bugs that needed fixed. One was a bug in the new IComparer routine I wrote not correctly handling filenames that contain an '_' such as MAME games that begin with "pc_". This could cause an exception to be thrown depending on what options were enabled. One of these is the "Only display pictures that have a matching marquee" option.

Another problem I discovered was with the unzip library I am using. For whatever reason, the library would occasionally not read the files inside certain zip files. It was a very bizarre bug - sometimes the files needed a subdirectory prefix in order to be opened, other times they didn't. If the files inside the zip file could not be opened then none of the pictures inside that zip file would be displayed. Since the routine isn't mine I had to find a workaround. That fix that I came up with seems to work just fine.

These fixes will be in V3.42 which I should have out in the next day or two.

08-MAY-2005

Version 3.41 has been released!

I discovered a bug almost immediately after I released V3.4 but since I was heading out the door to go on vacation I didn't have a chance to fix it until now. The bug had to do with displaying multiple directories containing pictures with the same name. The existing (default) sort routine could destroy the order of your directories. The implication of this would be pictures not being displayed in the right order either sequentially or random-sequentially. If the "Skip groups that do not have pictures in first directory" checkbox is checked then you would also find that not all pictures that should be displayed would be displayed.

To fix this I had to write my own sort routine since the default sort routine only sorts alphabetically. Normally this is fine unless the strings you are sorting contain numbers. The strings I am sorting do contain numbers, a directory number. What this means is if one file was called abcdef_100 then it would be displayed before a file called abcdef_2. My sort routine properly takes the number into account.

You can download the latest version from the Downloads page.

04-MAY-2005

Version 3.4 has been released!

Wow. I found a few spare minutes to put out this release. A couple new features have been added and a few bug fixes. Go to Revisions for info.

04-MAY-2005

Having fixed the problem with zip files in the first directory, you will now be able to specify that only games that have artwork are allowed to run. You can do this by simply specifying your MAME artwork folder as the first directory in your directory list and checking the “Skip groups that do not have pictures in the first directory” option. There are quite a few MAME games that support artwork so if you have them, then your games will look more “arcade authentic” when they run.

Unfortunately, I won't get this release done until next week so you will have to wait until then.

I discovered that the sound card will mute when the screensaver runs even if you are not going to have the screensaver run MAME games. I have changed this behavior so that the sound card will only mute if the “Start game after displaying picture” checkbox is checked AND the volume slider is moved to its OFF position. Before, the checkbox could be unchecked and your sound card would mute.

I know some of you would rather have the sound card be muted only when a MAME game is running. There is a reason for the current behavior. For an explanation and a possible workaround check out the FAQ section.

03-MAY-2005

Before embarking on my next major feature I decided a minor feature was in order. One that would make displaying pictures in sequential mode more useful. Sequential mode will now remember the last displayed picture so when the screensaver restarts it will not start back at the beginning of your picture list and will instead continue from the last displayed picture.

To make this work I will be storing the sequential picture number of the last displayed picture in the registry. I have also added a “Reset to beginning” button next to the Sequential mode option so that you can force TB_ScreenSaver to start again back at the beginning at any time.

While working on this feature I discovered a couple bugs involving directories containing multiple zip files. One of these bugs involved marquees not being displayed above pictures found in zip files when the “Only attach marquees to pictures from the following directory” option is checked. Now they will.

A similar bug was seen when the “Skip groups that do not have pictures in first directory” option is checked. If the first directory contained multiple zip files then only the pictures found in the first zip file in this directory would be displayed. Now pictures contained in any zip file that reside in the first directory will be displayed.

I have another commitment later in the week so if this release isn't out by tomorrow then you'll have to wait until next week.

29-APR-2005

Over the past few months I have had a few requests for TB_ScreenSaver to support other game emulators besides MAME.

I initially chose MAME for a variety of reasons...

Most, if not all, other game emulators fail one or more of these criteria. As such I have not given much thought on supporting other emulators or game systems…. until recently.

Some of the game systems that have been requested for TB_ScreenSaver to support are vintage console video games such as the Atari 2600. Popular emulators for that system are Z26, PC Atari and Stella.

To allow TB_ScreenSaver to support other game systems a few things are required. The most important being a text (*.ini) file that describes a few key components that would be needed by the screensaver. At a minimum, this file would provide the same information that the MAME log files provide and that is ROM names, game descriptions, years of manufacture, and manufacturers. Creating a file like this for the Atari 2600 could be a bit daunting but on the other hand, updates to this file would be rare due to the completeness of the Atari emulators and the fact that few new games are being written for that gaming console.

Additional information would probably also end up in this file such as emulator specific settings and filters. That way you could switch between different emulators without having to reconfigure all of your emulator specific settings. I would also likely put in this file the name of the emulator executable to run, the syntax to start a game, plus any optional arguments that have been specified. TB_ScreenSaver’s configuration screen would then provide a list of supported game systems based on the discovery of these *.ini files.

So that is the direction I am currently steering. Since I am a big fan of Atari 2600 games I am going to start with that system and create the Atari2600.ini file that will be needed to support its games. I still need to work out other details on this before I start writing code. The main objective for this 3rd party emulator feature is to keep it as open-ended as possible so that the screensaver could support virtually any emulator. At a minimum all you would need to do is create the system configuration file for the system you want TB_ScreenSaver to support. If I want to be ambitious I could create a GUI front-end to create this file. Not sure if it would offer that much of a benefit. Especially if I eventually provide a library on my site of game files that you can download.

23-APR-2005

Version 3.34 has been released!

Improved the patch I made for version 3.31 since there were still a few instances when the screensaver would terminate after having run a MAME game.

19-APR-2005

Version 3.33 has been released!

And yet another bug fix! This version fixes (again) the sound card occasionally remaining muted after the screensaver terminates. You would likely see this if you are set up to run MAME games with the sound turned off.

18-APR-2005

Version 3.32 has been released!

Karl informed me of a bug when the background was set to randomly cycle. Basically, an exception would be thrown when the screensaver kicked in. This version fixes this.

17-APR-2005

Version 3.31 has been released!

Bug fix. I discovered that if the screensaver was configured without the "Only terminate screensaver when the following key is pressed" option disabled (i.e. the screensaver is set to terminate when the mouse is moved) that the screensaver will terminate after a MAME game has run. Fixed so that after a MAME game has run the screensaver keeps running.

16-APR-2005

Version 3.30 has been released!

Doing another quick release. Added one more feature to support the recently added grouping of pictures. This feature allows you to specify that only pictures contained in a specific directory can have marquees attached to them. That way, all pictures for a particular game do not necessarily have to have a marquee placed on top of them. For instance, you can specify that only pictures that are screen snapshots should have a marquee.

Will probably take a break from this for awhile. Of course, I will fix any bugs that crop up but additional features for now will be put on hold.

13-APR-2005

Version 3.20 has been released!

Doing a quick release. The reason for this is that I found a bug that I wanted to fix right away. The problem is when you were displaying pictures in Sequential mode; pictures associated with a group were not being removed when the “Clear screen after each group” option was checked. This has been fixed.

Also fixed the error handling in the Random Configuration dialog so it is much less annoying. Before, TB_ScreenSaver would not let you leave a field if it contained an invalid value. Now it will simply prevent you from closing the dialog.

Added a new group picture filter that allows you to specify that a picture must exist in the first directory for the group to be displayed. This option is found in the “Graphic Image Directories” dialog and it is called “Skip groups that do not have pictures in first directory”.

Here’s how this works…

Let’s say, for example, you are running the screensaver in Random-Sequential mode and you have specified the “Cabinets” folder, the “Flyers” folder and the “Snap” folder (in that order) as the directories you want TB_ScreenSaver to display your pictures from. In Random-Sequential mode, the screensaver will randomly choose a picture to display from one of those three folders. So, let’s say it randomly chose the picture “Defender” from the “Snap” folder. Since the “Snap” folder is not the first directory in your directory list, TB_ScreenSaver will see if a picture of the same name exists in the “Cabinets” folder. If it does, then that picture will be displayed first followed by the picture with the same name in the “Flyers” folder (if it exists) followed by the picture in the “Snap” folder.

If TB_ScreenSaver could not find a picture called “Defender” in the “Cabinets” folder then it would have displayed the picture with the same name from the “Flyers” folder as the first picture in that group. If that picture could not be found there either, then the picture it originally chose from the “Snap” folder would be the first (and only) picture displayed from that group.

So that is how this worked in V3.1. In V3.2. if you specify the new feature “Skip groups that do not have pictures in first directory”, then if we continue to use the example above, the game “Defender” will never be shown IF a cabinet picture for it does not exist in the “Cabinets” folder. This is because the “Cabinets” folder was specified to be the first directory in your directory list.

I decided to add this feature so that you could specify that only pictures that exist in a specified directory will be shown in the two group modes: Sequential and Random-Sequential.

The “Other active filters” viewer under the “Picture Selection” tab will tell you if you have this filter currently activated. It is always a good idea to look here first if you feel that not all your pictures are being displayed.

11-APR-2005

Version 3.10 has been released!

Lots of stuff added. Refer to Revisions for a list.

Have also made my sources available which you can get from the Downloads section.

Removed previous versions of TB_ScreenSaver from the Downloads section. The reason for this is that your configuration settings will not be retained if you run an older version after having run a newer version. So to avoid various support issues they have been removed. If you have issues with the current version then let me know! I am usually quite prompt in fixing problems after they have been brought to my attention.

10-APR-2005

Finished the option to have TB_ScreenSaver display one caption for all pictures. This will work in all picture modes including random picture mode. This option is useful for pictures that you have grouped together such as marquees, cabinet pics and screenshots.

Fixed one bug that I have seen in the past couple releases and that was marquees in random picture mode occasionally being wider than the picture itself. That bug caused another bug to sometimes occur and that was the marquee being clipped on the sides by another randomly placed picture.

So I have FINALLY finished all the features for this release. After further testing and updating the documentation I will likely release V3.1 later this week.

While you are waiting, go outside and enjoy the nice weather. IT'S SPRING!!!

05-APR-2005

The mute “bug” described in my previous update is not a bug in the current released version but a bug that’s in the version I am developing (it has already been fixed).

I didn’t realize when I started down the path of allowing multiple directories to be specified the number of doors that would open up as far as coming up with features that would make use of it. Here is what I have come up with thus far…

  1. Pictures found with the same name (in different directories) should be grouped together. Displaying pictures in Sequential mode (which is now really alphabetical) will now do this for you.
  2. To extend that functionality to random picture selection I have created a new Random-Sequential mode. As its name implies, this mode is a hybrid of both Sequential and Random modes. This new mode will randomly choose a picture to display. Once that picture is displayed, other pictures with the same name will immediately follow it before another picture is randomly chosen. The order in which these sequential pictures are displayed will be based on the order of your graphic directories (described below).
  3. Arrange your graphic directories any way you want. The order will affect the order that pictures are displayed in either sequential mode or random-sequential mode.
  4. Option to clear all pictures from the screen after a group of pictures has been displayed. One added bonus with this is that backgrounds are always synchronized with the current set of displayed pictures (this was only an issue when multiple pictures were being displayed on the screen at once).
  5. A MAME game will start only after the last picture in a group has been displayed. If the “Flash game caption before running game” is enabled then all pictures for that game will have their caption flashed before starting the game.
  6. Display one caption for all pictures. With the ability to display multiple pictures with the same name this feature avoids having captions underneath each picture displaying the same information.

So far all but the last feature has been implemented. I will likely release this version shortly after that feature has been completed and tested.

03-APR-2005

I have gotten the "Run every 'x' games" MAME option to count games and not pictures when either displaying pictures sequentially, or randomly when the new "Display similar images sequentially" option is selected.

I am still working on synchronizing picture boxes with a group of pictures (only an issue when 2 or more pictures are being displayed at once) so that the presentation is less erratic.

Found a small bug with the muting of the sound card. If you have opted to mute the sound card when the screensaver is running a MAME game the screensaver mutes the sound card in preview mode and stays muted when you close Windows Display Properties dialog (that is the dialog you use for setting up the screensaver options). It should not. I will fix this in the next release.

31-MAR-2005

Finished adding support for multiple directories. For now I have limited this feature to just selecting the main picture directories. I didn't really see the need for making this feature available for the background pictures so that option will not be made available.

With the ability to select multiple directories I have added a feature to group similar pictures together when in random picture selection mode. In other words, sets of pictures can be randomly chosen instead of individual pictures. For example, you can have for each game the cabinet, title screen and game screen displayed before another game is displayed. The order that these three pictures are displayed is up to you since I have allowed you to sort the directories.

To exploit this feature even further I need the MAME "Run every 'x' games" to actually count games and not pictures. I also think that if you are displaying multiple pictures on the screen at the same time that those displays be synchronized with the games so that all the pictures for any game will always be displayed together rather than occasionally being split up.

Also changed the sequential picture option so that it now displays your pictures alphabetically. Even if you specify multiple directories, all the pictures will be sorted into one list.

These features will be made available in V3.1. The release date has yet to be determined.

25-MAR-2005

Working on adding support for multiple graphic directories. Unlike subdirectories, this feature will allow you to specify any number of graphic folders that don't have to share the same root. Background images will also have this feature.

After completing this feature I will add a new picture selection option that will display images in groups. A group will consist of like-named images found in your graphic folders. All images in a group will be displayed before TB_ScreenSaver displays a new picture.

22-MAR-2005

Version 3.02 has been released!

Some kind gents informed me of a couple errors they experienced when running the screensaver. The first was an unhandled exception caused when TB_ScreenSaver tried to parse certain ROM zip files. You would see this error if you had set the screensaver to use the MAME folder as your graphic folder along with all subdirectories. Of course there are no graphic files inside the ROM zip files but TB_ScreenSaver doesn't know that so it opens every one of them looking for some.

The second was an error caused by zip files that did not contain any files. Apparently, ClrMamePro can create these. The error you would see is "File is too small to be a zip file".

Both of these problems have been fixed with this release. Thanks Brandon and Evan for bringing these to my attention. If anybody else has a problem with the screensaver email me and I will look into it.

Evan also suggested to keep the previous releases available on the web site in case people experience problems with the current release (as he did). So all versions back to V2.21 have been added to the Downloads section.

20-MAR-2005

Version 3.01 has been released!

A quickie update with a few minor fixes...

- Increased the maximum running time for MAME games from 180 seconds to 240 seconds. Also increased the default -ftr parameter from 17000 to 17999.

- If you had opted to have TB_ScreenSaver terminate only when a key on the keyboard is pressed then you MUST press that key to terminate the screensaver. Before, you could get away with terminating TB_Screensaver by pressing the Escape key while a MAME game was running. That will no longer be the case unless you have chosen the termination key to be the Escape key. This improvement will allow you to terminate a game that isn’t running correctly, or that you simply don’t want to see, without automatically terminating the screensaver.

- Hopefully fixed a very intermittent problem where TB_ScreenSaver would think a game has terminated from a user pressing the Escape key when in fact the user did not press that key. If this is still a problem then I suggest changing the termination option for TB_ScreenSaver to be a key on the keyboard and have that key not be the Escape key. I would still like to know, however, if this is still a problem.

On a different note, I have added a FAQ (Frequently Asked Questions) section to this web page.

19-MAR-2005

 Version 3.0 has been released!

Several changes and improvements. Refer to the sections titled Features and Revisions for further information.

I will be adding the sources for TB_ScreenSaver to the Downloads section in the coming days.

14-MAR-2005

A few more fixes before the next release…

All text boxes that are used to exclude pictures or games based on their name, manufacturer or year will now reset the font when you paste text into them so that all text contained inside these boxes all uses the same default font.

Found an interesting bug that would cause the first MAME game to run longer than its game duration time. This bug might have had other consequences as well. The code that caused the bug was recently added to address a problem of being unable to start a game that popped up “ROM NEEDS REDUMP” or “NO GOOD DUMP KNOWN” screens. I need to retest these games to see if my fix has broken them.

If you have a corrupt TB_ScreenSaver.ini file, TB_ScreenSaver will now ask you whether you would like to recreate this file using default values. Before, it would always recreate this file.

I have decided to allow duplicates for picture files in TB_ScreenSaver. If you do not want duplicate pictures to be displayed, then you need to make sure no duplicate picture files exist in your picture directory. This means no duplicates inside zip files or subdirectories (if enabled). I may change this behavior in a later release but for now this will be the way it works.

As far as the planned date for the next release, I would expect a release (V3.0) later this week unless something unforeseen happens.

 

13-MAR-2005

Not sure what I was thinking when I said in my previous update that I was going to eliminate the "Open File" dialog for the background's "Fixed Image" option. That would work if the marquee directory would always be the \marquees directory under your MAME folder. As it is now, TB_ScreenSaver has no idea where the marquee folder will be because I am removing the dependency of this feature from MAME. As such, specifying just the filename cannot work unless I also have you specify the directory as well. Soooo... I am basically going back to the way it was before and that is use the "Open File" dialog to specify the image to use. The down side is that this file cannot be in a zip file ("Open File" does not support it). However, since we are only talking about one file, having to unzip it from a zip file (if it is inside of one) is a very minor inconvenience.

I have noticed that some Window's programs have a tendency to take focus away from TB_ScreenSaver while it is running. Virus scanners and automatic update programs are likely culprits of this. I will fix this with the next release by forcing TB_ScreenSaver to be back on top with each picture change.

Fixed a bug in single picture mode where the picture would not always correctly center itself vertically on the screen (it would sometimes partially overlap the title caption). This was noticeable when you had all captions enabled and told TB_ScreenSaver to reduce the picture size 10% (i.e. picture size was set to 90%).

12-MAR-2005

Working on a few more things for the next release...

I am changing how a single background file is specified (the current “Fixed image” option). Currently you specify this file from an Open File dialog. For the next release you will need to type the name of the file. The reason for this is that you may want to specify a file inside a zip file. Unfortunately, Window's "Open File" dialog does not allow you to specify a file inside a zip file. As such, the Open File dialog has gone away. Yeah, I could write my own Open File dialog that supports zip files but for an option that is probably seldom used at best, I decided to devote my time to other activities.

Actually, there is one advantage to not selecting this file from an Open File dialog. If the file is inside a zip, you do not need to be concerned with which zip file it is. TB_ScreenSaver will search all zip files in the background directory you have specified and will use the first one it finds whose name matches the currently displayed picture.

Added a new filter to the Background tab called "Only display pictures that have a background" that, as its name implies, will only display pictures that have a matching background. It basically works the same as the "Pictures without marquees" in the Picture Selection tab. This background option, of course, only applies when you have the “Match image with picture” background option enabled.

Moved the marquee stuff to its own tab and removed the dependency on MAME. You will now be able to specify the directory you want to use for marquees and it can be in a directory that has nothing to do with MAME. Also moved the "Pictures without marquees" option to the new Marquee tab. It has also been renamed to say "Only display pictures that have a marquee".

Decided to add the release date to the About dialog box.

Still working on the option to prevent duplicate picture files from being displayed. This may not make it into this release. Trying to decide if it is really needed at all.

09-MAR-2005

Finished all the unzipping code and it works great. In addition to your pictures, you can have your marquees and backgrounds zipped as well. You can also have your pictures/marquees/backgrounds both inside and outside of zip files. As before, all of these pictures can be displayed either randomly or sequentially.

The only thing left to do besides more testing is to prevent duplicate pictures from being displayed (i.e. don't display the same picture twice if its found both inside and outside a zip file or in multiple zip files).

Also have to update the documentation which fortunately will be minor.

07-MAR-2005

I am back (at least for the time being). I am starting where I left off and that is adding zip file support to TB_ScreenSaver. So far things are going well. Before I could jump into the zip routines I had to make several changes to the way TB_ScreenSaver stores its graphic files. Those changes have been completed and appear to be working well. In the next couple days I believe I will have the zip stuff working.

One issue has come up that I really hadn’t had to contend with before and that is how to handle a graphic file that exists in one or more zip files, or a graphic file that exists both inside and outside a zip file. There is a third issue that has come up before and that is how to handle a graphic file that exists in a directory and a subdirectory. In the latter case, TB_ScreenSaver currently displays both pictures. That behavior will likely stay the same for the next release.

In the cases where a duplicate graphic file exists in one or more zip file I have decided to not display duplicates. Why? Well in MAME all your picture files are stored in a file called snap.zip. When updates to MAME become available, you likely download a zip file containing pictures of games that were added or updated. That file is usually another zip file. I usually put this file in my snap directory which means now I likely have two zip files that contain some of the same picture files. So what should I do if two zip files contain the same graphic, or a file found outside of a zip file is also found inside a zip file? Well, here is what I have decided to do…

- First, read all picture files out of the first zip file encountered.

- If other zip files exist, read those files as well. If a newer zip file contains a picture file that was previously found in an earlier zip file, the newer one will be used.

- Read any discrete files (those not inside zip files). If any of these files were found previously inside a zip file the discrete picture file will take precedence.

As you can see, discrete files will take precedence over any duplicates found inside a zip file. In my experience, MAME32 works like this too. The only difference with MAME32 is that MAME32 only reads snap.zip. TB_ScreenSaver will read all zip files found in the directory you have specified.

None of this is cast in stone so there may be changes to this philosophy in the coming days. Anyway, enough of that.

There is one more thing that I should mention about the next update (which will be V3.0). Since the routines in the zip library I will be using are open source, I am required to make my program open source as well. As such, the "Downloads" section will include my C# source files for TB_ScreenSaver. Therefore, those of you with C# experience can make your own updates! Of course you will be on your own as far those updates are concerned since I won’t have the time or desire to support versions of TB_ScreenSaver that were made by others.

26-FEB-2005

I am posting this message just to let people know I am still alive and well. I have literally gotten swamped at work to the point it has carried over into my time off. As such, updates to this program have suffered. When things get a little less hectic I will resume this project. In the mean time, if you find a bug then please let me know about it. I can usually release a bug fix version a lot faster than a version with new features since features require more testing and changes to documentation. Thanks.

06-FEB-2005

Sorry for the lack of updates. Other priorities have come up. Also, adding support for zip files requires changing how images are extracted in TB_ScreenSaver. As such, I am having to rethink some of the core image extraction functions since graphic files may be embedded in a zip file. This includes backgrounds and marquees. My main objective is to minimize the changes to TB_ScreenSaver as much as possible in order to minimize the risk of breaking something else such as the image randomizer.

While I am directing my efforts to supporting zip files I have found that I needed to take an intermediate step to minimize redundant information being stored for each graphic file. One of these is the directory where each file is stored. Rather than store the complete directory path for each and every graphic file, I will instead store an index to an array that specifies the directory where that file may be found. This should reduce considerably the memory requirements for TB_ScreenSaver when you have graphic directories that contain a large number of files (such as MAME).

So far things are going smoothly. Just don't expect a release anytime soon. Especially since I am scheduled to go to Italy next week for my employer.

30-JAN-2005

Decided against using ZLib. Mainly because I found a .NET solution that seems a lot easier to use and would not require me spending hours writing an interface to an unmanaged DLL. What I found was a .NET Zip library called #ZipLib developed by Mike Krueger. So... for now I am going down this path.

26-JAN-2005

Started work on the next feature which will be support for zip files. Right now all graphic files including marquees and backgrounds must be unzipped in order to be used by TB_ScreenSaver. While this has not been a big limitation (at least for MAME since these pictures are typically compressed using PNG), it will be a limitation when I add support for icons which are not compressed.

I will likely be using Zlib written by Jean-loup Gailly and Mark Adler since it is freeware and it is currently supported by MAME.

As usual, I will keep you all posted on my development progress.

22-JAN-2005

 Version 2.21 has been released!

This has a few relatively minor changes.

First, the background font color can now be seen in the dropdown list box as soon as you select it. You will now know what a color such as SlateGray will look like without having to preview it. Second, if colors are being cycled in either the title caption or when a MAME game starts it will be stopped while a MAME game is running. While I did not notice any change in MAME performance it should offer some improvement.

I didn't bother updating the documentation since the change was so minor.

And Happy 43rd Birthday to me :-)

21-JAN-2005

 Version 2.2 has been released!

20-JAN-2005

I never completely supported displaying both the filename and the MAME description at the same time. While you could do this, the filename font, color, size and now the new background caption color, would always be that of the MAME description when both were being specified. For the upcoming release, they can both be displayed, each with their own font attributes and background color. To keep the two separate, the filename will now be enclosed in brackets and centered within its own label space.

Minor fix - I will now keep the background fixed color button enabled even when the fixed color option is not selected. The reason for this is that the fixed color is used when an image or picture color cannot be used.

I have fixed the default background color not being used if the background was selected to use picture colors but that color ended up matching one of the caption colors. Before, it was always changed it to black. NOTE: This color swap is only done if the caption font color in question has its background color set to transparent.

18-JAN-2005

Found a couple bugs that needed fixing.

First, if you are in single picture mode, have specified the picture to be less than 100% of the size of the screen, and either have the filename caption or the MAME captions enabled, the bottom of your picture will be clipped. Basically, the height of the captions was not being taken into consideration.

Fixed an exception that would occur when a marquee was specified but you did not specify a path to a MAME executable. You will now get an error dialog telling you that you cannot display a marquee without specifying the path to a MAME executable. I have been toying with the idea of not having the marquee be dependent on MAME. Basically, you would specify the path to the marquee directory rather than assume it is below your MAME folder.

The background color option for captions looks really cool. The best part is that your captions can be easily read with a smaller font regardless of the background that is currently being displayed.

The next release will be version 2.2. I will try and get it out this weekend.

17-JAN-2005

Adding a simple feature that will allow you to specify the background color for your captions. Right now the background color is set to Transparent which means that your caption backgrounds will be the same color or image as your main screen background. The problem with this is if you have small fonts, busy backgrounds, or colors that do not contrast enough with the screen background, then the caption may be hard to read.

16-JAN-2005

Decided that this web page needed to be reworked and organized. So it now has a new look.

14-JAN-2005

Version 2.1 has been released!

I spent some more time screwing around with the termination logic and have concluded that it is as good as it is going to get. It is still better than it was. The problem I have is that there is a brief amount of time where MAME takes focus away from TB_ScreenSaver while it is starting a game but it is not yet scanning the keyboard to detect that the Escape key has been pressed. As such, there are still times where you may have to hit the Escape key several times in order to terminate TB_ScreenSaver. Again, these times only occur during game startup.

13-JAN-2005

Made termination of TB_ScreenSaver more responsive when user presses the Escape key while a MAME game is starting up. Before, you might have had to press the Escape key 2 or 3 times to exit both out of MAME and then TB_ScreenSaver. This was due to a 2 second sleep while TB_ScreenSaver waited for a game to start as well as a second process running that was validating ROMs.

Fixed an issue where if a game had invalid ROMs, TB_ScreenSaver would continually retry that game rather than move on to the next game.

Added code that if a game has all of the necessary ROMS, but one of them is the wrong size, then the game will be skipped.

Noticed that some MAME checks on game ROMs are not all that complete. As such, if a game has a bad ROM then MAME may be able to start it but the game may terminate prematurely. If that happens, TB_ScreenSaver will treat that game as never have started and will attempt to start the very next game it displays.

12-JAN-2005

Last minute feature added – the ability to start a game by pressing the Enter key will be an option. I was going to allow it all the time but decided it would be best to make it optional. As such, a checkbox for this feature has been added under the MAME tab. Updated screenshot below.

11-JAN-2005

Still testing. Found a few things that needed fixed or improved. Pending anything major, I would expect a release towards the end of the week.

08-JAN-2005

One minor fix. If the "Non-working games" option is checked, games that have bad sound will be displayed if the "Start game after displaying picture" option is unchecked, OR game volume is turned off. Before I only checked the game volume setting which made no sense if the "Start game..." option was unchecked. Updated the tool-tip for the "Non-working games" option to explain this.

Tested with MAME 0.90. Seems to work fine.

07-JAN-2005

The next release will also contain an option that will allow you to specify what key you must press in order to terminate the screensaver. This feature was added for those individuals who would like to use TB_ScreenSaver in their MAME arcade cabinets. Since MAME uses the Escape key to terminate a running game, I originally allowed that same key to be used to terminate TB_ScreenSaver. The problem with this is if TB_ScreenSaver is running in a MAME cabinet and you have a control panel button mapped to the Escape key, then pressing this button will cause TB_ScreenSaver to exit back to Windows. Not exactly what a MAME owner or game player wants to see.

Another feature geared towards MAME cabinets is to allow the ENTER key to be pressed to start a game. While TB_ScreenSaver allowed the 'R' key to be pressed to start the currently displayed game (more of a diagnostic feature than anything else), that game would only run for a limited amount of time. Actually, it is the same time you specified for "Game duration" under TB_ScreenSaver's MAME tab. The other problem with the 'R' key is that key is not typically mapped to a button on the MAME cabinet's control panel. Therefore, if you wanted to start a game that you currently saw displayed in TB_ScreenSaver, you had no way to do so without dragging out the keyboard. With the next release you will be able to start a game by pressing the ENTER key and it will run indefinitely until the Escape key is pressed at which point you will exit back to TB_ScreenSaver.

I would like to thank Jeff Bowers for giving me both of these cool ideas.

Here is a screenshot of the new MAME Advanced Configuration dialog that I mentioned in my previous post. It is nothing fancy but it gets the job done.

Since MAME 0.90 has been recently released, I will be doing some testing on this version before releasing V2.1.

03-JAN-2005

I will be adding a new MAME advanced configuration option. This will allow you to specify any MAME run-time option you want by typing in a text box the arguments to start MAME.

I also discovered a more efficient way to have TB_ScreenSaver sleep while a MAME program is running. I didn't see any noticeable improvement in any of my MAME games but in theory it should help game performance at least a little bit.

01-JAN-2005

Found another program, Two Tigers, that occasionally causes the display in TB_ScreenSaver to get screwed up (but not always). As such, I will be releasing another version shortly to fix this.

It will also have a new feature. Rather than specify MAME games to run with or without sound, you will be able to specify the volume from OFF to the maximum volume your sound card is currently configured. Now you won't need to reduce the volume of your sound card from Window's Control Panel to decrease the volume of the sound for the games.

Hope everyone celebrated the arrival of the new year safely.

30-DEC-2004

Version 2.01 is now available.

This is mainly a bug fix release but one minor new feature was added: TB_ScreenSaver will now hold the picture of a game after MAME has run so you can easily identify the game. Before, TB_ScreenSaver immediately moved onto the next picture when it returned.

Download the program above.

29-DEC-2004

Another release is forthcoming. This one contains mainly bug fixes.

I found that some games that are started in TB_ScreenSaver cause an exception to be thrown when TB_ScreenSaver is waiting for the game to go into an idle state. This in itself is not bad since the exception is handled, but a problem arises because the game still starts unbeknownst to TB_ScreenSaver (usually exceptions from a starting process indicate that the process died but not in this case - the game still starts). So while the game is running, TB_ScreenSaver is off doing its own thing of displaying pictures and potentially starting other games all while MAME is running. In the worst case scenario, it is possible for your system to freeze as multiple games are started by multiple MAME processes. This will be fixed in the next release so that TB_ScreenSaver correctly handles the
exception.

I also discovered that after some games have run, the display get screwed up in such a way that the background and pictures no longer fill the screen, or that pictures and captions are shifted down. This too should be fixed in the next release.

Apparently both of these problems are new with the recent release of MAME 0.89 since earlier versions of MAME did not have these problems. At least not that I had observed.

The flashing of the game caption is broke. Actually, it worked but only if you had specified your title caption to flash its colors as well. I never noticed this before since I was mostly running my screensaver in that mode. This too will be fixed in the next release.

One low priority and unpublished item that had been on my list of improvements was to allow TB_ScreenSaver to show the picture for a game AFTER it had run. The next release will hold the picture for a game after it has run for the number of seconds specified by your "Picture Selection Delay". I always found it mildly annoying that TB_ScreenSaver did not identify a game it had just run.

I will have a new version of TB_ScreenSaver available soon. Since this release contains mostly bug fixes, the next version will be 2.01.

As an aside, I have noticed that the wrong version number is being written to TB_ScreenSaver's TB_ScreenSaver.ini file. While this does not create any problems, it does cause confusion for those of us who happened to open the file, and for me trying to determine how to update an older TB_ScreenSaver.ini file. So the next release will have this version number changed to 2.01.
 

28-DEC-2004

Okay, this is off topic but I have to show off my Christmas present. My lovely wife Becky got me a weather station for Christmas. A LaCrosse WS-2310. I have wanted one of these since I was 18 (HeathKit had one that was really cool back in the 70s - that gives you an idea how old I am). But this one does does so much more. It has all the cool weather stuff: temperature, humidity, barometric pressure, wind speed/direction, dew point, wind chill, rain amount, etc. The best part is you can connect it to your PC and publish the data to a web site - like this one! As such, I have added a link down below if you want to see what the weather is like at our house. Definitely a fun toy I am having a blast playing with.

Anyway, I hope everyone had a happy and healthy holiday.

24-DEC-2004

Now that V2.0 is out, I am already looking forward to the new year and future releases. I am glad so many people are using this program to show off their MAME collection. That was the whole reason I developed it. While there are a plethora of picture screensavers out there, all of them had shortcomings. Especially, when it came to displaying MAME game images. So I decided to write one myself using C# in Microsoft’s .NET framework. Why C#? Mainly because I have been programming in it for several years now and I marvel at how much simpler it is to develop a program than it used to be in C++ (my other language). Also, I have gotten really rusty in C++ so why take the longer more rocky path when the shorter smoother one will do.

As far as future features, here is what I am planning to add thus far...

Floating graphics that move about the screen. My idea for this is to take images from (yet) another directory and use them for creating small images that move around above all other pictures that are currently on the screen. For example, if the game Donkey Kong was currently being displayed, a Mario or Donkey Kong graphic would move about the screen. The ideal candidates for these graphics would be icon images like those available from MAME32 since they are small, many have transparent backgrounds, and they are updated with each release of MAME. A variety of options would be available that would allow one to specify the number, size and speed of these images. I might also allow for text to be substituted instead of an image. This would also work if TB_ScreenSaver was configured to display multiple pictures on the screen at once, then icon images from all those games would be floating around. Like the newly added background option, you would not need MAME installed to use this feature.

Another idea I have always been tossing around in my head is a variant of the current random picture mode where the pictures themselves move about the screen bouncing off one another or the sides of the screen. I haven’t convinced myself this is a worthwhile venture. I think I will pursue the floating idea graphic first and see how carried away I get with it. After that feature has been implemented I will reevaluate the random floating graphic feature again.

I have been made aware that some people are using TB_ScreenSaver as a screensaver for their MAME arcade cabinets. As such, I thought it would be beneficial to allow starting a game directly from TB_ScreenSaver. Currently, TB_ScreenSaver supports starting a game by pressing the 'S' key but the game will only run for the duration specified in the "Game duration" parameter. To make this program act more like a MAME front-end (even though it isn't) I will add support for running a game indefinitely by pressing the ENTER key. I understand that this key is typically used by other front-end programs for starting a MAME game. As such, this key is usually mapped to one of the buttons on the MAME cabinet's control panel which makes starting the game simple for a player. So to start a game from TB_ScreenSaver would involve pressing the same button. After a game has been started in this manner it will run indefinitely until the ESCAPE key is pressed at which time control will return back to TB_ScreenSaver. Pressing the Escape key again will terminate TB_ScreenSaver as it does today although I might allow the user to choose another key for this in case they do want to use TB_ScreenSaver as a front-end and not allow a player to unintentionally exit back to Windows.

These two features will probably be broken up into two separate releases. The feature that allows a running a game indefinitely by pressing the ENTER key will likely come first since it is relatively easy to do.

I have also given some thought on removing the MAME requirement for displaying marquees above pictures even though that was the inspiration for that feature. I would probably create a new Marquee tab where you would specify the marquee options, including the directory where the marquee files are stored (which would not have to be under your MAME directory like it is now).

I still plan on eventually adding support for zip files. To date there has been no real need for this since MAME graphics are typically stored as PNG files which are already compressed. Icon files are not, so I plan on adding this feature sometime next year.

Hope everyone has a safe and happy holiday and new year! 

- Ken

15-DEC-2004

Sorry for the lack of updates. Various commitments this time of year take precedence.

Part of the cause of my delay was trying to find a solution for a major performance problem I encountered when using background images. I eventually was able to figure out a way to change the bitmap bits directly in memory. That method provided me the significant improvement I was looking for.

Found a major performance bug in random picture mode when the "No picture overlap" option is specified. This too has been fixed.

 

Fixed a bug in random picture mode when "No picture overlap" is specified along with "Show marquee". Occasionally a picture or its marquee would overlap another picture or its marquee.

I'm still on target for a pre-Xmas release.

 

07-DEC-2004

Moved into the testing phase (finally) but not before adding a couple more features.

 

In single-picture mode, you will be able to specify the size of the picture. This is to prevent the background from being completely obscured by the picture. The picture can be sized down to 50%.

 

Added tool tips to all configuration settings. This is simply an ease of use feature.

 

Picture layout tab will now be the default selected tab when TB_ScreenSaver's configuration dialog is displayed.

 

Added a link to this web page in the "About..." dialog.

 

Added the version number to the TB_ScreenSaver.ini file in order to better handle upgrading to later versions.

 

Won't be adding the wildcard option to the MAME game filters. At least not in this release. The reason for this is that I need to stop adding features and get on with this release :-)

 

30-NOV-2004

In addition to the new background feature, I am also working on a few fixes for the next release.

 

Need to fix TB_ScreenSaver so that PlayChoice-10 and Cassette games can once again be filtered. I believe this stopped working after I installed the latest MAME release (V0.89). The reason this no longer works is that TB_ScreenSaver always removed items in the description that were within parenthesis since they typically contained text that had nothing to do with the name of the game. The PlayChoice-10 and Cassette games used to be outside the parenthesis. As a result, they would get displayed as part of the description which means you had the option of filtering those games from either being displayed or run. Now MAME is putting this text within parenthesis so filtering on these words has no affect in TB_ScreenSaver. I will remedy this in the next release by allowing the filters to work with words that are within parenthesis.

 

Eliminated displaying of DOS command windows when TB_Screensaver starts in MAME mode. These windows were the result of TB_ScreenSaver querying MAME for information. I noticed these when I specified MAME.exe as my MAME program. I never noticed them when using MAME32.exe.

 

Added error handling if MAME or background file path or file name is invalid.

Fixed missing marquee directory throwing exception. This situation is now handled more elegantly.

 

Found another place where the seed value for the picture randomizer was limited to 60 starting values for the pseudo-random generator (I thought I had it fixed in V1.21) so this has been remedied.

 

I'm considering adding the wildcard (*) option to all filters for the next release. More information on this will likely be forthcoming.

 

26-NOV-2004

Still working on the new background feature. I have added the ability to specify the amount of brightness which basically whitens the colors in the background to give me that washed out effect I was looking for. Also added the option to force the background to gray. Again, the idea behind these background options is to neutralize any background picture so that the foreground picture will still stand out.

 

Still need to work on the background option which will allow each foreground picture to have its own background picture. This would work similar to the marquee option which requires the marquee filename to be the same as the picture filename. I think this option would be cool for game flyers or cabinet pics.

 

I should mention that whatever background image is chosen, it will be tiled (unless the picture is bigger than the screen area). I currently have no plans on adding stretch/shrink options.

 

It is still too early for me to comment on an exact release date. All I can say is that I expect to release the new background feature some time before Xmas.

 

21-NOV-2004

Continuing to work on the new background feature (see 16-NOV-2004 comments). So far I'm planning on adding several background options. You will be able to specify either a single background color for all pictures, a changeable color that is based on the colors in the currently displayed picture, a single image for all pictures, or a changeable image. In the case of the latter, you will either have each picture displayed with its own background, or be randomly or sequentially chosen from a directory of files. If the picture is to be displayed from a directory of files, you will be able to specify how often the background changes (i.e. change after 20 pictures have been displayed).

 

In the case of TB_ScreenSaver choosing a color based on the colors in the picture, I will be adding some smarts to it. If the background color is to be a color that is almost black, it will be black. That way all the vector games will have a black background. Also, if the background color is to be a color that comes close to a caption color then the background color will be changed to black as well. This will prevent captions from being hard to read. I might consider this being a user-specified color instead.

 

Another background option I am considering adding is a parameter that allows you to specify how much the background should be washed out. Basically, it would be the same effect that I have done with the Q*bert background on this web page. Without this option your pictures will likely get lost in your background unless you choose something really neutral. The washed out effect should make any image a good background candidate.

 

I have discovered that I still had issues with upgrading from previous versions of TB_ScreenSaver. Basically, there was no guarantee that your configuration changes would be retained after upgrading. I plan on fixing this with the next release which should allow you to upgrade from V1.2 on up. For earlier versions I would suggest squirreling away your older TB_ScreenSaver.ini file before performing the upgrade. Then after installing and running the new TB_ScreenSaver program, you would manually edit the newly created TB_ScreenSaver.ini file using Notepad to put your changes back in. If that sounds like too much of a pain, you could just go the normal route and just reconfigure TB_ScreenSaver through its Configuration Settings dialog. Sorry for the inconvenience. I'll just have to remember to test these things out before I release the next version.

 

16-NOV-2004

I've been working on a feature that would change the background color to match the average color of the picture that is being displayed. Specifically, I randomly sample 100 pixels in the current picture then average all their colors together to set the background color. Each time the picture changes, you get a new background color. So far it works great. However, it only looks good (and makes sense) if you are only displaying a single picture. Not sure it makes sense to do for more than one picture being displayed on the screen at once so I may disable this feature for those types of picture layouts. Also need to think about the captions since they may wash out if the background color closely matches the color chosen for them. I may prevent that from happening by forcing the background to black in those instances. I need to give it some more thought.

 

14-NOV-2004

V1.21 has been released!

If you were thinking your pictures were not starting off very random (as I have) there is a good reason, the seed value for the randomizer is based on the number of seconds that has elapsed during the current minute and not the number of ticks. So that leaves TB_ScreenSaver with only 60 starting patterns. Amazing that I had not caught this sooner. In any event, the release that fixes this (V1.21) is available now.

 

09-NOV-2004

V1.2 has been released!

Here is what's in it...

Redesigned the configuration control. The changes are in the MAME exclusion lists under both the MAME and Picture Selection tabs. I didn't think the current version  was all that intuitive and that it gave the impression that the years, manufacturers and "Words in Description" lists were exclusive of one another (they are not).

 

Added a feature that will allow pictures to be displayed that you have marquees for (in other words, all displayed pictures will have marquees displayed above them). Another advantage of this feature is that it provides another type of filter for displaying the more common and classic games.

 

Fixed a bug where pictures were not being sized correctly if being displayed with a marquee, in non-random mode, with maintain aspect ratio enabled.

 

The current version of TB_ScreenSaver, V1.11, always creates the MAME files: MameClones.txt, MameFull.txt, MameGames.txt and MameGameList.txt. This version will only create these files if a new version of MAME has been installed.

 

Back