Oops, :D, I thought I'd mentioned it before, but yeah, I've ported snes9x-1.43 to the ps2. It's already compiled, but I've gotta implement the basic port functions, as well as things like graphics/sound/input. Then I just need to plug-in the file browser and create some custom menus.
I'd tried to port snes9x-1.51, but for some reason, libstdc++'s <string> library wasn't working correctly for me, and the updated internal input emulation is dependent on it. It compiled fine without the internal input functions though.
Just wanted to say THANKS!!!! for such a great emulator. You've already brought countless hours of joy to my house ;-)
On a side note, I also have the same bug as El Bombastico where the new version 0.9.3 does not work because I have a config file in the mc0:/FCEUMM/. When I remove the config file it runs (without my configuration of course). I've reverted to the older version for now.
I found a nice workaround with the bug... I copied the cnf file from my memcard back to my pc using ulanchelf.. Then created a new cnf file with the same parameters as the one I got from the memory card. FTP'ed the cnf file back to my memory card and viola no more black screen bug.....
I've changed the cnf startup code a bit, so hopefully, the bug is fixed. I'm not sure what was causing it, though. The only time I was getting a black screen was from crashing SMS's cdvd module, heh. It's been loading up my FCEUltra.cnf fine the last few times I've tested it, though. I should have the new version up in a day or two. I'll post a new example FCEUltra.cnf as well, for the new options.
I've retooled the CNF code a bit, again :D. Now, on startup, it will check for FCEUltra.cnf in hdd0:/+FCEUMM/ then mass:/FCEUMM/, and then mc0:/FCEUMM/. The SavePath option in FCEUltra.cnf is used only for game saves/gg.rom/disksys.rom. The device that the FCEUltra.cnf is found in will be used to save your configuration when you save it from the menu. I'll include default configuration files with the binary so people can copy the configuration files over to their device of choice or you can do it the other way. Which is to boot FCEUltra up, configure it as you want, save to mc0:/FCEUMM/, exit to ulaunchelf, cut/copy the configuration files to any of those paths I listed above, and then just start it up again. For the freezing bug, it might be happening because the cnf functions all use the old fio* version of the file functions, but I'm using the newer X modules, so there might be some weird incompatibility issue that is happening. I'll just replace them with their equivalent fileXio* functions.
Hi there ragnarok once again!
If there's anything that needed to be tested, just lemme know.
Currently I have a v10 PS2 with a 500gb hdd ready to go with ethernet connection with the pc, so testing isn't a issue. :)
:D, thanks, after I finish implementing the rest of the features, and fix a weird bug with the ingame menu continuously popping up from when I merged all the input functions into one source file, I'll start uploading binaries here for testing since my ps2 is unavailable pretty much most of the time I'm on the computer. The browser seems to still work fine when I've had a chance to test it on a real ps2 with a hdd, but that doesn't necessarily mean that it's working correctly for all instances, heh.
My ultimate plan, for the far future, is to separate FCEUltra from the browser code. You would boot the browser, you'd select a system/emulator, then select a game (or just select a game which would determine the emulator), then the browser would boot the emulator with the path of the game plus the path for where configurations are saved as arguments, and when you're done, the emulator would boot the browser back. This way there's no overhead from the browser when the emulator is running similar to uLaunchelf when it launches a program, heh.
What did you just say? Don’t write new apps, just write plug-ins for uLE?
Originally Posted by ragnarok2040
That just sounds sooo SEXY!
Sounds interesting, what is the latest functionnal release ?
bootsector's 0.90i release is the most functional, I think. The 0.9.3 release I made was real buggy since I'd just merged his code and my latest code then released it. I'd made a typo in the filelist code so the cd support doesn't work.
barf, heh, I'd suggested it before, actually, in the uLaunchelf thread that it could keep a list of file associations, similar to windows, so when a non-elf was executed, they could check the list for an associated elf on your system, then boot the elf with the file's path as an argument or have options for paths to a directory. They could export the jpg viewer and text editor to separate elf's that way. I might be missing something, though.
Here's a beta. I haven't tested any of the new partitioning or hard drive code, but it should work. I'm unsure about booting an elf from the hard drive. I think I might have messed up the screen settings somehow, from what I remember, when testing it last on my PS2.
- The emulator checks for hdd0:/+FCEUMM/, mass:/FCEUMM/, then mc0:/FCEUMM/ to load CNF files. If none are found, it will enable default settings, and set the CNF savepath to mc0:/FCEUMM/.
- The input configurations are loaded as input1.cnf and input2.cnf for each controller and the skin is loaded from skin.cnf. You can use ps2 button names as well as hex values for defining a config.
- The second controller settings for the emulator commands are disabled by default, only the nes pad buttons will work. If anyone wants I can disable this in the future. I haven't added in configuring input yet.
- The browser menu/various other things uses X to exit by default now, SwitchButtons will switch the X/O functions so X is for selecting things and O is for exiting things. The ingame menu still uses your defined JOY_Menu button/combo. to exit the menu. There's no option to modify this in FCEUltra so you'll have to set it manually.
- To import a save from somewhere, push square instead of X/O when selecting a rom. The browser window will show up again, just browse to your save and fceultra will load it.
- There's a new volume slider in the ingame menu for adjusting sound. It slides fast so be careful.
- The Savepath variable is only used for game saves, gg.rom, and disksys.rom now.
- Uses SMS's CDVD module now. If you want to load roms from a DVD Video disk, make sure it's in before you boot FCEUltra. I haven't had a chance to add in the changes I need to make for stopping the cd/dvd and checking for new media after it's booted, yet.
I've also reorganized the code quite a bit, as well. I've changed the sound loop from a for() loop to a while() loop, hopefully it's a bit faster. I've gotta look up how to buffer it, heh. I still haven't quite grasped the concept of digital sound samples and such.
# FCEULTRA.CNF == Configuration file for the emulator FCEUltra
# CNF Handling Code (c)2006 Ronald Andersson aka dlanor
OffsetX = 0
OffsetY = 0
ButtonSwitch = 0
Display = 0
Emulation = 0
Interlace = 0
Volume = 50
LowPass = 0
Turbo = 0
Savepath = mc0:/FCEUMM/
Elfpath = mc0:/BOOT/BOOT.ELF
# End-Of-File for FCEUltra.CNF
Note: You can still use the hex values to do button combinations.
You can put a background.jpg or menu.jpg into mc0:/FCEUMM/ if you have no skin.cnf to display them in the background of the gui.
JOY_Menu = TRIANGLE
JOY_SaveState = R2
JOY_LoadState = L2
JOY_FDS_DiskSwap = R3
JOY_FDS_SideSwap = L3
JOY_A = CROSS
JOY_B = SQUARE
JOY_Select = SELECT
JOY_Start = START
JOY_Up = UP
JOY_Down = DOWN
JOY_Left = LEFT
JOY_Right = RIGHT
I didn't run into that .cnf bug again but this new beta doesn't open mass: or the partitions in hdd0:. Trying to open hdd0:/_common/ for instance just displays the partition list again. Memory cards and CDs seem to work fine, though I don't have any roms on CD to test out.