Git Product home page Git Product logo

snes9x's Introduction

Snes9x

Snes9x - Portable Super Nintendo Entertainment System (TM) emulator

This is the official source code repository for the Snes9x project.

Please check the Wiki for additional information.

Nightly builds

Download nightly builds from continuous integration:

snes9x

OS status
Windows Status
Linux (GTK) Status
Linux (X11) Status
FreeBSD (X11) Status
macOS Status

libretro core

OS status
Linux/amd64 Status
Linux/i386 Status
Linux/armhf Status
Linux/armv7-neon-hf Status
Linux/arm64 Status
Android/arm Status
Android/arm64 Status
Emscripten Status
macOS/amd64 Status
Nintendo Wii Status
Nintendo Switch Status
Nintendo GameCube Status
PSP Status

snes9x's People

Contributors

adventureoflink avatar alcaro avatar andres-asm avatar bearoso avatar bl0ckeduser avatar bonimy avatar claudiuslollarius avatar dwedit avatar gocha avatar greg-kennedy avatar hg avatar inactive123 avatar jdgleaver avatar jotarandom avatar jraby avatar jste0 avatar loganmc10 avatar luigiblood avatar megari avatar michaelbuckley avatar nebuleon avatar orsi avatar ov2 avatar pstef avatar qwertymodo avatar remicalixte avatar stanleykid-22 avatar taimoorgit avatar tmkk avatar yoffy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

snes9x's Issues

Attempt to unlock mutex that was not locked

Hi,

I'm using Slackware 14.1 x86_64 and it comes with glib2-2.36.4 which works fine for snes9x.

But I recently upgraded glib2 to this version, glib2-2.42.2, and I then noticed that snes9x did not want to start, it would give me this message at startup;

>$snes9x
Sound buffer size: 4096 (1024 samples)
ALSA sound driver initializing...
    --> (Device: default)...OK
    --> (16-bit, Stereo, 32000hz, 32 ms)...OK
Attempt to unlock mutex that was not locked
zsh: abort      snes9x

Can we please get a patch for snes9x to work with newer glib2

thank you

snes9x fails to build with recent zlib

Recent (1.2.6) zlib stopped defining OF macro (as it was likely pointless for the last decade).
Due to the nature of this macro the best fix will be either adding '#define OF(x) x' in a few files or simply removing all the instances of this macro from the sources (a bit more work, but in the end much cleaner).

Integration of SwitchRes for CRT users

Hi guys,

I'd love to see [url=http://sourceforge.net/projects/genresmame/]SwitchRes[/url] being implemented inside snes9x so CRT (15khz) users like me could play each game at its exact original resolution and have automatic switching on-the-fly (for example 240p to 480i in game switch).

Thank you for taking this in consideration and no matter what's your answer, I wish you the best with your project!

Win32/Win64: Crash on startup on multi monitor setup

Snes9x crashes when you have more than one monitor configured. It even crashes if you only have the 2. monitor enabled. It works if you just mirror the output of the 1. monitor to the 2. monitor.

I used the snes9x-1.53-win32.zip and snes9x-1.53-win32-x64.zip builds from here:
http://www.s9x-w32.de/dl/

Whether or not I used the Cg DLLs didn't change anything.

SA-1 - Scanline issue with Kirby's Dreamland 3 - slower speed with Jikkyou Oshaberi Parodius - new core

Hi there,

I just tried the new core in SNES9x PS3 and would like to report on the following issues -

1 - A user recently pointed out that some of the graphics in Kirby's Dreamland 3 are being outputted incorrectly. He says that with SNES9x PS3, he gets an ugly scanline rasterizer effect whenever a transparent background layer needs to be rendered. This is most noticeable in level 1-4. It also affects the water.

He said that he had none such issues with SNES9x 1.52 on PC (Windows). I tried out SNES9x-gtk, which is based on a fairly recent SNES9x revision, and noticed that this same issue he thought apparently wasn't in SNES9x 1.52 PC was also affecting the current S9x-GTK release.

I made a forum post about this along with some screenshots so you can see what I'm talking about:

http://psx-scene.com/forums/690368-post922.html

This is what it normally should look like:

http://www.mobygames.com/game/snes/kirbys-dreamland-3/screenshots/gameShotId,27791/

