UI improvements to pcsx-df/-r

Aug 20, 2010 at 10:09 AM

Hey,

I had in mind a few UI improvements to pcsx. It seems a bit of a waste to have a main window that is spent entirely on a JPG for the emulator name. What I'd like to do is have a list of:

  • Recently saved states
  • Recently used ISOs

The benefits is that it would enable quick start of emulation, without having to navigate through folders to find ISOs/states. In addition, if the GFX plugin supports screenshots, the state history would be able to reference the screenshot when selected.

I'd imagine the UI (for a list view, perhaps on the RHS):

| Recently Saved States
+----------------------------+
| TEKKEN 4
| Mon, Jan 14 (4 days ago)
+--------------------------
|  TEKKEN4
+-------------------------
| FINAL FANTASY 8
+-------------------------
| Recently Played ISOs
+-------------------------
| TEKKEN 4
| Fri, Dec 12 (21 days ago)
+--------------------------
| FINAL FANTASY 7
+----------------------

Some problems I can foresee:

  • May be unstable if a state/ISO requires a particular set of plugin settings which has changed since last use
  • How to interrogate an ISO for the PSX CD name? This would be a big problem if we wanted to generate, say, a list of available ISOs in a directory, perhaps like a romset list, or iTunes-style list of available ISOs.

I think the UI overall is a bit dated, but the code/plugins may prevent these options - what do people think?

Coordinator
Aug 21, 2010 at 9:20 AM

well I'm one of those who always hate the "recent used file" thing (lists some stuff even if I only opened for once and not likely to use again or no longer exists, etc.)...

still though, I'm sure what I think does not translate to what the world thinks :)

Aug 22, 2010 at 2:59 AM

One other feature that would be beneficial is a list of 'available ISOs', i.e. discs that have been burnt to a file location that pcsx could scan for and recognise. Again, 2 options that are possible for recognition:

  1. Use .bin/.cue MD5SUM or hash recognition, as per info at http://redump.org/discs/system/psx/
  2. Ask user to rename the ISO to a specific naming convention

1. would be better, since it automates a lot of user action, but would require ripped ISOs to be in .bin/.cue format. Do people rip their PSX discs to this format?

Again, I'm looking for something enabling a 'double-click' from the front-screen, as per MAME front-ends, rather than "File"-->"Open Disc" and then navigating a file list. Having a list of 'available' PSX games in a list would also let us do things like associate screenshots, or game covers, alongside the disc, perhaps a 'cover flow' view, etc.

There've been a lot of improvements in the core emulation, but the UI is looking a little dated and minimal...

Aug 22, 2010 at 10:47 AM

gtk-based file select dialog is known for its suckiness and Dolphin-like menu would be really sweet. and with menu like that you may hapilly forget about "recent files" thingy.

 

auto-renaming would be nice by first thought but really all you can get from image is serial and region info.

title, year, etc. is still up to you to find manually and with Windows refusing to handle ":' and other characters from titles it doomed to be handicapped (can be replaced with "_" or "-", etc. with Windows).

PS rips can be in at least 3 different formats (iso, bin/cue, img/sub) not counting compression and stuff like ecm. and stuff like bin/cue can have slightly different internal structure (means also a different hash) but still be recognised and correctly working in emulator.

so,. hash recognision is no good. serial, on the other hand, can suffice... it's easy to get serial from image, right ? then we can get title, version, edition and languages info and do some renaming or at least show them nicely in the menu (with caching that queried data for local entries, of course).

and you can do additional query with hash if you want to make sure you get correct image from on-line, filling "status' field/indicator.

 

so, it not has to be only bin/cue. and i'm also hope pcsx-r devs will improve UI eventially and without falling into "rewriting frontends" haze like many other emulator devs do while forgetting about quality of actual emulation (there is still some freezing/crashing problems left).

Coordinator
Aug 23, 2010 at 7:44 AM
Edited Aug 23, 2010 at 7:47 AM

serial works for most of the games however there are some games which use PSX.EXE as filename of executable and without SYSTEM.CNF, and the serials are not obtainable from such games.

another idea may be using the hash of the main executable (pcsx2 uses such a method I think).

Aug 23, 2010 at 9:20 AM

Thanks wmz, I'd be more inclined to refer to the hash file of an 'official' dat file, but this does limit to .cue/.bin rips. Regarding the serial/main executable interrogation, is it possible to retrieve this without going via the plugin?

 

Coordinator
Aug 24, 2010 at 7:07 AM
Edited Aug 24, 2010 at 7:13 AM

it's possible however most of it would be duplicate stuff. the logic is basically in CheckCdrom() and LoadCdromFile() in misc.c.

still though, the gamelist would take too much time to complete (the one in redump.org only contains images' hash and does not contain the serial) and I doubt anyone has the time to do such a "boring" job :(

Aug 25, 2010 at 2:24 AM

I think from reviewing that code that if we preceded the check for each bin/iso file in a specified dir with calls to CheckCdrom then that would suffice, may be some additional code in misc.c that needs to be added to support it.

The gamelist is already available, at sonyindex.com; disc hash references are available at http://redump.org/discs/system/psx/. It would be relatively trivial to combine.

Aug 25, 2010 at 7:56 AM

if you up to it, please, don't forget img and others. and to check directory twice - for files with "right" extensions and mime-types as well (checking files by extensions is not quite "unix-style" and not goes well in Free environments. besides, there is stuff like mdf which is often just renamed iso).

it's better have horizontally unfilled table, with missing entries, than vertically, with missing games.