don't click here

Gens/GS Milestone 6

Discussion in 'Engineering & Reverse Engineering' started by GerbilSoft, Aug 24, 2008.

  1. Miles Prower

    Miles Prower

    Renard Oldbie
    698
    0
    16
    Thanks a lot for your work on Gens/GS. Feels a lot better than the regular version, and works better too!

    I'm planning on installing it on my PS3 too, unsure of the distro yet (probably either YDL6.1 or Xubuntu). Have you already tried compiling Gens/GS on a PowerPC architecture?
     
  2. GerbilSoft

    GerbilSoft

    RickRotate'd. Administrator
    2,972
    85
    28
    USA
    rom-properties
    Thanks. Unfortunately, Gens/GS as it is right now is guaranteed to not work on PowerPC, since several components are written using x86 assembly language. This includes the 68000, Z80, and SH2 emulators, as well as the VDP emulation code.

    I'm working on porting it over, one step at a time. The first step is to get Z80 emulation ported to C, since the Z80 is the easiest CPU to emulate. This is why I requested an MD port of ZEXALL (see this), so I can make sure that I'm not screwing anything up.
     
  3. Miles Prower

    Miles Prower

    Renard Oldbie
    698
    0
    16
    Thanks for the answer. Basically, only the GTK interface could work so far on a PPC it seems. :P


    I'm sorry I do not have the skills at all to help you with the task, I'd gladly contribute otherwise. There might be however a little piece of software that could interest you, providing you with some (open) source code that might help in the process: XE is another emulator that supports various machines, including the Genesis/Megadrive. A friend of mine told me he succesfully compiled it on YDL6.0 on his Playstation3. Which probably means that the emulation is already fully written in C in XE - unsure of the quality of it though.


    Good luck!
     
  4. Tets

    Tets

    one rude dude Oldbie
    918
    96
    28
    I finally discovered what was actually causing the "close rom" menu item and keyboard shortcut to remain disabled for me. As it turns out, that option simply isn't enabled if you drag and drop a rom on the Gens-GS window instead of loading it from the file menu. It never occurred to me before, as I normally just use whichever one is faster and don't think about it.

    This is in m6, running on Windows XP.
     
  5. GerbilSoft

    GerbilSoft

    RickRotate'd. Administrator
    2,972
    85
    28
    USA
    rom-properties
    I probably forgot to include a call to the menu sync function when dragging & dropping the ROM image. I'll check that later today.

    EDIT: Fixed. (local commit d71ad50e5c5948c2c9c0bff9a200b68c4e641bac)
     
  6. GerbilSoft

    GerbilSoft

    RickRotate'd. Administrator
    2,972
    85
    28
    USA
    rom-properties
  7. Overlord

    Overlord

    Now playable in Smash Bros Ultimate Moderator
    19,528
    1,113
    93
    Long-term happiness
    w00, thanks for not being a git about it. ;P

    I may be able to make some use of this later.
     
  8. AamirM

    AamirM

    Tech Member
    IIRC, Stef (author of original Gens) also made a Z80 emulator in C. I think it was called CZ80 or something. So you may want to look at that.
     
  9. GerbilSoft

    GerbilSoft

    RickRotate'd. Administrator
    2,972
    85
    28
    USA
    rom-properties
    I checked it out. It looks like a straight port of the asm version, though with a few minor changes. I'm designing mdZ80 to have a better structure, so it will be easier to maintain.
     
  10. Spanner

    Spanner

    I used to do things... Member
    3,367
    183
    43
    United Kingdom
    I wish I knew...
    I don't know if this has been reported but I'm getting a DirectDraw error when starting Gens/GS in Windows 2000.
    Code (Text):
    1. Error with IpDD>CreateSurface()![IpDDS_Back]
     
  11. GerbilSoft

    GerbilSoft

    RickRotate'd. Administrator
    2,972
    85
    28
    USA
    rom-properties
    That usually happens if you don't have the proper video drivers, are out of video RAM, or if you're using VirtualBox. (VMware/Win2000 works correctly.)
     
  12. GerbilSoft

    GerbilSoft

    RickRotate'd. Administrator
    2,972
    85
    28
    USA
    rom-properties
    I added a new Controller Configuration dialog for the next release.

    Old one (as seen in m6):
    [​IMG]

    New one:
    [​IMG]

    The new one lets you see what the current configuration is before reconfiguring. It also lets you reconfigure it one button at a time, and restrict input to a specific input device.

    Edit: I originally intended for the "Input Device" dropdown to let you limit devices for changing the key configuration, but now I think that might be unnecessary and confusing, since it only affects new configurations, not existing ones. However, listing the available input devices is still useful, so I'll probably change it to a listbox and move it underneath the controller ports.
     
  13. Overlord

    Overlord

    Now playable in Smash Bros Ultimate Moderator
    19,528
    1,113
    93
    Long-term happiness
    Any particular reason the hex equivalents of the keys are there, or is it just to scare people/show off? =P
     
  14. GerbilSoft

    GerbilSoft

    RickRotate'd. Administrator
    2,972
    85
    28
    USA
    rom-properties
    It's useful for debugging. :( I guess I could enable/disable it based on the —enable-debug configure flag, but for now it's always enabled.
     
  15. Overlord

    Overlord

    Now playable in Smash Bros Ultimate Moderator
    19,528
    1,113
    93
    Long-term happiness
    It'll probably be for the best if you do. Those who will care about them have source access if they need it, and those who don't will only think either "wtf are these" or "OMG WHAT DID I BREAK".
     
  16. GerbilSoft

    GerbilSoft

    RickRotate'd. Administrator
    2,972
    85
    28
    USA
    rom-properties
    Another update to the Controller Configuration window:

    [​IMG]

    I added two new buttons: "Change All Buttons", which lets you change all buttons at once (kind of like how it worked before); and "Clear All Buttons", which clears the configuration for the current controller. Clearing the buttons is useful for disabling the second player. (I may add an option to "unplug" a controller later, but that requires low-level code changes.)
     
  17. GerbilSoft

    GerbilSoft

    RickRotate'd. Administrator
    2,972
    85
    28
    USA
    rom-properties
    Yet another new random thing I added to Gens/GS for Release 7:

    [​IMG] [​IMG]

    Basically, it's a plugin that implements the functionality found in LOst's "sGens" version of Gens. It currently works best with Sonic 1 and Sonic 2. Sonic 3 and S&K do work, but some values aren't read properly. Also, the "Zone" and "Act" labels were never updated in sGens, so those don't work in the Sonic Gens plugin yet.
     
  18. Max Firestorm

    Max Firestorm

    Pyrodramatic Member
    Ooooh... I like it. I've not seen this feature before (Mainly because I religiously stick to Gens+ >.>; )

    Time to download this methinks.
     
  19. GerbilSoft

    GerbilSoft

    RickRotate'd. Administrator
    2,972
    85
    28
    USA
    rom-properties
    Miscellaneous update: The VRAM overwrite bug has been fixed. Zero-length DMA requests now correctly corrupt VRAM.

    I added a configuration option to re-enable zero-length DMA requests (hence disabling this bugfix), but specifically added no GUI for it, since the VRAM corruption is how the real hardware behaves. Some older Sonic hacks may need the option, though.
     
  20. Revival

    Revival

    The AppleTalk Network System Member
    200
    0
    16
    I just thought I'd post what I've done.

    For those of you who use FreeBSD here, I'm sure it's a few (I just became part of that group), I managed to patch the source code and have succesfully compiled it for FreeBSD. Download at http://rapidshare.de/files/45860613/gens.tar.gz.html