home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.sys.cbm      Discussion about Commodore micros      53,866 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 52,074 of 53,866   
   Daniel England to All   
   Re: New SID to MIDI conversion tool   
   15 Aug 17 14:26:57   
   
   From: mewpokemon@hotmail.com   
      
   Hmm...   
      
   Okay, well, I've gotten a LibReSIDFP.DLL to compile using MSYS and MinGW.  Its   
   rather hideous though because you need a few other supporting DLLs and they   
   are relatively huge.   
      
   Still, it works alright.  For some reason, I couldn't get min to define   
   correctly and I'm not sure how you enable the MMX intrinsics so I replaced the   
   min call with the declaration (in two spots) and disabled MMX.   
      
   This is the command-line I used:   
      
   g++ -shared -I src -I src/resample -Wp,-DLIBRESIDFP_EXPORTS LibReSIDFP.cpp   
   src/*.cpp src/resample/*.cpp -o LibReSIDFP.dll   
      
      
   I successfully used strip to reduce the size but its still twice the size of   
   the MSVC version (not including the dependent DLLs but I'm guessing that the   
   MSVC one relies on DLLs already included with Windows).   
      
   I had to change the way that LibReSIDFP.h managed the LIBRESIDFP_EXPORTS   
   define and stdafx.h like so:   
      
   #ifdef _MSC_VER   
   #include "stdafx.h"   
   #endif   
   #include "siddefs-fp.h"   
      
   #ifdef LIBRESIDFP_EXPORTS   
   #ifdef _MSC_VER   
   #define LIBRESIDFP_API __declspec(dllexport)   
   #else   
   #define LIBRESIDFP_API __attribute__((__visibility__("default")))   
   #endif   
   #else   
   #ifdef _MSC_VER   
   #define LIBRESIDFP_API __declspec(dllimport)   
   #else   
   #define LIBRESIDFP_API   
   #endif   
   #endif   
      
      
   I guess for Linux and MacOS you change LibReSIDFP.dll with LibReSIDFP.so on   
   the command-line.   
      
   I also had to remove the leading '_' in the import names in Pascal.  For some   
   reason, MSVC prepends a '_' for names in 32 bit but GCC does not.   
      
   I'm disappointed about the MMX intrinsics.  Without them, the sound quality is   
   degraded in the resampler.   
      
   I'll try LibSIDPlay.dll next.   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca