don't click here

Gens/GS Release 7

Discussion in 'Engineering & Reverse Engineering' started by GerbilSoft, Nov 22, 2009.

  1. GerbilSoft

    GerbilSoft

    RickRotate'd. Administrator
    2,974
    87
    28
    USA
    rom-properties
    It's been almost a year since the last stable release of Gens/GS. (Milestone 6 was released December 7, 2008.) I was originally going to wait until the documentation for Release 7 was finished, but I decided that it was "good enough". So, here it is!

    Notable changes from r7_pre5 to r7 include an additional color mapping mode, "Full with S/H" (see the Genesis colors? topic for more information), a bug fix for broken Saitek drivers (thanks to NeKit), and a bug fix related to starting in fullscreen mode (thanks to Zombie). Also, I added an option to enable a debug console on the Win32 release build. To get it, specify the "--debug" parameter on the command line.

    [​IMG]

    Changes from m6 to r7: <a href="http://gs_server.gerbilsoft.ddns.info/cgi-bin/gitweb.cgi?p=gens.git;a=blob;f=NEWS.txt;hb=release-7" target="_blank">http://gs_server.gerbilsoft.ddns.info/cgi-...xt;hb=release-7</a>

    Downloads:
     
  2. MainMemory

    MainMemory

    Has-Been Modder Tech Member
    4,820
    412
    63
    Myself
    Awesome! Finally an emulator that matches S&KC's color mapping. I'm glad I brought it up. :)
     
  3. Overlord

    Overlord

    Now playable in Smash Bros Ultimate Moderator
    19,634
    1,145
    93
    Long-term happiness
    Ta very much, just updated my eee. Finally got my fucking wifi access point to behave this afternoon =P
     
  4. Spanner

    Spanner

    Zzz... Member
    3,384
    192
    43
    United Kingdom
    Falling asleep for once
    Great work, GerbilSoft! :thumbsup:
    Also, regardless if the manual is finished or not I got this, which really should be fixed to point to the doc\manual folder.
    [​IMG]
     
  5. GerbilSoft

    GerbilSoft

    RickRotate'd. Administrator
    2,974
    87
    28
    USA
    rom-properties
    Bah, I had it hard-coded to manual\index.html instead of doc\manual\index.html. For now, you can just move it out of the doc\ directory.
     
  6. GerbilSoft

    GerbilSoft

    RickRotate'd. Administrator
    2,974
    87
    28
    USA
    rom-properties
    Here's a preview of one of the new features coming in Gens/GS r7.1.

    [​IMG]

    The Windows version now supports Unicode. I'm implementing it using a custom translation layer that allows the same executable to be used on UTF-16 (Windows NT) and ANSI (Windows 9x) systems. Internally, the program keeps all strings in UTF-8. (The Linux version already supports Unicode, since Linux uses UTF-8.)

    What has been ported to Unicode:
    - Internal Windows: 90%. (9 out of 10 windows)
    - Common dialogs: 100%. (Open, Save, etc.)
    - fopen(): 100%. (This includes SegaCD firmware and ISO/MP3 support.)
    - GZip decompressor: 100%
    - LZMA SDK / 7z decompressor: 100%
    - ZIP decompressor: Archive filenames cannot be Unicode; filenames inside archives can.
    - RAR decompressor: Archive filenames cannot be Unicode; filenames inside archives have Unicode characters converted to "?", so there can be conflicts.
    - Shift-JIS ROM title decoding: 100%

    What hasn't been ported to Unicode yet:
    - Controller Confiuration window.
    - All plugins. (Only those with GUIs need to be ported.)
    - gens_popen() (Used by the RAR decompressor.)

    Incidentally, the Shift-JIS ROM title decoder is already available in the Linux version of Gens/GS, since the Linux version uses UTF-8; however, it has a bug that may result in the decoded title not being null-terminated, which can lead to garbage showing up in the title bar. <a href="http://gs_server.gerbilsoft.ddns.info/cgi-bin/gitweb.cgi?p=gens.git;a=commitdiff;h=8d02f280c5607cba80e05b3a5e6d1d0356a11c91;hp=9490a30cbfc4f4b959d2dc01f5f6fb723d6eec96" target="_blank">Here's the fix. (source code patch)</a>

    EDIT: No, Gens/GS does not emulate the Mega Anser hardware. The ROM will show the title screen and run a demo if the extra hardware isn't detected. I used the Mega Anser ROM because it has a Shift-JIS ROM title.
     
  7. Overlord

    Overlord

    Now playable in Smash Bros Ultimate Moderator
    19,634
    1,145
    93
    Long-term happiness
    Nice stuff to see for those .jp titles. :)
     
  8. GerbilSoft

    GerbilSoft

    RickRotate'd. Administrator
    2,974
    87
    28
    USA
    rom-properties
    I've finished adding Unicode support for RAR archives. Unfortunately, rar.exe doesn't support Unicode filenames properly, so I had to rewrite it to use UnRAR.dll instead. It's no big loss, though. I will include UnRAR.dll in future releases of Gens/GS.

    The Linux version still uses the Linux `rar` program, since the Linux version supports UTF-8 correctly.
     
  9. Vague Rant

    Vague Rant

    Deceptively cute Oldbie
    Superficial though it may be (is), this colour scaling mode is the clincher for me, making Gens/GS my full-time Gen/MD emulator. It looks great, and feels to me the most accurate. Being quite lazy, I also appreciate the Debian packages.

    Also, I'm aware that you have plans for SMS/GG emulation at some point, but was more curious about Pico support. Just out of interest I've tried booting a few Pico images and they seem to run pretty well (minus the stylus support); is this something deliberate on your part, or just the result of the similarity between Pico and Gen/MD allowing the games to run as Genesis images? Either way, do you have plans to further Pico support?
     
  10. GerbilSoft

    GerbilSoft

    RickRotate'd. Administrator
    2,974
    87
    28
    USA
    rom-properties
    The Pico is essentially a Genesis with custom input hardware. I may add more Pico support later on, but it isn't a high priority right now.
     
  11. SegaLoco

    SegaLoco

    W)(at did you say? Banned
    Well, I noticed this a while back, but I think it has worsened. If you uncheck stereo on audio, on linux it locks up gnome altogether, and I haven't tried it on Windows.
     
  12. Tets

    Tets

    one rude dude Oldbie
    924
    103
    43
    I forgot to report something similar happened to me a few days ago. I don't remember exactly what I did, but I was fucking around with the sound settings and everything came to a stop. I was able to switch to another terminal but was unable to kill Gens from there. I wasn't sure what else I could do, so I just shut down from the terminal. At that point I decided I was done with my computer for the night and completely forgot about it until now.

    I'll try to reproduce the bug later tonight, thought I'm not sure what more I can add.
     
  13. SegaLoco

    SegaLoco

    W)(at did you say? Banned
    By another terminal, do you mean a window or one of the CTRL+ALT+Fx terminals. With me all of GNOME locked up, and I had to /etc/init.d/gdm restart to fix.
     
  14. GerbilSoft

    GerbilSoft

    RickRotate'd. Administrator
    2,974
    87
    28
    USA
    rom-properties
    Mono audio is broken in Gens/GS Linux. I'm not sure why. I tried debugging it, but everything I did resulted in failure. Maybe I should just permanently enable Stereo on the Linux version. (The same thing happened in the old Gens/Linux.)

    Tets: You probably unchecked the Stereo option, leading to the above shenanigans.
     
  15. Tweaker

    Tweaker

    Banned
    12,387
    3
    0
    I just wanted to chime in—this just happened to me a few minutes ago as well. It sort of turns gray and then everything becomes unresponsive, right? Apparently it has something to do with PulseAudio, but I have no idea.
     
  16. SegaLoco

    SegaLoco

    W)(at did you say? Banned
    I vote for remove the checkbox. That is an evil little bug if it locks up all of GNOME. What happens on non-gtk desktops like KDE?
     
  17. Puto

    Puto

    Shin'ichi Kudō, detective. Tech Member
    2,013
    0
    16
    Portugal, Oeiras
    Part of Team Megamix, but haven't done any actual work in ages.
    Doesn't that violate the GPL?
     
  18. Spanner

    Spanner

    Zzz... Member
    3,384
    192
    43
    United Kingdom
    Falling asleep for once
    Gens violates the GPL anyway due to Starscream IIRC.
     
  19. GerbilSoft

    GerbilSoft

    RickRotate'd. Administrator
    2,974
    87
    28
    USA
    rom-properties
    Technically no, since UnRAR.dll could be replaced with an open-source version that uses the same interface. (It's runtime linked, not compile-time linked.) Using the rar binary on Linux is also okay, since that doesn't link anything at all. :P

    With regards to Starscream, it will be replaced in an upcoming version.

    For the PulseAudio issues, I'm going to set up an Ubuntu 9.10 installation on another system I have to try and debug it. PulseAudio in general is annoying, but Gens/GS shouldn't lock up the whole system if there's a problem.

    In other news, Unicode support for Win32 is essentially done. I've merged the win32-unicode branch to master. :)
     
  20. SegaLoco

    SegaLoco

    W)(at did you say? Banned
    Would it be too much work to port audio over to alsa or oss, or is pulseaudio not the same concept?