mudlord Posted October 5, 2011 Share Posted October 5, 2011 (edited) Here is a DLL I have been working on. I intended this for my keygens and patchers,but figured I make it public.Calling conventions are _cdecl, iirc.Included is a example in C.Basically, this is a Nintendo Entertainment system music playback dll, for NSF/NSFE files.Due to the emulator used, the file size is quite big, but UPX does help somewhat.The emulator emulates all extension chips used for NES audio, including Sunsoft's expansion chips, as well as the VRC6/7 and Namco N-106 chips.EDIT:Also did a SNES SPC-700 emulator DLL.Same parameters as the NSF dll, same calling convention. Uses a much more accurate (cycle-exact) emulator then the dll "SNESAPU.DLL" thats floating around....Plays back SPC files only. Edited October 5, 2011 by mudlord Link to comment
X-88 Posted October 5, 2011 Share Posted October 5, 2011 I liked the music in game one of my collection but I had no tools to rip it, I've tried looking on google but I did not find, how to rip music from *. nes or *. bin? ... maybe you can help me. thx b4. Link to comment
mudlord Posted October 6, 2011 Author Share Posted October 6, 2011 Ripping music from NES games is complex.You need knowledge of 2a03 assembly language to create the rips.To ease things, some collections of NSF files are here:/>http://www.zophar.net/music/nsf.html/>http://2a03.free.fr//>http://midr2.under.jp/compo/top.htmlsnesmusic.org has plenty of soundtracks from SNES games, including Killer Instinct, Donkey Kong Country 2, etc. Because the SPC files contain a capture of SPC700 APU RAM, they all are 64KB, making them suitable for small patchers/keygens. The RSN files on snesmusic.org are just renamed RARs, so it should be no problem getting the files you need. Link to comment
X-88 Posted October 7, 2011 Share Posted October 7, 2011 I have asm compiler but infected virus. thx 4 da info. Link to comment
mudlord Posted October 9, 2011 Author Share Posted October 9, 2011 your best bet is just to look around for nsf files, etc... Link to comment
mudlord Posted October 12, 2011 Author Share Posted October 12, 2011 ported to dup2:Source code: http://svn.mudlord.info/dup2plugins/NSF plugin: http://mudlord.info/crap/re/tools/nsf_player_dup.rarSPC plugin: http://mudlord.info/crap/re/tools/spc_player_dup.rar Link to comment
X-88 Posted October 16, 2011 Share Posted October 16, 2011 i think without dll,OST NES : />http://nsf.joshw.info/zzz_unlicensed Link to comment
mudlord Posted October 18, 2011 Author Share Posted October 18, 2011 (edited) Those files should play back fine. If you are suggesting ZIP reading to be added, thats not gonna happen at all.Started work on a BASS.DLL based player DLL too, some reason BASS_Init fails, not sure why. Edited October 18, 2011 by mudlord Link to comment
X-88 Posted October 19, 2011 Share Posted October 19, 2011 (edited) Hi Mudlord, I want the intro of the game Chiptune San Guo Zhi - Ying Jie Zhan (Chinese Version), I've search on google but I only met her a while there are some Chiptunes of the game, can you help me? thank you! ... Edited October 20, 2011 by Ondskapen Link to comment
rxzcums Posted October 26, 2011 Share Posted October 26, 2011 hi,any news about mp3/mid support plugin? Link to comment
X-88 Posted October 26, 2011 Share Posted October 26, 2011 @rxzcumstry fl studio n Asio for all n woolyss.com Link to comment
mudlord Posted November 1, 2011 Author Share Posted November 1, 2011 hi,any news about mp3/mid support plugin?I already got the code in the SVN for the MP3/OGG plugin, just needs to be bugfixed.MIDI support will get done when I feel like, or when I find a need to include it somewhere into my stuff. Link to comment
novaz Posted November 4, 2011 Share Posted November 4, 2011 hi, the dll is very good i used the dll for a delphi program and is very good i used the code: to declare the functions: function DLL_Play(HWND:hwnd;Data:Pointer;len,subsong:integer): byte; cdecl; external 'nsf_player.dll'; function DLL_Stop(): byte; cdecl; external 'nsf_player.dll'; to load the file: var FileBuffer:file; MusicFileBuffer:array of byte; //load the nsf file AssignFile(FileBuffer,'Castlevania.nsf'); ReSet(FileBuffer,1); SetLength(MusicFileBuffer,FileSize(FileBuffer)); BlockRead(FileBuffer,MusicFileBuffer[0],FileSize(FileBuffer)); CloseFile(FileBuffer); to play the music: //the first argument is the handle of the window DLL_Play(Form1.Handle,@MusicFileBuffer[0],Length(MusicFileBuffer),0); to stop the music: DLL_Stop(); Link to comment
novaz Posted November 4, 2011 Share Posted November 4, 2011 also i was trying to use the dll in Game Maker, a program made in Delphi. Game Maker uses two type of data, double and string. It doesnt use pointers, so it was not possible to use the dll because i can't use the pointer to the music buffer. Do you think it's possible to make a dll that can use a string data type for the buffer? also i wanted to ask if it's possible to load more nsf file, so the game can use sound and music Link to comment
mudlord Posted November 4, 2011 Author Share Posted November 4, 2011 Oh you want a function to load by filename instead of memory location? Link to comment
novaz Posted November 5, 2011 Share Posted November 5, 2011 hi, yes load the nsf file is also good. Thanks for the help in game maker i was using: //open file nsf_file=file_bin_open('Castlevania.nsf',0) nsf_filesize=file_bin_size(nsf_file) //the string nsf_filebuffer has the data of the file nsf_filebuffer='' a=0 while a<nsf_filesize { nsf_filebuffer=nsf_filebuffer+chr(file_bin_read_byte(nsf_file)) a=a+1 } file_bin_close(nsf_file) call the dll function, the second argument is the string with the data of the file, but the code doesnt work because the argument of the dll is a pointer, not a string. I hope it's clear. external_call(DLLPlayCall,window_handle(),nsf_filebuffer,nsf_filesize,0) Link to comment
mudlord Posted November 7, 2011 Author Share Posted November 7, 2011 ah, so you want something like play(char []data, int size)? Link to comment
novaz Posted November 8, 2011 Share Posted November 8, 2011 hi mudlord, yes if the argument is a string it's very good Link to comment
mudlord Posted November 9, 2011 Author Share Posted November 9, 2011 k, will put it on my todo list. Link to comment
mudlord Posted March 6, 2012 Author Share Posted March 6, 2012 Updated plugins to new DUP2 API. Link to comment
mudlord Posted March 7, 2012 Author Share Posted March 7, 2012 (edited) Got a odd error with the MP3 plugin when linking to the most recent SDK, other plugins work. http://www.sendspace.com/file/o3qfzo Edited March 7, 2012 by mudlord Link to comment
diablo2oo2 Posted March 7, 2012 Share Posted March 7, 2012 (edited) Got a odd error with the MP3 plugin when linking to the most recent SDK, other plugins work. http://www.sendspace.com/file/o3qfzo seems you are using the old PDK. the new one tries to load dup2patcher.dll instead of dup2patcher.exe. thats the reason why the old plugins must be recompiled with the new PDK to get them work in v2.26. be sure you are using the latest dup2patcher.lib when building your plugin. Edited March 7, 2012 by diablo2oo2 Link to comment
mudlord Posted March 7, 2012 Author Share Posted March 7, 2012 (edited) Oh weird...will retry :SI was using the libs from the "c" directory of your archive. I take it they weren't updated? Edited March 7, 2012 by mudlord Link to comment
rxzcums Posted March 7, 2012 Share Posted March 7, 2012 i have another advice: add option called "loop x time(s)", some times user maybe only play 1 time, 2 times... or forever...regards Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now