Sponsored Links

Sponsored Links

Page 20 of 69 FirstFirst ... 10181920212230 ... LastLast
Results 191 to 200 of 687



  1. #191
    Contributor gripped's Avatar
    Join Date
    Dec 2005
    Posts
    3
    Sponsored Links
    Sponsored Links
    Hi,

    Thanks for the initial port eiz and thanks for the updates squarepusher. I'd already had a tiny fiddle with the code to allow the sfc extention and to set the basedir to the actual dir I have them in on the internal drive.

    Would it be possible to add an alphabetic sort to the rom menu. Well beyond my C++ abilities (I've never actually coded in C or C++, just minor ammendmants to source)

    Also I've added Select to R1 and R2, to exit to the rom menu. I've hit them both by accident once, while doing well on Super Mario Karts. Maybe others could benefit if you include that or similar in your updates ?

  2. #192
    Senior Member squarepusher2's Avatar
    Join Date
    Sep 2010
    Posts
    157
    Sponsored Links
    Sponsored Links
    The sfc extension was the very first 'change' I made in my builds.

    Basedir should be configurable really - so we don't have to traverse all the way from the root of the filesystem to the actual dir where we have the ROMs normally stored. On my system, they're stored on the internal HDD (hdd0).
    Would it be possible to add an alphabetic sort to the rom menu. Well beyond my C++ abilities (I've never actually coded in C or C++, just minor ammendmants to source)
    This has actually been bugging the hell out of me as well. The problem is that cellFsGetDirectoryEntries() (the function that is part of the SDK that allows you to get all the files from a directory) does not automatically sort alphabetically - it seems to basically get them in sequence according to the way they are stored on the filesystem. So, we will need to manually sort the character array that gets all the filenames inside the directory. Something tells me a lot of these niggles were addressed in a later PS3 SDK version - so seems we need to hack up a lot of workarounds around this stuff.

    If you notice, I believe even the latest version of Compgenie's Awesome File Manager also has this problem - the files are not alphabetically sorted, because he basically did a call to cellFsGetDirectoryEntries() and left it at there without going the extra mile and sorting them as well.

    qsort didn't seem to do what I desired it to do - perhaps I will hack up a quick and dirty sorting function, but I was basically hoping I could use something that is already a built-in function/library and performs fast as well.
    Also I've added Select to R1 and R2, to exit to the rom menu. I've hit them both by accident once, while doing well on Super Mario Karts. Maybe others could benefit if you include that or similar in your updates ?
    I'm not sure whether I like this button combination. Might make it in the future so that you can manually select a Quit ROM button combination.

    In the meantime, just edit the source on an individual basis.

    EDIT: Well, scratch that - it's cellFsOpendir and cellFsReaddir that SNES9x uses at the moment, not cellFsGetDirectoryEntries. Anyway, the problem is basically the same - these function calls don't fetch the files in an alphabetical fashion.
    Last edited by squarepusher2; 09-26-2010 at 02:57 PM Reason: Automerged Doublepost

  3. #193
    Contributor limnique's Avatar
    Join Date
    Jun 2006
    Posts
    59
    Sponsored Links
    Sponsored Links
    Here very nice ICON0.PNG for the emu.
    Attached Thumbnails<br><br> Attached Thumbnails

    icon0i.png  

  4. #194
    Registered User Curse's Avatar
    Join Date
    Sep 2010
    Posts
    1
    Created another idea for an ICON0.PNG
    Attached Thumbnails<br><br> Attached Thumbnails

    ICON0_1.PNG  

  5. #195
    Contributor gripped's Avatar
    Join Date
    Dec 2005
    Posts
    3
    Quote Originally Posted by squarepusher2 View Post
    qsort didn't seem to do what I desired it to do - perhaps I will hack up a quick and dirty sorting function, but I was basically hoping I could use something that is already a built-in function/library and performs fast as well.
    That's sort (no pun intended) of what I'd been looking at, I thought I could just lift an example from the net and try and 'hack' it into the code. Sorting the string array.

    Then I realised that to be worthwhile it needs to be a case insensitive sort. That's when I decided to give up as someone cleverer than me would probably have implemented it before I got it working !

    To get the PS3 to return a sorted list would of course be better.

  6. #196
    Senior Member squarepusher2's Avatar
    Join Date
    Sep 2010
    Posts
    157
    Perhaps byuu might want to respond to this even though SNES9x is not his emulator and he would very much prefer we just port bSNES already and get it over with - still, I think it's important to get both emulators working up to snuff.

    Ever since I applied bearoso's APU and timing patches (to get the sound working scratch-free - it was really bad in the first release because the initial porter - eisz - was using the stock SNES9x 1.52 which apparently had all sorts of bugs with the implementation of the new APU), people have noticed that PAL games seem to no longer output correctly.

    I thought I could get rid of this problem by setting the PS3's videomode to a PAL resolution (576p) and set the framerate to 50Hz (basically the only option here - unlike NTSC where I can choose between 59.54Hz and 60Hz, there's only 50Hz for 576p).

    I tried that, and what I got instead was some very strange 'ghosting' effect - it's not slowdown, the framerate counter remains at a rock-solid 50/50fps - but it looks bad nonetheless.

    I've tried the setting 'Setting.ForcePAL = true' when I go into PAL mode - didn't really make any difference.

    Here are the options I'm using (for PAL - 720x576 @ 50Hz progressive):


    [Register or Login to view code]

    These were the patches I applied from snes9x-gtk about four days ago (these were all sound APU/timing related - I needed to apply these to the stock SNES9x source code or else the sound would still have been awful to this day):

    [Register or Login to view code]

    So, can I put this down as a SNES9x bug, or should I still screw around/twiddle with various functions?

    Did some speed tests on 960x1080 @ 59.94Hz (this is a resolution supported by the PS3 which is upscaled to 1080p).

    One other thing you will notice when using this mode - the Vsync is absolutely perfect - even better than in 480p mode.

    It seems performance was previously bad in these hi-res modes because we were not using the proper refresh rate - 59.94Hz.

    I'm not going to release a new build with this change for the following reason - reasons being:

    1 - The menu at the moment is VERY, VERY SMALL (like miniature). Perhaps look at libfont, because this kind of raw text output just won't scale - at all.
    2 - While it outputs at 1080p, it's still not fullscreen anyway, and is still quite small - therefore, yeah it looks a lot smarter, and the VSync is even better, but it currently won't get you much.
    3 - it's best to stay at 480p for the while - while we try to get the video looking properly (goal is to get it fullscreen at 480p first, then other modes - I have to learn more about libgcm first) First get 480p mode looking properly, then offer a HD mode.

    SNES9x PS3 - 960x1080 @ 59.94Hz (drawing resolution - 960x1080 - output resolution by PS3 - 1920x1080)
    Normal games (without special chips) - probably around 95% of all games: 60fps constant. Perfect
    Cx4 games (Mega Man X2/Mega Man X3): 60fps constant. Perfect
    SDD-1 games (Star Ocean): 60fps constant. Perfect.
    DSP-1 games (Super Mario Kart): 60fps constant. Perfect.
    SuperFX-2 / Yoshi's Island: Very frequent and irritating sound pops and slowdown. Snes9x's FPS counter says it stays at 60fps, but you will see otherwise.
    SuperFX-1 / Star Fox: Heavy sound pops and what appears to be slodown, yet FPS counter stays at 60fps.
    SA-1 / Super Mario RPG: Minor sound pops.
    Seiken Densetsu 3: This one is interesting in that it switches between 256x224 (normal in-game mode) and 512x448 (for whenever there is text displayed, and on menu screens). The lo-res mode runs perfectly at 60fps -it's when it switches to hi-res mode (512x448) that you can hear a slight audio pop - it can be irritating in the long run.
    Secret of Mana/Seiken Densetsu 2: This did the same trick as described above - however, it's less abundant in its use of the hi-res mode - it only uses hi-res mode (512x448) for special menu screens that you access from the ring menu. Lo-res mode is pretty much 60fps all the way. Some slight audio pops when text displays - probably not much of an issue.

    Note for those who don't know: SA-1, SuperFX, SDD-1 and Cx4 were all special chips that were inserted into specific game cartridges to do things that would have otherwise been impossible to do on the SNES. SA-1 alone is clocked at 10MHz or so (the SNES' CPU by comparison is 3.58MHz if memory serves correctly) - SuperFX 2 runs at 21MHz - this explains why these games take a speed hit compared to normal games.

    IF YOU WANT TO TRY THIS OUT

    STEP 1: Download my latest build, unzip the source, open cell.cpp and change this line:

    [Register or Login to view code]

    To:

    [Register or Login to view code]

    Alternatively, you could replace 'CELL_VIDEO_OUT_RESOLUTION_480 with one of the following (these are all supported PS3 resolutions):

    CELL_VIDEO_OUT_RESOLUTION_1080 (drawing/output resolution: 1920x1080)
    CELL_VIDEO_OUT_RESOLUTION_720 (drawing/output resolution: 1280x720)
    CELL_VIDEO_OUT_RESOLUTION_576 (drawing/output resolution: 720x576 / PAL)
    CELL_VIDEO_OUT_RESOLUTION_1600x1080 (drawing res: 1600x1080, output resolution: 1920x1080)
    CELL_VIDEO_OUT_RESOLUTION_1440x1080 (drawing res: 1440x1080, output resolution: 1920x1080)
    CELL_VIDEO_OUT_RESOLUTION_1280x1080 (drawing res: 1280x1080, output resolution: 1920x1080)
    CELL_VIDEO_OUT_RESOLUTION_960x1080 (drawing res: 960x1080, output resolution: 1920x1080)

    STEP 2 Start up an SFO editor, edit the PARAM.SFO in the sourcefolder/pkg directory, and tick the 1080p box (or 720p if you want to try a 720p mode). Save and exit the SFO editor.
    STEP 3: Recompile and create package with the SDK.

    In folder, do:

    [Register or Login to view code]

    Last edited by squarepusher2; 09-26-2010 at 08:45 PM Reason: Automerged Doublepost

  7. #197
    Contributor hungryduck's Avatar
    Join Date
    Sep 2010
    Posts
    7
    I noticed some framerate dips when playing Yoshi's Island. Can this be fixed?

  8. #198
    Senior Member squarepusher2's Avatar
    Join Date
    Sep 2010
    Posts
    157
    Quote Originally Posted by hungryduck View Post
    I noticed some framerate dips when playing Yoshi's Island. Can this be fixed?
    At 480p mode? Which level?

    I'm already aware of level 1-7 when you touch one of those swirlies that makes Yoshi run around like he's on LSD - that slows down massively - but the funny thing is that Snes9x's FPS counter stays put at 60/60fps, so could be emulator-related.

    Not sure though.

    Copy and paste from another forum: I will respond to dlanor's post some more later today, and he is of course totally right that it is an embarrassing leak. There are a couple of things about the way Snes9x deinitializes itself that are not entirely clear to me and the Porting document doesn't exactly address - I'll go over these issues later, as it's close to bedtime over where I live.

    Basically, I tried to resolve this issue by doing some Snes9x callbacks after exiting the ROM, but this did not solve the problem.

    [Register or Login to view code]

    This is the function that gets called when SNES9x is about to be started:

    [Register or Login to view code]

    My main sources of information on Snes9x are these two documents:

    [Register or Login to view links]

    [Register or Login to view links]

    Interesting to note BTW is that (if you remove the ugly hack that makes it quit after having loaded the fourth ROM) if you load the fifth ROM and you have set Settings.DisplayFrameRate to TRUE, you will see the FPS display counter but it will lock up after that - so it gets to the emulator, it even does the S9xDeinitUpdate apparently, but it locks up after that.

    Any ideas on how to debug this stuff properly given that we lack the Debugging Station?

    I would like to state upfront that I am not the master programmer that guys like dlanor and byuu is. Writing something like bSNES or Open PS2 Loader is beyond my skills to be honest. All of my cumulative efforts has simply been in the spirit of being a proactive user that happens to take the effort to delve headfirst into something that might be beyond his capabilities. So far, the emulator has been progressing well, so forgive the really sloppy code and the really ugly hacks so far.

    Snes9x Build 4.3.1 (With source)

    [Register or Login to view code]

    In any case, PAL ROMs still display wrong. More and more I'm starting to think this is a SNES9x issue since this only started occurring after I did the APU patches from snes9x-gtk (which were absolutely necessary as the sound was totally distorted and crackled in the first few releases, which was stock SNES9x 1.52).

    Anyway, the latest build is a bit bigger in that I was forced to basically make two packages - one for 480p and one for 720p. I will have to do more research in how I can manually define resolutions without PARAM.SFO dictating which resolution should be the most ideal for me. For instance, if 720p/1080p is ticked and if I were to initialize a CellVideoOutState with resolution CELL_VIDEO_OUT_RESOLUTION_480, it would not switch the resolution back to 480p. I have found some SDK samples that might go some way towards demystifying this for me, but at the moment I had to resort to creating two separate PARAM.SFOs for both 480p and 720p.

    All of this of course stems from my relative ignorance of the SDK at the moment and the fact that there is no real solid documentation besides the CHM that comes packaged with the 'leaked' SDK (the only other place that served as a developer venue, scedev.net, is locked down entirely - developers probably receive SSL certificates to visit certain login pages, because you don't even get to the SSL login page basically). Similarly, there's like zero libgcm documentation out on the Internet.

    Anyway, in terms of functionality, I tested 720p mode and the results were much more favorable compared to 960x1080 upscaled to 1080p.

    SNES9x PS3 - 1280x720 @ 59.94Hz (drawing/output resolution - 1280x720 )
    Normal games (without special chips) - probably around 95% of all games: 60fps constant. Perfect
    Cx4 games (Mega Man X2/Mega Man X3): 60fps constant. Perfect
    SDD-1 games (Star Ocean): 60fps constant. Perfect.
    DSP-1 games (Super Mario Kart): 60fps constant. Perfect.
    SuperFX-2 / Yoshi's Island: A lot better than 960x1080, but still some frequent and irritating sound pops and slowdown. Snes9x's FPS counter says it stays at 60fps, but you will see otherwise.

    Something strikes me the reason why SuperFX games seem to suffer in terms of performance on PPC is because on x86 systems there is the option to compile Snes9x with a SuperFX assembler core that was (if I read correctly) written by zsKnight (zsNES).
    SuperFX-1 / Star Fox: Heavy sound pops and what appears to be slodown, yet FPS counter stays at 60fps. It's still laggy at 480p mode.
    SA-1 / Super Mario RPG: 60fps constant (only played brief intro sequence with Bowser - might have to test further, but looks good so far.
    Seiken Densetsu 3: 60fps constant
    Secret of Mana/Seiken Densetsu 2: 60fps constant.

    Anyway, there is a lot still left to be done. At the moment, the screen is basically taken raw from Snes9x's GFX.Screen memory buffer - using libgcm, there should be some method to resize it (but haven't found anything so far). Perhaps a solution would be to go with PSGL (which is OpenGL ES built on top of libgcm, so really an abstraction layer) - since libGCM is really low-level and might be too esoteric at the moment.

    Another problem I have been experiencing is with Seiken Densetsu 2/Secret of Mana and Seiken Densetsu 3. This problem is by far more serious with Seiken Densetsu 3 - what it does is switch to 512x448 (hi-res interlaced mode) whenever it renders text to the screen or whenever it enters a menu. At the moment, 512x448 screens are not aligned well with the way 256x224 are normally aligned on the screen, so what happens is that this screen gets rendered ontop of the 256x224 screen, then instead of 'blanking' the previous frame, it simply stays there (sometimes blinking) until the next time it renders a 512x448 screen.

    Obviously, the solution to that would be to do a blanking of the screen as soon as it's rendered and output - Snes9x has a callback called ContinueUpdate, which is specifically intended for these high-res screens (512x448). There is also another callback, called DeinitUpdate, that gets called whenever a 256x224 screen has been stored in GFX.Screen and can be outputted to the screen. Any ideas there? I haven't really seen any implementations from other Snes9x ports dealing with this specific issue - perhaps take another look at the snes9x-gtk source?
    Attached Files Attached Files
    Last edited by squarepusher2; 09-27-2010 at 02:50 AM Reason: Automerged Doublepost

  9. #199
    Contributor hungryduck's Avatar
    Join Date
    Sep 2010
    Posts
    7
    First started noticing it in the 3rd level when you're in that cave. When there is a lot of action on screen it slows down. I think I remember experiencing the same issue on my desktop. I suppose it's a general snes9x problem. Perhaps once bsnes is ported it will do better?

  10. #200
    Contributor smotheredhope's Avatar
    Join Date
    Oct 2009
    Posts
    13
    You are the man squarepusher2 the 720p version is nice. Thanks for you work on the emulator. I do have a question. I have my ps3 hooked up through HDMI to my 7.2 receiver and I only get sound out of my left speaker. I know Snes didn't have surround sound or anything but is it outputting as mono instead of stereo?

 
Sponsored Links

Page 20 of 69 FirstFirst ... 10181920212230 ... LastLast
Advertising - Affiliates - Contact Us - PS3 Downloads - PS3 Forums - Privacy Statement - Site Rules - Top - © 2015 PlayStation 3 News