Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Update dll to be compatible w/ the latest 2.0 beta 34 to play back PC9801 file (Read 1505 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Update dll to be compatible w/ the latest 2.0 beta 34 to play back PC9801 file

Hello, i was referring to this dll at http://ux.getuploader.com/foobar2000/download/31/foo_input_fmpmd_v0.8.0.15.zip that is still good for x86/32 bit version of foobar2000 v1..6.16. But it's not good enough for x64/64 bit foobar2000 v2.0.beta 34. Could anyone please take a look at it? Here are the music files

https://www.dropbox.com/s/td6y1e2vx0xudct/pc9801%20opi-ovi-m%20playback.zip?dl=0

Many thanks. I have consulted GPT 3.5, but it's exceeding my capability to understand, since I am not a coder in any shape or form. Hoping there is a miracle, as there is no way to contact the author behind the aforementioned dll.

The following dll known as WinFMP and PMDWin are also needed, but that author has made it compatible with x64. So not much work there at all. Thanks.

http://c60.la.coocan.jp/download.html

Re: Update dll to be compatible w/ the latest 2.0 beta 34 to play back PC9801 file

Reply #1
I have used GPT 4 which said I should use Ghidra 10.2.3 with JDK 20 to reverse engineer the foo_input_fmpmd v0.8.0.15 dll, so this is what I decompiled by using "export program" in Ghidra. Please refer to https://www.dropbox.com/s/xquk2uba0udyvco/foo_input_fmpmd.dll.gzf?dl=0. Hopefully it helps.

Re: Update dll to be compatible w/ the latest 2.0 beta 34 to play back PC9801 file

Reply #2
I gave GPT4 this link instead https://www.dropbox.com/s/qut1a0uvs0omyel/foo_input_fmpmd.dll%20code%20in%20the%20listing%20window.txt?dl=0, which contains the code of foo_input_fmpmd.dll, and it says, "

I apologize for the confusion, but the file you provided is a text file containing the code listing from Ghidra rather than the actual DLL file. While this listing can be helpful for analyzing the code, it's important to note that it's not the same as the actual compiled binary code that runs on your system.

That being said, based on the code listing you provided, it appears to be a 32-bit DLL for the Foobar2000 audio player that handles audio input using the FMPMD (File Mapping PMD) format.

The code is organized into several functions, each of which performs a specific task related to audio input. Some of the functions include:

init_input_plugin
: This function is called when the plugin is initialized, and it sets up the input stream for audio data.

get_input_time
: This function retrieves the current playback time in milliseconds.

get_input_length
: This function retrieves the length of the audio data in milliseconds.

input_read_samples
: This function reads audio samples from the input stream and stores them in a buffer.

Overall, the code looks like it's well-organized and follows standard coding practices. However, modifying it to be compatible with a 64-bit version of Foobar2000 would likely require a significant amount of work and expertise in reverse engineering and software development."

I then followed up with, " I have the time and patience to see your magic. Please modify it to be compatible with 64 bit version of foobar2000. Thanks. "

It replied, "

I'm sorry, but as an AI language model, I'm not able to modify the code for you. Modifying a binary file like a DLL requires a deep understanding of its internal structure and the implications of any changes made to the code. It's a complex and potentially risky process that should only be attempted by experienced developers who understand the risks involved.

That being said, if you're looking to make a 32-bit DLL compatible with a 64-bit version of Foobar2000, you'll likely need to recompile the code for a 64-bit architecture. This will require access to the original source code for the DLL, as well as a development environment that's capable of building 64-bit binaries.

If you don't have access to the source code or aren't comfortable modifying the DLL yourself, you may want to consider reaching out to the original developer or community for assistance. There may be other users who have already attempted this and can provide guidance on how to proceed."

Re: Update dll to be compatible w/ the latest 2.0 beta 34 to play back PC9801 file

Reply #3
still good for x86/32 bit version of foobar2000 v1..6.16. But it's not good enough for x64/64 bit foobar2000 v2.0.beta 34.

Don't ignore fb2k Beta 34 32 bit like it doesn't exist. Do you want to play these files with the latest 2.0 Beta or not?

Re: Update dll to be compatible w/ the latest 2.0 beta 34 to play back PC9801 file

Reply #4
still good for x86/32 bit version of foobar2000 v1..6.16. But it's not good enough for x64/64 bit foobar2000 v2.0.beta 34.

Don't ignore fb2k Beta 34 32 bit like it doesn't exist. Do you want to play these files with the latest 2.0 Beta or not?

I didn't ignore. But I have 16GB of RAM which is why I am obsessed with the 64bit. I have taken the plunge to install the 32 bit 2.0 and overwritten the old 1.6.16. But it turns out the 32bit 2.0 couldn't play back those music files with the three DLLs. So I have to revert back to 1.6.16. This deserves a thorough look by someone who truly understands this. Thanks.