Coder Social home page Coder Social logo

skurdt / sk.libretro Goto Github PK

View Code? Open in Web Editor NEW
22.0 2.0 12.0 33.41 MB

Libretro wrapper written in C# with support for the Unity game engine

License: MIT License

C# 97.60% ShaderLab 2.40%
libretro libretro-api libretroapi libretro-frontend unity csharp-code

sk.libretro's People

Contributors

skurdt avatar xenuiswatching avatar

Stargazers

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

Watchers

 avatar  avatar

sk.libretro's Issues

Problems with some cores

hello.

First of all, congratulations for the great work you have done.

I have tried many cores and almost all of them work for me, but there are some (the two used as examples) that do not work for me.

Something like N64 closes Unity directly for me.

I pass a list of cores that I have tried:

OK
============

arcade	-	 mame2000
arcade - mame2003
arcade - mame2003_plus
arcade - mame2010
arcade - mame

atari 2600	-	stella
atari 2600	-	stella2014

atari 5200	-	a5200

atari 7800	-	prosystem

atari jaguar	-	virtualjaguar

atari lynx	-	mednafen_lynx
atari lynx	-	handy

CPS1	-	fbalpha2012_cps1

famicom	-	fceumm
famicom	-	nestopia

game boy	-	gambatte
game boy	-	sameboy
game boy	-	tgbdual
game boy	-	gearboy

game boy advance	-	gpsp
game boy advance	-	vbam
game boy advance	-	vba_next

game boy color	-	gambatte
game boy color	-	sameboy
game boy color	-	tgbdual
game boy color	-	gearboy

game gear	-	smsplus
game gear	-	gearsystem
game gear	-	genesis_plus_gx
game gear	-	picodrive

master system	-	smsplus
master system	-	blastem
master system	-	picodrive


mega drive - genesis plus gx
mega drive - picodrive
mega drive - blastem

neo geo	-	fbalpha
neo geo	-	fbneo

neo geo cd	-	neocd

neo geo pocket color	-	mednafen_ngp
neo geo pocket color	-	race

nintendo	-	fceumm
nintendo	-	mesen
nintendo	-	nestopia

nintendo ds	-	desmume
nintendo ds	-	desmume2015
nintendo ds	-	melonds

pc engine / turbografx	-	mednafen_pce
pc engine / turbografx	-	mednafen_pce_fast

pc engine CD / turbografx CD -	mednafen_pce_fast

pc-fx	-	mednafen_pcfx

PlayStation	 -               mednafen_psx

saturn	-	yabause

sega 32x	-	picodrive

sega cd	-	genesis_plus_gx
sega cd	-	picodrive

sg-1000	-	picodrive
sg-1000	-	gearsystem
sg-1000	-	smsplus
sg-1000	-	bluemsx

super nintendo	 -	 bsnes
super nintendo	 -	 snes9x
super nintendo	 -	 snes9x2010

virtual boy	-	mednafen_vb

wonderswan	-	mednafen_wswan

wonderswan color	-	mednafen_wswan

NO OK
===========

3do	-	opera

dreamcast

neo geo cd

neo geo pocket

nintendo 64

ps2

PSP	-	ppsspp

Does anyone have the correct cores for the systems that are not working?

Thank you so much!!!!

Greetings.

I have a problem

Firstly, I would like to express my gratitude for your exceptional program. However, I am currently facing an issue with the project as it functions properly on the computer but fails to work on my phone. While attempting to test it on my mobile device, I encountered a problem where the apk is successfully installed but fails to function when I press the start button. I kindly request your assistance in resolving this matter. Additionally, I have a question: Does the program support the use of phone buttons? Thank you for your support.
Capture

Unable to load in IL2CPP build

For IL2CPP, it is unable to marshalling delegates to an instanced methods

System.NotSupportedException: IL2CPP does not support marshaling delegates that point to instance methods to native code. The method we're attempting to marshal is: SK.Libretro.EnvironmentHandler::EnvironmentCallback

which comes from the function in the call stack

private void SetCallbacks()

Input Processor requires Singleton and can not be instances with multiple cores running

The Input Processor requires the PlayerInputManager which is a singleton class. This means that only one can exist. So if multiple LibretroInstances are running at the same time the OnPlayerJoined will be called at the same time for all running instances whenever a player wants to join a specific instance.

Essentially what happens if the player presses "Start Button", all instances will receive the "Start Button" Action.

How I have this set is with a PlayerInputManager with the "Join Behavior" set to "Join Players Manually", where the player can walk up in the virtual environment to a console/arcade and press a button and it will join them to that libretro instance, but whats happening is that it will joing them to ALL libretro instances.

Libretro 'Controller Info / Input Info' Updating

Digging through the input handler. I see where the callbacks happen from a core (such as pcsx-rearmed) and descriptors are sent over which will descript the possible controller info (such as standard, dualshock, negcon, guncon, mouse, (and an empty string for some reason? "")). But these then get stored in to private variables such as _controllerDescriptions which never get used again, nor there is any way to access it. The same goes for the input mapping with _inputDescriptors and _buttonDescriptions which will describe all the input buttons.

I see there is a variable loaded with ControllersMap = wrapper.InputHandler.DeviceMap; within the bridge, but this just empty. Never set up.

What I'm trying to figure out here is how to remap buttons and select the device type (dualshock, standard, etc...) for a specific port within the API, but it isn't clear how that is to be done here. Is there something I'm missing with this?

HwRender GLFW implementation does not work on Android

GLFW does not have an Android implementation. This makes it so some cores, such as Dolphin, can not run with HW acceleration.

I'm not quite sure how implementation would begin with getting a HW acceleration with OpenGL ES3 with Android NDK would begin

libretro_crt_geom on rendering on one eye in VR

When I create a OpenXR project and apply the libretr_crt_geom Shader. It only renders on the left eye. I'm not quite sure why that is happening or if there is a more "generic" shader I should be selected rather than the Universal Render Pipeline Shader?

OpenGL only works in build

Calling retro_run (which only works in the render thread currently) crashes the editor.
Attaching a debugger sometimes avoids the crash but emulator graphics aren't shown either way.

Crackling sound on some cores

I've tested various systems / cores and on some like snes9x and pcsx rearmed the sound is crackling alot.

Very noticable for example in snes9x while music plays, game doesn't matter.

Also thanks for your amazing project, all cores worked fine so far with minor issues :D

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.