Simple Multithreading example in .NET and WPF

After lots of googling, trying to figure out how to multithread properly in .NET and modify a WPF GUI from another thread, I’ve finally figured a lot of stuff out.  I have created a simple multithreading example project in Visual C# 2008 Express.

WPF Multithreading demo app

You can download the project here, but since I know most people just want to get some quick answers, here’s a few code snippets:

Continue reading

FRI Version

Download Here

Change Log:

  • Fix: emulator compatibility is now caps-insensitive
  • Fix: emulator selector centered and has correct icon
  • Re-Write: Emulator loader re-written.  The emulator selector now looks finished.  Note that ROMs can no longer be opened in bulk.
  • New Feature: Image Health (good dump, bad dump) can now be searched.
  • New Feature: The default size of the Advanced Search window is now just the right size to fit all of the content.
    fri version advanced search window
  • New Feature: The default size of the Emulator Selector window is not just the right size to fit all of the content.
    Here is the Emulator Selector when I select a PlayStation ROM to play. (I don’t have any PlayStation emulator configured to work with FRI, so it just shows all of the emulators.)
    fri version emulator selector
    Here is the Emulator Selector when I select a Game Boy ROM to play.  Since I have more than one Game Boy-compatible emulator configured in FRI, it gives me a choice.
    fri version emulator selector 
  • New Feature:  More-detailed status messages in the status bar.
    fri version status bar (split picture)
  • Tweak:  Many improvements to program responsiveness.  Previous versions of FRI freeze temporarily when scanning for a large number of new ROMs, or when populating the ROM list when a large number of ROMs.  Various tweaks, combined with the new status bar messages, ensure that FRI remains responsive and keep the user in control.
  • New Feature: Maximum number of players can now be an implied meaning of a File Tag.  This means that if a ROM has "[p1]" in the file name, then FRI will recognize it as a 1-player game.  As always, the user can create new tags, so if the user has a lot of ROMs with "(1 player)" denoting that it is a 1-player ROM, then he can easily add that to the File Flag Vocabulary.
    fri version File Flag Vocabulary
  • New Feature:  FRI now has the ability to randomly-select a ROM in the ROM-list, or (if multiple ROMs are already selected) to randomly-select a ROM out of the selected ROMs.
    fri version select random feature
  • New Feature: Now when FRI is closed it only saves the database if changes have been made.
    fri version smarter saving