Post by Gamesoul Master on Aug 13, 2006 0:33:38 GMT -5
Apparently, instead of the function being smart, it defaults to the WINDOWS directory instead of the current directory. Damn windows functions... lol.
Edit: How did I not see that last post of yours, pSX Author? It's all good... it just took me a bunch of time to figure it out. I knew I should've looked to see if this conversation went onto a second page. Thanks again (even if I didn't see your last tip for it to help me XD)
Post by Gamesoul Master on Aug 13, 2006 1:52:33 GMT -5
Yeah, I figured...
Well, I've now majorly revised my code with your suggestions, and it seems to work like a charm now. With that out of the way, I will now concentrate on adding a few more things. Any suggestions, anybody?
zexr0, it just shows a DOS window where you type a couple of numbers to select options. It's very possible that Gamesoul Master will develop this into a version with a GUI, lots of options and the entire cast of West Side Story in the background, but as yet - I'm sure you've seen a DOS window before...
Will try the new version in a little while, GM. Why don't you try it if you really want to see what it looks like, zexr0? Just be sure to back up your .ini file first; it has been a little cranky - but restoring your original .ini file will correct any mishaps that may occur.
I notice you haven't implemented pSX Author's default value suggestion yet; I put in a BIOS I don't have, and it just wrote that to the .ini file and couldn't find it.
It occurs to me that one way it could be useful in its present form would be just to set the BIOS and not the optional -r switch (which, I presume, means it then has to run the emulator itself), and then have it run a shortcut with the desired configuration settings rather than the emulator itself - that's until you produce the all-singing, all-dancing version! ;P
Post by Gamesoul Master on Aug 13, 2006 15:16:53 GMT -5
patrickp: The default value isn't for if it can't find the BIOS file, but rather if a value is somehow unable to be written to the .ini file. Having it default to a certain BIOS in the event that the one you choose doesn't exist in your directory is actually something completely different, will require a lot more work, but *is* something that I plan to eventually include in the code. As for your request, that will also be possible, although the first rough version of that may require you to type the name of your shortcut. Odds are, when I implement the GUI, I'll be actually porting the code over to Java (most of the code is compatible, so it should be easy), because I'm not very good at writing a GUI in C++, but I wrote a whole bunch of custom classes in Java for creating a GUI very easily (since when I learned Java, a GUI was one of the most emphasized points, so I had to make them all the time). Thanks again for your quick reply. You have been most helpful.
In general, there won't be any more problems with it writing bad values to the .ini file, because due to the direction that pSX Author pointed me in (which was much appreciated), the individual values in the .ini file are being handled separately and directly.
ZeXr0: Thanks for the suggestions. When I get the GUI running, I will do my best to implement all those features.
At this point, it's purely a frontend for the commandline (meaning all the commandline options are available for modification with this frontend), and it does not bother reading or modifying psx.ini. I could see it expanding to become a more full-fledged frontend that allows for profiles, but that's just a guess at the moment, as I didn't bother attempting file reading/writing (looked easy enough when I read the documentation -- there is a facility for reading/writing ini files). Enjoy
Before anyone asks, I'll think about releasing the source code (it's not much anyway, but meh).
@gamesoul Master: If you'd like me to post in my own thread, don't hesitate to ask, I just didn't feel like starting a new thread needlesly when there was already an existing thread for a frontend.
Post by Gamesoul Master on Aug 14, 2006 1:25:16 GMT -5
Oh, no... it's cool. I'll actually rename this thread to indicate more than one frontends. I downloaded your frontend and I like the features involved, but there were a few problems trying to run it. As a note, I ran it in the same directory as the emulator, and I use all the default directories.
- It wouldn't accept the memory cards I set it to read, and actually created one on its own in the same directory (I use spaces in my filenames, and it created a memory card named "RPG" with no extension, when the memory card I told it to read was "RPG 1 (Final Fantasy).mcd"), which I take to mean it doesn't like spaces at all. - It must *somehow* modify the .ini file, because with perfectly working settings in the .ini (with my bios set to "bios\scph101.bin", which I do have in that directory), the frontend removes the directory from the .ini file (leaving "scph101.bin"), and so the emulator can't find the bios anymore (the dialog that pops up starts from the root directory of my main hard drive, and if I try again it happens again, but sets the start directory to the directory with my CD images).
I'd test the other features, but it needs to get past loading the bios first. Otherwise, I like the frontend.
Oh, and I guess I should add that if anybody *really* wants my source code for some reason, I'll probably be willing to release it. I guess I'll decide on that if/when somebody asks for it...
I'd briefly thought about putting together a front end, but it looks like you guys have it covered. No need for a grumpy old man (4k of RAM should be enough for ANYONE!) like me to stick his neck out any more than he has to. ;P
On a more realistic note, I've been neglecting a game project I'm supposed to be assisting a newcomer to game development on (classic overhead shooter crossing Gradius and the manic stylings of CAVE), so I would only take on a front end if it looked like there wasn't going to be anything good around. So, you guys have it covered just fine!
Edit: Got jumped by a fairly large spider, so I lost my train of thought. Let me fix this....
Last Edit: Aug 14, 2006 6:07:39 GMT -5 by Firehawke
@gamesoul Master: Oddness, I'm 100% sure I don't touch psx.ini -- nowhere near that. As for the memory card issue... I'm not sure, as it seemed to work for me (I put quotations around the memory card path when it is added to the commandline switch just to be sure of that). I'll do some more tests.
Edit: Whoops, forgot to specify the working directory, which pSX needs since it uses relative paths based on the working directory... That explains the BIOS issue... maybe the memory card issue as well
Post by Gamesoul Master on Aug 14, 2006 7:56:18 GMT -5
Putting quotes around the memory card pathname did nothing for me. In addition, I noticed that at some point that I didn't notice, the path for my memory card file was changed in the .ini file to the full pathname, and it used the new memory card that the frontend had created. I'm pretty sure pSX *never* sets an absolute pathname for its files unless it can't set a relative pathname (which in this case, it could've... hence, it'd have to be the frontend doing it).
Edit: Just caught your edit. Once you fix it, compile, and re-upload it, let me know so I can take another crack at it.
Also, I just created the Java-equivalent code for the functions pSX Author gave me (there is no built-in equivalent in Java for simply modifying keys in an .ini file, and it took me forever to find a function to find the current directory... it was a lot harder to find than it should've been... XD). So... I should have a GUI version of my frontend ready by sometime today. Keep an eye out
I had meant that it automatically places quotes around the path in case there are spaces, not that you should add it
Edit: The memory card still doesnt load, but it never has given the same problem that you described above (not accepting spaces). I tried loading pSX from commandline manually with the memory card switch and a full path, and to be honest, it just doesn't work. Only paths without quotes (and consequently, paths without spaces) work, and to me, that's almost a bug =T Unworking: psxfin -a1,"C:\Documents and Settings\<username>\Desktop\memcard2.bin" Working: psxfin -a1,C:\memcard2.binI should probably put a feature request up
On a somewhat-unrelated note, I sorta busted my code up (-a1 is slot 2, not slot 1), but it still doesn't explain why it didn't work
I think I'm going to hold off on the memory card feature (disable it from working for the time being). Will upload the updated (albeit with broken features) one in a bit.