Perhaps an SA-1 regression happened somewhere inbetween the official release of 1.52 and the numerous updates?

  1. I know that it is not SNES9x core's job to cater to specific hardware architectures, but since moving to this core update trunk I have noticed a vast decrease in fps in certain SA-1 games such as Jikkyou Oshaberi Parodius.

Pre-core update, I could run Jikkyou Oshaberi Parodius (at the character select screen) at 64fps unthrottled - now it's 52fps.

This is a pretty big drop in FPS - if there were some noticeable improvements in SA-1 emulation to be noticed (not saying there aren't - just that they are not noticeable to a normal end-user), I could perhaps see the need for it. However, since some SA-1 games still apparently output the graphics wrongly - I'm unsure if I should commit the newest SNES9x update to my PS3 port trunk.

As it is, it feels more like a regression rather than a step forwards. I could be wrong about this - however, ever since some of the SA-1 updates, games like Primal Rage have stopped working altogether - so perhaps there are some regressions here and there that went unnoticed that might be affecting other non-SA1 games too.

I can pretty much confirm that the rest of the games were not affected in terms of performance on the PS3. For instance - Star Fox 2 and Vortex are known to be the only games on SNES9x PS3 that don't run at fullspeed. At the Nintendo intro sequence (Star Fox 2), Star Fox 2 used to drop to 53/52fps. Now it drops to 51fps - we're talking perhaps a negligible 1fps drop - certainly not on the level of dropping from 64fps to 52fps in Parodius. So, a game that literally kills the PS3 PPU normally (as in - not running at 60fps constantly) can still run more or less the same whereas a game that used to run above 60fps now drops all the way down to 52fps.

I'm just posting this in the interest of seeing if some of these issues can be resolved.

MSU-1 support

How difficult would it be to add support for the MSU-1?

on exit snes9x let keyboard without repeater, even if set or not in config file

as title: on exit snes9x let keyboard without repeater, even if set or not in config file

seem that when user hit "ESC" (configured by default for exit of emulator), emulator still let some things not "resolved" je je..

how to reproduce

  1. login on a non standar desktop, such as openbox-session, lxqt, moonlight or lxde
  2. open a terminal
  3. launch snes9x with game
  4. in opened emulation, hit ESC
  5. in terminal hit a key, key are not repeated!!!!

if again , but in step 4 change to terminal and hit CRTL+C , emulators close, interups and repeater of keyboard still works as spected!

incompatibility for YOSHI'S ISLAND in 1.5+ series

i have a yewel, a YOSHI'S ISLAND rom image (I have heard that few have it)

snes9x 1.5+ dont support it!!! this its due removed deprecated SuperFX emulation in 1.43 release??

hey? there's many roms (of course Japanesse) that use it the SuperFX chip!!

Reading config file /etc/snes9x/snes9x.conf.
Sound buffer size: 8192 (2048 samples)
fragment size: 472
Port 1: Pad #1. Port 2: Pad #2. 
No ROM file header found.
Map_SuperFXLoROMMap
"YOSHI'S ISLAND" [checksum ok] LoROM, 16Mbits, ROM+RAM+BAT+Super FX, PAL, SRAM:256Kbits, ID:YI  , CRC32:7BDC6A78

No Player2 input detected (libretro)

SNES9X unable to detect Player 2 Input. Multiple cores come back operating fine, including 9xNext, but not SNES9X. Not even working in the most recent builds.

Tons of GTK errors on Debian

So I've tried to compile the latest commit ( 951a383 ) on Debian with GTK3, and everything went fine compile-wise, except when I try to run the emulator:

$ snes9x-gtk 

(snes9x-gtk:8486): GLib-GObject-WARNING **: The property GtkAlignment:top-padding is deprecated and shouldn't be used anymore. It will be removed in a future version.

(snes9x-gtk:8486): GLib-GObject-WARNING **: The property GtkImage:stock is deprecated and shouldn't be used anymore. It will be removed in a future version.

(snes9x-gtk:8486): GLib-GObject-WARNING **: The property GtkMisc:xpad is deprecated and shouldn't be used anymore. It will be removed in a future version.

(snes9x-gtk:8486): GLib-GObject-WARNING **: The property GtkMisc:ypad is deprecated and shouldn't be used anymore. It will be removed in a future version.

(snes9x-gtk:8486): GLib-GObject-WARNING **: The property GtkContainer:resize-mode is deprecated and shouldn't be used anymore. It will be removed in a future version.

(snes9x-gtk:8486): GLib-GObject-WARNING **: The property GtkButton:use-stock is deprecated and shouldn't be used anymore. It will be removed in a future version.

(snes9x-gtk:8486): GLib-GObject-WARNING **: The property GtkSettings:gtk-button-images is deprecated and shouldn't be used anymore. It will be removed in a future version.
Fontconfig error: "/home/andoru/.config/fontconfig/fonts.conf", line 38: junk after document element
Fontconfig error: "~/.fonts.conf", line 38: junk after document element

(snes9x-gtk:8486): GLib-GObject-WARNING **: The property GtkImageMenuItem:image is deprecated and shouldn't be used anymore. It will be removed in a future version.

(snes9x-gtk:8486): GLib-GObject-WARNING **: The property GtkSettings:gtk-menu-images is deprecated and shouldn't be used anymore. It will be removed in a future version.

(snes9x-gtk:8486): Gtk-CRITICAL **: gtk_widget_set_double_buffered: assertion 'GTK_IS_WIDGET (widget)' failed

(snes9x-gtk:8486): Gtk-CRITICAL **: gtk_widget_realize: assertion 'GTK_IS_WIDGET (widget)' failed

(snes9x-gtk:8486): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(snes9x-gtk:8486): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

(snes9x-gtk:8486): Gtk-CRITICAL **: gtk_widget_get_display: assertion 'GTK_IS_WIDGET (widget)' failed

(snes9x-gtk:8486): Gdk-CRITICAL **: gdk_x11_display_get_xdisplay: assertion 'GDK_IS_DISPLAY (display)' failed

(snes9x-gtk:8486): Gtk-CRITICAL **: gtk_widget_realize: assertion 'GTK_IS_WIDGET (widget)' failed

(snes9x-gtk:8486): Gtk-CRITICAL **: gtk_widget_get_display: assertion 'GTK_IS_WIDGET (widget)' failed

(snes9x-gtk:8486): Gdk-CRITICAL **: gdk_x11_display_get_xdisplay: assertion 'GDK_IS_DISPLAY (display)' failed

(snes9x-gtk:8486): Gtk-CRITICAL **: gtk_widget_get_screen: assertion 'GTK_IS_WIDGET (widget)' failed

(snes9x-gtk:8486): Gdk-CRITICAL **: gdk_screen_get_root_window: assertion 'GDK_IS_SCREEN (screen)' failed
Segmentation fault

Here's config.log

I'm currently using Debian Sid

Windows: Audio Device is not selectable

If you have several audio devices you cannot select the one you want to use for playback. I haven't found a way in Windows to redirect the output of a process to a device. It seems like the program itself has to provide such functionality.

I guess the same is true for Linux (even though there should be some way to redirect the output of a process via PulseAudio, even though I haven't found a GUI app to do this).

Stretching of filters is broken

In comparision to other emulators, such as VisualBoy Advance GX, the way filters are applied does not produce expected behavior. While the behavior is more obvious to spot on filters such as the dotmatrix filter, the issue is present with other filters such as the super eagle.
http://i.imgur.com/C3oSg.jpg (dotmatrix, no stretch)
http://i.imgur.com/z9J3N.jpg (dotmatrix, stretched)
On filters such as 2xsai or Blargs RGB, the issue result in some sort of color outwashing, but its a lot harder to spot.

[Question] How contributr to translating??

So that...
I want contribute to translating the GUI to another language

so you have transifex, or any fancy mathematical place for that or like the old way of clone and pull??

100% CPU usage when paused on Snes9x Linux GTK+ port v.82

I'm using Lubuntu 11.10 x86-64, Nvidia binary driver v304, Snes9x 1.53 GTK+ version 82 (the most recent available in the bearoso PPA).

When the sync to vertical blank option is not enabled, Snes9x uses 100% CPU time when emulation is paused, or when e.g. the preferences or Open ROM Image window is open.

Also, I'm not sure whether this is related but there's a significant difference in CPU usage in-game when sync to vertical blank is off vs on: on ~17%, off ~30%.

Patched rom doesn't run

So, I've tried to run a patched version of Super Puyo Puyo Tsu (patch here: http://romhacking.net/translations/465/), with the distinct patch in the patch folder, by patching the rom directly with LunarIPS, and by downloading an already-patched rom, but none of these work. When I boot the FPS counter turns to yellow, and I'm left with a black screen and with 30-40% CPU usage (which is typical for normal usage). I remember that with the previous versions of Snes9x (stable) I was able to run the same patched rom...

Here's what I get as ROM info:

Information for ./Super Puyo Puyo 2 (J) [T-Eng].smc

Name: _____________
Speed: 30/FastROM
Map: LoROM
Type: 00
Contents: ROM
ROM Size: 16Mbits
Calculated Size: 16
SRAM Size: 0Kbits
Header Checksum: 903A
Checksum Compliment: 6FC5
Actual Checksum: 20A2
Video: NTSC 60Hz
CRC32: 12B3F36A
Revision: 1.0

This ROM has been modified or damaged

The unpatched version runs well:

./Super Puyo Puyo 2 (J).sfc

Name: _____________
Speed: 30/FastROM
Map: LoROM
Type: 00
Contents: ROM
ROM Size: 16Mbits
Calculated Size: 16
SRAM Size: 0Kbits
Header Checksum: 903A
Checksum Compliment: 6FC5
Actual Checksum: 903A
Video: NTSC 60Hz
CRC32: 271E1F3F
Revision: 1.0

Mac: Build Issues

I'm getting quite a few compilation warnings and errors when compiling snes9x on OS X 10.6.8. The majority of problems seem to stem from the /apu directory. Here's a link to the compilation output: http://pastebin.com/ZJCY29JE

One thing that fixed the majority of issues was to apu/apu.cpp:185 to:

#include "bapu/snes/snes.hpp"

I'm not sure about the others. Adding the /apu/bapu directory to the project didn't seem to fix the missing file issues, but someone more knowledgeable than I should be able to figure out what's going on.

revert extensive usage of cairo software rasterization, causes problems due XV exclusivelly due mem shared access

performance of software rasterization for emulation decreases in some machines..

now requerimients are higher, 800MHz CPU are not enought due commit a37db4c

this commit makes very slowly the gtk emulation when selectin "none" in output rasterization.. and if user select XV then there are problems due exclusive usage of...

version 1.52 perfectly runs in "none" either "xv" if no opengl support are present.
version 1.53 or git lasted are very slower in "none", and dont work in "XV" for some cases

computers with no opengl support and multiple usages of XV video or lacks of them, are not able to use with good performance...

there's two solutions:

  1. revert extensive usage of cairo software rasterization
  2. autodetect free port on XV layering of X11 subssystem (more complicated)

there's a important case of study:

and example, if user has a VIA unichrome, INTEL i815/845/920, Voodoo+kernel3.5, 3DFX agp, Nvidia NV50 TI 500 (my case) or SiS 630/730/330 chroma GPU, not has support of OpenGL, so falback to XV (except for voodo and 3dfx) ..
but if user has some settings on screen (brigth r saturation) throught XV, snes9x can able to run (black screen in output)
in worsk of cases, 3dfx or voodoo users can use snes9x due extensive usage of libs for that (cairo) in rasterization

Esc Key can't be used to closed the menu bar when "Pause when Inactive" is disabled and "Enable Background Input" is enabled

I'm using the 6-26-2014 64-bit testbuild. You can't close it regardless of whether Snes9x is in focus or not. Also, could we specify whether we only want background controller input to be enabled, or only background hotkey input, or both?

Operating System
Windows 7 Ultimate 64-bit SP1
CPU
Intel Core i5 4670K @ 3.40GHz 44 °C
Haswell 22nm Technology
RAM
8.00GB Single-Channel DDR3 @ 800MHz (9-9-9-24)
Motherboard
MSI Z87-GD65 GAMING (MS-7845) (SOCKET 0) 32 °C
Graphics
VX229 (1920x1080@60Hz)
DELL SE178WFP (1440x900@60Hz)
2047MB NVIDIA GeForce GTX 770 (MSI) 29 °C
Storage
238GB Crucial_ CT256MX100SSD1 SCSI Disk Device (SSD) 21 °C
931GB Western Digital WDC WD10EZEX-60M2NA0 SCSI Disk Device (SATA) 26 °C
Optical Drives
ASUS DRW-24B1ST i SCSI CdRom Device
Audio
Realtek High Definition Audio

Possible license violation:

https://itunes.apple.com/app/id982939500

This guy is selling Snes9x, GenplusGX and other emulators plus some indie ("homebrew") games on the Apple store. It is said to be RetroArch iOS with Snes9x, GenplusGX and other cores. I believe Snes9x and Genplus GX have non-commercial clauses preventing their use in commercial products correct?

The Content Dispute Form is here:

http://www.apple.com/legal/internet-services/itunes/appstorenotices/

Also posted:
libretro#12
libretro/Genesis-Plus-GX#22

GTK+ "use overscanned height" option problems

This applies to the GTK+ port of Snes9x.

When the "use overscanned height" option is enabled, window sizes set using the View->Change Size menu are not increased accordingly. So the SNES display is squashed vertically, and in particular the "Exact Pixels" window sizes are not exact.

Example games which use the full 240 lines: Tetris & Dr. Mario (NTSC and PAL), Super Mario All-Stars (PAL). There are likely to be a larger proportion of PAL games which use 240 lines, since all 240 lines are visible on every PAL TV.

Suggested fix: when the user enables use overscanned height, increase the height of the window if one of the pre-defined sizes was selected. Or, when the user selects one of the pre-defined window sizes, set the window height according to whether "use overscanned height" is enabled.

The next problem relates to the "Correct Aspect" window size options. Currently this scales the 256x224 image area to a 4:3 aspect ratio (so the 256 horizontal pixels occupy 298+2/3 output pixels). That's not actually correct; it's about 2% too wide (see below). [The Windows version of Snes9x seems to scale to 299 pixels horizontally when outputting in 4:3, so that inaccuracy may apply to all ports.]

And because of the above problem, if use overscanned height is enabled, the 256x240 image is scaled to a 4:3 aspect ratio, which is even more incorrect. :)

The canonical NTSC SNES pixel aspect ratio is 8:7. That means, on a correctly-adjusted 4:3 display, the picture aspect ratio of the 256x224 image area is 64:49 (about 1.306 : 1), not 4:3. And the picture aspect ratio of the 256x240 image area is 16:15 x 8:7 = 128:105 (about 1.219 : 1).

To match the 8:7 pixel aspect ratio, the 256 horizontal pixels should be scaled to 256*8/7 = 292+4/7 output pixels. I think bsnes/higan gets that right.

Of course if the user wants to output square pixels, the 256x224 picture aspect is 256:224 = 8:7, and the 256x240 picture aspect is 256:240 = 16:15.

Here's a possible fix (not tested at all). In gtk_display.cpp there is

double
S9xGetAspect (void)
{
    if (gui_config->aspect_ratio)
        return (4.0 / 3.0);
    else
        return (8.0 / 7.0);
}

You could try changing that to:

double
S9xGetAspect (void)
{
    double square_pixel_picture_aspect = (256.0 / (gui_config->overscan ? 240.0 : 224.0);
    if (gui_config->aspect_ratio)
        return (square_pixel_picture_aspect * (8.0 / 7.0));
    else
        return square_pixel_picture_aspect;
}

About READ_WORD

READ_WORD is defined as a macro in port.h and returns an int16 from any pointer and, depending on the endianness, swap or not bytes.

First off, I'd like to say that playing with pointer arithmetic is fun but may backfire (and error-prone).
Let the compiler optimize your code and focus on logic, if you want to control everything, then write assembly.
Then, you should know that gcc complains [-Wstrict-aliasing] and it's right.
So I replaced READ_WORD with a real function using what the standard allows (a union) and it works fine.
But in gfx.cpp, READ_WORD is used with an uint16 as input and the result is stored in uint32.
I can of course overload the method but I wonder if using READ_WORD this way was intended.
So before sending my patches (or upload my snes9x branch to my account and ask a merge), I wanted to know your opinion on it.

If you want more info about strict aliasing, see the excellent http://cellperformance.beyond3d.com/articles/2006/06/understanding-strict-aliasing.html

Robocop 3 doesn't work

Hi there,

a user of SNES9x PS3 commented that this game didn't work. I checked it against the PC version (1.52), and it didn't work on that one either.

Robocop 3 (either NTSC or PAL ROM) will get as far as the title screen that prompts you to 'Press Start to Play' - however, when you press Start, it will just show a black screen and will not continue from that point on.

I've tried (one by one) the following timing settings with the ROM - none of them work:

  • Timings.APUSpeedup = 1
  • Timings.APUAllowTimeOverflow = TRUE
  • Timings.APUSpeedUp;

I added the ROM description name to the if conditional expressions in memmap.cpp to try to get it to work - it didn't work unfortunately.

Bottom image area is not cleared on 239 to 224 line mode change

This applies to the GTK port of Snes9x when the use overscanned height option is enabled.

I noticed a small problem when changing from 239-line to 224-line mode. The bottom lines (corresponding to the 225th to 239th lines) are not cleared; the old image remains. Even if you reset the emulated console, the old image data is still there.

This arose from a post on the nesdev forum: http://forums.nesdev.com/viewtopic.php?t=11138

User ARM9 created a small test ROM:
https://dl.dropboxusercontent.com/u/13494639/overscan.sfc

Run that. When you press and hold B the output is in 239-line mode. Release B and the output reverts to 224-line mode. But the bottom part of the image is not cleared to black.

Missing libraries to build snes9x-gtk

When attempting to build snes9x-gtk with default configuration (no option provided to configure) the build fails due to the following missing libraries: libX11, libdl, libXext.

Moreover, it is not possible to add them by setting LIBS when calling configure because the value is overriden by OpenGL libs (the simple patch below fixes this).

diff --git a/gtk/configure.ac b/gtk/configure.ac
index c03db53..77339b4 100644
--- a/gtk/configure.ac
+++ b/gtk/configure.ac
@@ -186,7 +186,7 @@ if test yes = "$with_opengl" ; then
     AC_CHECK_LIB(GL,glGetString,[
         OPENGL=yes
         CFLAGS="$CFLAGS -DUSE_OPENGL"
-        LIBS="-lGL"
+        LIBS="$LIBS -lGL"
     ],[
         OPENGL=0
     ])

Directional problems in some GAMEPAD

Hello. Well I have a problem about GAMEPAD HALION (HA2020 PUP), since in digital mode only works the up, down, left and right, however the vectors does not work when a fighting game is played as if STREET FIGHTER (and others) when I want my character jump to the vector position does not just jump up.

In contrast to analog mode, if it comes to fruition. The question is, because I will not be nearly incompatible directions in some GAMEPAD ?. Is there any way to fix it ?.

Note: The keyboard is operating correctly. And in my setup if it works correctly in other emulators and PC games.

game-pad-ha2020-pup-plata

Sorry my bad English!!

broken NON-SSE2 CPUs compatibility

since: 7aafcd0

Snes9x crashes at start in PCs with NON-SSE2 CPUs such as: AMD Athlon XP or AMD Sempron (Socket A CPUs).

probably adding <EnableEnhancedInstructionSet>NoExtensions</EnableEnhancedInstructionSet> can solve the issue.

Snes9x Compatibility List

This has already been on the libretro wiki for quite some time, but I think it might be a good idea to post it here too:

A.S.P. Air Strike Patrol:
The shadow under the aircraft is missing.

Hayazashi Nidan Morita Shougi 2:
Matches won’t start.

Mecarobot Golf:
The ground “wobbles” during gameplay. Flickering graphics.

Top Gear
Missing pixel garbage under the speed display. See #308

Fixed Issues:

Cho Aniki Bakuretsu Ranto-hen
Won't boot. fixed as of 099bd60

Circuit USA
Broken graphics. fixed as of c226228

Clayfighter
The clownface turns blue when it should stay white.. fixed as of 1ca15b4

Daffy Duck: The Marvin Missions
Random screen flickering. fixed as of 2142282

Dark Law
Garbage audio. Softlocks randomly. fixed as of fe60472

Doom:
Colored dots appear during gameplay. fixed as of 4345c20

Funaki Masakatsu Hybrid Wrestler – Tougi Denshou:
Corrupted graphics on the Pancrase logo screen. fixed as of 9b595b5

Joe and Mac 2
Often freezes when exiting a level on a dinosaur.
#660

JoJo no Kimyou na Bouken
Garbage characters show up during the intro fixed as of c96f6cd

Kat's Run - Zen-Nihon K-Car Senshuken
Graphical corruption during the gameplay demo. fixed as of d1b90dd

Kick Off
Garbage graphics fixed as of c96f6cd

Light Fantasy
Game doesn't save properly. fixed as of e4d08bb

M.A.C.S. Basic Rifle Marksmanship
Flickering graphics. fixed as of f139bf7

Marko's Magic Football
Crashes during the intro fixed as of 756ef37

Phalanx
Randomly freezes on the main menu. fixed as of d1b90dd

PowerFest 94 - Super Mario Kart
Won't boot. fixed as of 1c46c7a

Psycho Dream
Blank screen when starting a game.. fixed as of e3216ec

Secret of Evermore (PAL versions):
Randomly freezes when the background music changes. fixed. See https://board.byuu.org/viewtopic.php?f=8&t=2065

Speedy Gonzales: Los Gatos Bandidos:
Freezes when pressing a switch in the last level. fixed as of 3553650

Stunt Race FX
Garbage graphics on the course selection screen. fixed as of 044113b

SuperFX
Transparency issues. See: #289 fixed as of bd9db57

Super Punch-Out!!
Crashes during the Mad Clown fight. fixed as of 070d5e5

Super Pinball - Behind the Mask
Black screen after selecting a table. Heavy audio screeching. fixed as of fe60472

Kaillera For The Online ?

Why dont integrate kaillera client ? pleas is better for netplay ! :D (im french sorry for my bad english)

[FIX] access to all 8MB of a 64Mbit ROM

"This program is an unofficial build of Snes9x, which fixes Snes9x's implementation of the SA-1's bank switch registers to honor bit 7 (previously it would act as though the bit was always on). This means that by placing the values 4,5,6,7 in $2220-$2223, you can access all 8MB of a 64Mbit ROM at the same time without any further bank switching required.

This build also restores the ExLoROM map to 64Mbits, as it appears to have been accidently reduced to 48Mbits in the current 1.5x series of Snes9x."

http://fusoya.eludevisibility.org/emulator/index.html

P.S. I'm not the author.
P.S.S. The ZIP file contains the changed source files and compiled version.

GTK+ port has resize grip in lower right of window, overlapping SNES display

I'm using Lubuntu 11.10. There is a "resize grip" image at the lower right of the Snes9x emulation window which overlaps the SNES display. That's kind of annoying.

A quick google brought up that you can do

gtk_window_set_has_resize_grip(window, false);

to tell GTK+ not to render a resize grip in the window. It would be good if that call could be added to Snes9x.

Update unix port

Is it possible to update these files?

unix/config.guess
unix/config.sub

I'm creating the package for debian, lintian complain about them.

They are at /usr/share/misc/, is it possible to copy from there when configure?

Thanks.

snes9x-gtk appears to throw GTK3 errors on Ubuntu Vivid

$ ./snes9x-gtk --help

(snes9x-gtk:27848): Gtk-CRITICAL **: gtk_widget_set_double_buffered: assertion 'GTK_IS_WIDGET (widget)' failed

(snes9x-gtk:27848): Gtk-CRITICAL **: gtk_widget_realize: assertion 'GTK_IS_WIDGET (widget)' failed

(snes9x-gtk:27848): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(snes9x-gtk:27848): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

(snes9x-gtk:27848): Gtk-CRITICAL **: gtk_widget_get_allocation: assertion 'GTK_IS_WIDGET (widget)' failed

(snes9x-gtk:27848): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_data: assertion 'width > 0' failed
Sound buffer size: 4096 (1024 samples)
OSS sound driver initializing...
--> (Device: /dev/dsp)...failed

(snes9x-gtk:27848): Gtk-CRITICAL **: gtk_widget_hide: assertion 'GTK_IS_WIDGET (widget)' failed

(snes9x-gtk:27848): Gtk-CRITICAL **: gtk_widget_get_window: assertion 'GTK_IS_WIDGET (widget)' failed

(snes9x-gtk:27848): Gdk-CRITICAL **: gdk_window_set_cursor: assertion 'GDK_IS_WINDOW (window)' failed

(snes9x-gtk:27848): Gtk-CRITICAL **: gtk_statusbar_get_context_id: assertion 'GTK_IS_STATUSBAR (statusbar)' failed

(snes9x-gtk:27848): Gtk-CRITICAL **: gtk_statusbar_pop: assertion 'GTK_IS_STATUSBAR (statusbar)' failed

(snes9x-gtk:27848): Gtk-CRITICAL **: gtk_statusbar_get_context_id: assertion 'GTK_IS_STATUSBAR (statusbar)' failed

(snes9x-gtk:27848): Gtk-CRITICAL **: gtk_statusbar_push: assertion 'GTK_IS_STATUSBAR (statusbar)' failed

(snes9x-gtk:27848): Gtk-CRITICAL **: gtk_statusbar_get_context_id: assertion 'GTK_IS_STATUSBAR (statusbar)' failed

(snes9x-gtk:27848): Gtk-CRITICAL **: gtk_statusbar_pop: assertion 'GTK_IS_STATUSBAR (statusbar)' failed

(snes9x-gtk:27848): Gtk-CRITICAL **: gtk_statusbar_get_context_id: assertion 'GTK_IS_STATUSBAR (statusbar)' failed

(snes9x-gtk:27848): Gtk-CRITICAL *: gtk_statusbar_push: assertion 'GTK_IS_STATUSBAR (statusbar)' failed
^C
(snes9x-gtk:27848): GLib-GObject-CRITICAL *
: g_object_unref: assertion 'G_IS_OBJECT (object)' failed

Remove non-free clause

Is it feasible to remove the non-commercial clause and relicense snes9x under a free license (permissive or no)? I understand this is pretty difficiult due to all the people involved, but is it something that's been considered? Recently another emulation project, MAME, has done this for the following reasons:

developer Miodrag Milanovic explained that the change is intended to draw more developer interest to the project, allow the manufacturers of games to distribute MAME to emulate their own games, and make the software a "learning tool for developers working on development boards".

It would really help with making snes9x easier to distribute as well, since snes9x is currently nonfree and therefore non-compliant with packaging standards in mainstream GNU/Linux distributions.

A bit incorrect and/or inconsistent name spelling in the UI

Apparently this non-technical issue has existed since at least v1.40, but this must be brought up at some point IMO.
Basically, everywhere in the interface except for the title of the About window, the emulator's name is spelt as Snes9X (with a capital X). This bugs me a little as as far as I can see traditionally it's usually referred to as Snes9x, even on the official resources (blog, changelogs, license, forum interface, logo, hell even the GitHub summary). There are a few exceptions like the website disclamer and page titles though. This way it's a bit of a moot point which of the spellings is official, especially considering Snes9X is technically a little more sensible name for a successor of Snes96 and Snes97. All in all, I think it is a good idea for Snes9x team to consider choosing the official spelling before the next major release.

Glitch on POV with Controller 2, Flashing screen on some roms, Sound glitchy on some roms

Playing a rom when using a Player 2, some times on SNES Left direction with POV doesn't work, but if I switch to analog stick it works well.

Playing Tiny Toons Wacky Sports (US & EU versions), when start a new mini game in easy mode (throwing ice cream) screen flashes a lot, this doesn't happend in Wii version based on version 1.53. Changing video mode didn't work

Rabbit Rampage and Road Runner Valley Rally, make a weird noise when you start to play, in Wii version sound works well.

OS: Win32 -Seven and XP.
Version Tested: 1.53

Crappy sound and many under rounds in unix command line gui less

i have setup lasted git build with threath sound, input 32997 Hz and sample of 44100KHz, with sync and correct ALSA environment (either in snes9x.conf file or using command line)

in any macyhine sound are crappy sound and many under rounds

try set the buffer to 32 bytes made buffer under rounds and to 1024 have no sound

the release 1.42 sounds perfectly inclusivelly in a Toshiba Satellite 600MHz PIII
the 1.53 or git build now needs a powered multicore machine and sound bad!!!

Unix version only supports OSS?

The Gtk version supports several different sound systems, the most important for me being ALSA, so why is there only one implementation for sound device loading/playing in the unix version?

Not to mention that error feedback for sound initialization is next to non-existent, since I don't have /dev/dsp on my system it would just silently fail to initialize the sound system resulting in having no sound at all.

Not knowing initially what the problem was I tried around a little bit with some settings in the config file and the -sounddev parameter but since I also didn't know what exactly I had to pass as a string (the absolute path to the sound device file), any attempts there were fruitless as well

After wasting my time with that I finally decided to dig into the source to see what the problem really was, only to find out that ALSA wasn't even supported.

Expand Controller Functionality

When the emulation is started and then a person puts in the controller afterwards, the controller doesn't work. Can you make it so that the controller works no matter when you put it in (a few other emulators do this)?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.