Announcement

Collapse
No announcement yet.

Play SegaCD and Genesis classics on PS2

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Play SegaCD and Genesis classics on PS2

    By GaryOPA

    Want to play some SegaCD and Genesis classics on PS2?

    Those of you who have followed the PSP scene in the past might remember this project from a few years back.
    This port that's up for download below is based off version 1.35b


    SP193, the same wonderful old-school scene developer that bought us an updated FCMB finally for the PS3, has done another amazing feat, he has ported over an older PicoDrive from the PSP scene over to enjoy our SegaCD and Genesis retro games on our PlayStation 2 console.

    Sadly this is one of his last projects for 2013, and he hopes to connect with other developers or some will pick up this project and finish porting over the more recent version of PicoDrive for better game compatibility. - Enjoy!

    This is a port of PicoDrive v1.35b for the PlayStation 2 console. Although another Megadrive emulator called PGEN does exist, I never remembered that it was able to run games like Sonic 3 at full 60 FPS.

    I figured that anything good enough for the PSP would be also good enough for the PlayStation 2... especially since its EE (The "main" CPU) is a 64-bit MIPS with some 128-bit instructions. And so I ported PicoDrive v1.35b over from the PSP to the PlayStation 2.

    Why port v1.35b? Why not the new v1.85 which was released recently long ago by Notaz himself? It's because the PSP port within it appears to be dysfunctional and outdated. I wanted to have something that already works to work on, so that I would have a higher chance to succeed at porting. Even if the port was successfully made without the missing assembly stub (The C alternative could be used instead), it won't be as fast as a fully working copy of v1.35b.

    What can I expect from this port?
    • The basic functionality from PicoDrive v1.35b in general (game compatibility rates, SEGA Megadrive and MegaCD support etc.)
    • Two-player support (Multitaps are not supported).
    • Support for the HDD unit, USB mass storage devices and the memory card.
    • Hardware bilinear filtering support, and support for progressive scanning.
    • Support for the L3 and R3 buttons, as well as the analog sticks (Press the MODE button to enable/disable this functionality).

    Notes/known issues:
    • Changing some settings (or just toggling some options in the options menu) seems to occasionally cause MegaCD games (or whatever that is MegaCD that is running) to freeze up. Reloading (as in, selecting the ROM/ISO again instead of just selecting the "reset" option). It might be a problem with the emulator itself, although it's also nearly equally likely that some buffer somewhere is getting overrun.
    • The progressive scanning option will not be saved. This is a deliberate limitation, since the PlayStation 2 has no built-in recovery mode in the event that the user enables progressive scanning but the connected display does not support progressive scanning (The Sony TRC forbids game developers from storing the HD mode settings too).
    • The screen in progressive scanning mode (480P) seems to be cut off at the sides on my TV... but I'm not sure why (hence I can't fix it).
    • The emulator must be placed in either a memory card or a USB mass storage device, for saving to work. Getting full support for the HDD unit is a challenge because the UI wasn't designed to deal with filesystem mounting. Such a modification would be intrusive (requires modification of the common code files).
    • For the skin to be loaded properly, the emulator must be stored on a memory card. The USB drivers may take a while to detect the USB device, and hence the USB device cannot be accessed during the emulator's startup process. The reason why this hasn't been worked around is the same as in #4: The menu wasn't designed for that purpose.
    • Due to #5, the emulator's required folders may not be created when the emulator is started up. If they don't exist, the emulator will be unable to save. A workaround would be to manually create the "brm", "cfg", "mds" and "srm" folders within the folder that the emulator is stored in (Hence why storing the emulator on a memory card is currently the best thing to do!).
    • Due to #5 and #4, the emulator's configuration may not be loaded at startup if the device cannot be accessed.

    Anything under "Future enhancements" isn't going to be done by me for v1.35b because I feel that it's not going to be productive. I hope that somebody will pick up this project though, since this may be one of my last projects for 2013. It's also been really time consuming, since I take about a week at least, for each one of these projects.

    Future enhancements:
    • Port PicoDrive v1.85 over, although the assembly memory module stubs need to be written from scratch.
    • Connect with Notaz and get the PlayStation 2 port of v1.85 integrated with his repository (So that it'll automatically receive updates whenever PicoDrive gets updated).
    • Probably fix up the text color code within menu.c. It currently works because the default colors are black (for the background) and white (for the text). The alpha bit (Bit 15) is set accordingly because black is 0x0000 (transparent) and white is 0xFFFF (Opaque). Since they are at the extreme ends of the color values, the fact that the GS doesn't use R5G6B5 (It uses A1B5G5R5, where A1 at 1=opaque) isn't apparent.
    • Optimize the assembly stubs (and certain parts of the platform code) for the EE's 64-bit architecture (and take advantage of its 128-bit instructions too).

    Prerequisites for compiling the PlayStation 2 port's source code (Please use their latest available versions!):
    • libmad and its dependencies.
    • libpng and its dependencies.
    • gsKit and its dependencies.
    • The homebrew PS2SDK.

    Note: Do NOT give game compatibility reports because this is based on an obsolete version of PicoDrive, and I am the wrong person to ask to get games working anyway (I have very little knowledge on how these SEGA consoles work).

    For more info check out the links below:

    DOWNLOAD: 130914picodrive-ps2-135b-100_bin.7z (via) SCMODS

    OFFICIAL SITE: PicoDrive (by) SP193

    NEWS SOURCE: PicoDrive for PS2: A New Megadrive Emulator (via) DashHacks
    Last edited by dlevere; 09-19-2013, 04:42:18 PM.
    The Hackmaster

  • #2
    OFFICIAL FORUM
    PicoDrive for PS2: A New Megadrive Emulator (via) PSX Scene
    Last edited by lee4; 09-20-2013, 11:03:12 AM.
    lee4 Does Not Accept Codes Requests !
    When lee4 asks a question it does not mean lee4 will look at your game
    *How to create and use SegaCD codes >click here<*
    >)

    Comment


    • #3
      NEW

      PicoDrive v1.51b for PS2 (via) PSX Scene
      lee4 Does Not Accept Codes Requests !
      When lee4 asks a question it does not mean lee4 will look at your game
      *How to create and use SegaCD codes >click here<*
      >)

      Comment


      • #4
        PicoDrive for the PlayStation 2 v1.51b r1.12

        Changelog for v1.12:

        1. Compiled this port with a fixed up PS2SDK (Refer to the PS2SDK updates made today).
        2. Game-specific configuration file saving has been fixed in #1.
        3. Fixed the saving of the VSYNC mode setting (Appears to be a bug in PicoDrive v1.51 actually).
        4. Fixed the directory scanning function of the main menu to be compatible with USBHDFSD (Root directory doesn't have the CWD entry, so the code must not assume that it'll be the first entry of a directory list).
        5. Fixed the directory traversal code to be compatible with PFS (The PFS module doesn't allow directory listing if the directory's name isn't succeeded by a slash character).
        6. Added letterboxing for the badly aligned 480P screen (So that the 640x480 screen will get displayed nicely in 720x480).
        7. The emulator will now assume that the ROMs are located on the same device that its stored on.
        8. HDD support has been revamped: It's now supported only under #5 (if the emulator is stored on the same partition as the ROMs), and will only work properly if the launcher passes the path to the emulator properly. As usual, launching the emulator off a partition on the HDD with uLaunchELF will not be supported. FHDB, on the other hand, is fine.
        9. Fixed the deletion of the temporary configuration files and the creation of the dumps folder (Only used for debugging).
        10. Updated the combo detection code of the emulator to identify that the left thumbstick can't be used in a button combination (Fixes the inability to use the left thumbstick in place of the D-pad).

        Downloads/links and for more information:
        PicoDrive for the PlayStation 2 (project homepage)

        Source:http://psx-scene.com/forums/f19/pico...ml#post1087575
        Last edited by lee4; 09-23-2013, 11:52:28 PM.
        lee4 Does Not Accept Codes Requests !
        When lee4 asks a question it does not mean lee4 will look at your game
        *How to create and use SegaCD codes >click here<*
        >)

        Comment

        Working...
        X