Page 1 of 4

Does SNESAPU.DLL and libgme.dll work in LOVE2D

Posted: Sat Jul 09, 2022 9:12 pm
by Neito
I'm working on something and I need to know if I can use snesapu.dll and libgme.dll in LOVE2D.

Re: Does SNESAPU.DLL and libgme.dll work in LOVE2D

Posted: Wed Jul 13, 2022 4:17 pm
by zorg
Hi, and welcome to the forums!

GME was never really supported by löve, by default; and as far as i know, due to recent changes that feature set has been completely removed, even as an option. That said, libgme does seem to have a C interface, so you can try to use it by loading it and figuring out how to get it to work.

From a few quick google searches, i do believe snesapu is a C++ library; i'm not sure that would work with löve without you rebuilding löve itself after adding it to the source... although if you find a C version of it (or if you can write a c wrapper/interface for it) then you might have a chance to use it.

In short, not without some work on your end.

Re: Does SNESAPU.DLL and libgme.dll work in LOVE2D

Posted: Thu Jul 14, 2022 1:36 pm
by milon
zorg wrote: Wed Jul 13, 2022 4:17 pm In short, not without some work on your end.
And even then, only on Windows systems, yes? Unless the DLLs are very specifically not OS-dependent.

Re: Does SNESAPU.DLL and libgme.dll work in LOVE2D

Posted: Thu Jul 14, 2022 8:36 pm
by Neito
milon wrote: Thu Jul 14, 2022 1:36 pm
zorg wrote: Wed Jul 13, 2022 4:17 pm In short, not without some work on your end.
And even then, only on Windows systems, yes? Unless the DLLs are very specifically not OS-dependent.
I don't know how to do any of that

Re: Does SNESAPU.DLL and libgme.dll work in LOVE2D

Posted: Thu Jul 14, 2022 8:38 pm
by Neito
Can you help me with implementing libgme into my game?

Re: Does SNESAPU.DLL and libgme.dll work in LOVE2D

Posted: Thu Jul 14, 2022 8:49 pm
by Neito
When I open the .dll in notepad++ I can't edit anything

Re: Does SNESAPU.DLL and libgme.dll work in LOVE2D

Posted: Thu Jul 14, 2022 9:04 pm
by MrFariator
You do not really edit a .DLL file, as it's compiled from some source code (which is why you get garbled mess in notepad). I'm not familiar with SNESAPU or libgme, but you basically would have to grab their source code, do your changes, and then compile those to get new .DLLs with your desired changes. And mind you, like zorg said, if SNESAPU is a C++ library, you'd likely have to edit LÖVE's own source code to make SNESAPU work with it.

If you don't know where to start with either of these, or are not familiar with C++, or working with C interfaces in general, then perhaps this is unfortunately a task out of your league.

Re: Does SNESAPU.DLL and libgme.dll work in LOVE2D

Posted: Thu Jul 14, 2022 10:12 pm
by BrotSagtMist
What actually are these libs for?

Re: Does SNESAPU.DLL and libgme.dll work in LOVE2D

Posted: Fri Jul 15, 2022 4:47 am
by zorg
BrotSagtMist wrote: Thu Jul 14, 2022 10:12 pm What actually are these libs for?
Playing back various types of "music" files; snesapu plays back Super Nintendo Entertainment System spc dumps i believe, GME is blarrg's library that can play back a variety of formats for a variety of systems with a simple interface, or so was said:
AY ZX Spectrum/Amstrad CPC
GBS Nintendo Game Boy
GYM Sega Genesis/Mega Drive
HES NEC TurboGrafx-16/PC Engine
KSS MSX Home Computer/other Z80 systems (doesn't support FM sound)
NSF/NSFE Nintendo NES/Famicom (with VRC 6, Namco 106, and FME-7 sound)
SAP Atari systems using POKEY sound chip
SPC Super Nintendo/Super Famicom
VGM/VGZ Sega Master System/Mark III, Sega Genesis/Mega Drive,BBC Micro

Re: Does SNESAPU.DLL and libgme.dll work in LOVE2D

Posted: Fri Jul 15, 2022 7:18 am
by zorg
milon wrote: Thu Jul 14, 2022 1:36 pm
zorg wrote: Wed Jul 13, 2022 4:17 pm In short, not without some work on your end.
And even then, only on Windows systems, yes? Unless the DLLs are very specifically not OS-dependent.
I think both libraries should be platform independent; the original question did concern only ".dll"-s, but whether one builds for other targets or downloads pre-compiled binaries, both options should work on whatever OS you want to use them on.