diff --git a/q65w/CMakeLists.txt b/q65w/CMakeLists.txt
index d14d91f47..c36921664 100644
--- a/q65w/CMakeLists.txt
+++ b/q65w/CMakeLists.txt
@@ -14,7 +14,7 @@ set (q65w_CXXSRCS
   )
 
 if (WIN32)
-  set (q65w_CXXSRCS ${q65w_CXXSRCS} killbyname.cpp)
+  set (q65w_CXXSRCS ${q65w_CXXSRCS})
 endif (WIN32)
 
 set (q65w_UISRCS
diff --git a/q65w/about.cpp b/q65w/about.cpp
index d77897c38..5ac318129 100644
--- a/q65w/about.cpp
+++ b/q65w/about.cpp
@@ -7,7 +7,7 @@ CAboutDlg::CAboutDlg(QWidget *parent) :
   ui(new Ui::CAboutDlg)
 {
   ui->setupUi(this);
-  ui->labelTxt->setText("<html><h2>" + QString {"MAP65 v"
+  ui->labelTxt->setText("<html><h2>" + QString {"Q65W v"
                 + QCoreApplication::applicationVersion ()
                 + " " + revision ()}.simplified () + "</h2><br />"
     "Q65W is a wideband receiver for the Q65 protocol, <br />"
diff --git a/q65w/killbyname.cpp b/q65w/killbyname.cpp
deleted file mode 100644
index 11629e657..000000000
--- a/q65w/killbyname.cpp
+++ /dev/null
@@ -1,282 +0,0 @@
-#include <windows.h>
-#include <tlhelp32.h>
-#include <iostream>
-
-int killbyname(const char *szToTerminate)
-// Created: 6/23/2000  (Ravi Kochhar)
-// Last modified: 3/10/2002  (RK)
-// Please report any problems or bugs to kochhar@physiology.wisc.edu
-// The latest version of this routine can be found at:
-//     http://www.neurophys.wisc.edu/ravi/software/killproc/
-// Terminate the process "szToTerminate" if it is currently running
-// This works for Win/95/98/ME and also Win/NT/2000/XP
-// The process name is case-insensitive, i.e. "notepad.exe" and "NOTEPAD.EXE"
-// will both work (for szToTerminate)
-// Return codes are as follows:
-//   0   = Process was successfully terminated
-//   602 = Unable to terminate process for some other reason
-//   603 = Process was not currently running
-//   604 = No permission to terminate process
-//   605 = Unable to load PSAPI.DLL
-//   606 = Unable to identify system type
-//   607 = Unsupported OS
-//   632 = Invalid process name
-//   700 = Unable to get procedure address from PSAPI.DLL
-//   701 = Unable to get process list, EnumProcesses failed
-//   702 = Unable to load KERNEL32.DLL
-//   703 = Unable to get procedure address from KERNEL32.DLL
-//   704 = CreateToolhelp32Snapshot failed
-
-{
-  BOOL bResult,bResultm;
-  DWORD aiPID[1000],iCb=1000,iNumProc;  //,iV2000=0;
-  DWORD iCbneeded,i,iFound=0;
-  char szName[MAX_PATH],szToTermUpper[MAX_PATH];
-  HANDLE hProc,hSnapShot,hSnapShotm;
-  OSVERSIONINFO osvi;
-  HINSTANCE hInstLib;
-  int iLenP,indx;
-  HMODULE hMod;
-  PROCESSENTRY32 procentry;
-  MODULEENTRY32 modentry;
-
-  // Transfer Process name into "szToTermUpper" and convert to upper case
-  iLenP=strlen(szToTerminate);
-  if(iLenP<1 || iLenP>MAX_PATH) return 632;
-  for(indx=0;indx<iLenP;indx++)
-    szToTermUpper[indx]=toupper(szToTerminate[indx]);
-  szToTermUpper[iLenP]=0;
-
-  // PSAPI Function Pointers.
-  BOOL (WINAPI *lpfEnumProcesses)( DWORD *, DWORD cb, DWORD * );
-  BOOL (WINAPI *lpfEnumProcessModules)( HANDLE, HMODULE *,
-                                        DWORD, LPDWORD );
-  DWORD (WINAPI *lpfGetModuleBaseName)( HANDLE, HMODULE,
-                                        LPTSTR, DWORD );
-
-  // ToolHelp Function Pointers.
-  HANDLE (WINAPI *lpfCreateToolhelp32Snapshot)(DWORD,DWORD) ;
-  BOOL (WINAPI *lpfProcess32First)(HANDLE,LPPROCESSENTRY32) ;
-  BOOL (WINAPI *lpfProcess32Next)(HANDLE,LPPROCESSENTRY32) ;
-  BOOL (WINAPI *lpfModule32First)(HANDLE,LPMODULEENTRY32) ;
-  BOOL (WINAPI *lpfModule32Next)(HANDLE,LPMODULEENTRY32) ;
-
-  // First check what version of Windows we're in
-  osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
-  bResult=GetVersionEx(&osvi);
-  if(!bResult) return 606;    // Unable to identify system version
-
-  // At Present we only support Win/NT/2000/XP or Win/9x/ME
-  // Seems to work OK in Win7
-  if((osvi.dwPlatformId != VER_PLATFORM_WIN32_NT) &&
-     (osvi.dwPlatformId != VER_PLATFORM_WIN32_WINDOWS)) return 607;
-
-  if(osvi.dwPlatformId==VER_PLATFORM_WIN32_NT)
-  {
-    // Win/NT or 2000 or XP
-
-    // Load library and get the procedures explicitly. We do
-    // this so that we don't have to worry about modules using
-    // this code failing to load under Windows 9x, because
-    // it can't resolve references to the PSAPI.DLL.
-    hInstLib = LoadLibraryA("PSAPI.DLL");
-    if(hInstLib == NULL) return 605;
-
-    // Get procedure addresses.
-    lpfEnumProcesses = (BOOL(WINAPI *)(DWORD *,DWORD,DWORD*))(void (*)())
-        GetProcAddress( hInstLib, "EnumProcesses" ) ;
-    lpfEnumProcessModules = (BOOL(WINAPI *)(HANDLE, HMODULE *,
-                                            DWORD, LPDWORD))(void (*)()) GetProcAddress( hInstLib,                                                                     "EnumProcessModules" ) ;
-        lpfGetModuleBaseName =(DWORD (WINAPI *)(HANDLE, HMODULE, LPTSTR,
-                                                DWORD )) (void (*)())GetProcAddress( hInstLib, "GetModuleBaseNameA" ) ;
-
-    if(lpfEnumProcesses == NULL || lpfEnumProcessModules == NULL ||
-         lpfGetModuleBaseName == NULL) {
-      FreeLibrary(hInstLib);
-      return 700;
-    }
-
-    bResult=lpfEnumProcesses(aiPID,iCb,&iCbneeded);
-    if(!bResult) {
-      // Unable to get process list, EnumProcesses failed
-      FreeLibrary(hInstLib);
-      return 701;
-    }
-
-    // How many processes are there?
-    iNumProc=iCbneeded/sizeof(DWORD);
-
-    // Get and match the name of each process
-    for(i=0;i<iNumProc;i++) {
-      // Get the (module) name for this process
-      strcpy(szName,"Unknown");
-      // First, get a handle to the process
-      hProc=OpenProcess(PROCESS_QUERY_INFORMATION|PROCESS_VM_READ,FALSE,
-                        aiPID[i]);
-      // Now, get the process name
-      if(hProc) {
-        if(lpfEnumProcessModules(hProc,&hMod,sizeof(hMod),&iCbneeded) ) {
-          lpfGetModuleBaseName(hProc,hMod,szName,MAX_PATH);
-        }
-      }
-      CloseHandle(hProc);
-      // We will match regardless of lower or upper case
-      if(strcmp(_strupr(szName),szToTermUpper)==0) {
-        // Process found, now terminate it
-        iFound=1;
-        // First open for termination
-        hProc=OpenProcess(PROCESS_TERMINATE,FALSE,aiPID[i]);
-        if(hProc) {
-          if(TerminateProcess(hProc,0)) {
-            // process terminated
-            CloseHandle(hProc);
-            FreeLibrary(hInstLib);
-            return 0;
-          } else {
-            // Unable to terminate process
-            CloseHandle(hProc);
-            FreeLibrary(hInstLib);
-            return 602;
-          }
-        } else {
-          // Unable to open process for termination
-          FreeLibrary(hInstLib);
-          return 604;
-        }
-      }
-    }
-  }
-
-  if(osvi.dwPlatformId==VER_PLATFORM_WIN32_WINDOWS)
-  {
-    // Win/95 or 98 or ME
-
-    hInstLib = LoadLibraryA("Kernel32.DLL");
-    if( hInstLib == NULL )
-      return 702;
-
-    // Get procedure addresses.
-    // We are linking to these functions of Kernel32
-    // explicitly, because otherwise a module using
-    // this code would fail to load under Windows NT,
-    // which does not have the Toolhelp32
-    // functions in the Kernel 32.
-    lpfCreateToolhelp32Snapshot=
-      (HANDLE(WINAPI *)(DWORD,DWORD))(void (*)())
-        GetProcAddress( hInstLib,
-                        "CreateToolhelp32Snapshot" ) ;
-    lpfProcess32First=
-        (BOOL(WINAPI *)(HANDLE,LPPROCESSENTRY32))(void (*)())
-        GetProcAddress( hInstLib, "Process32First" ) ;
-    lpfProcess32Next=
-        (BOOL(WINAPI *)(HANDLE,LPPROCESSENTRY32))(void (*)())
-        GetProcAddress( hInstLib, "Process32Next" ) ;
-    lpfModule32First=
-        (BOOL(WINAPI *)(HANDLE,LPMODULEENTRY32))(void (*)())
-        GetProcAddress( hInstLib, "Module32First" ) ;
-    lpfModule32Next=
-        (BOOL(WINAPI *)(HANDLE,LPMODULEENTRY32))(void (*)())
-        GetProcAddress( hInstLib, "Module32Next" ) ;
-    if( lpfProcess32Next == NULL ||
-        lpfProcess32First == NULL ||
-        lpfModule32Next == NULL ||
-        lpfModule32First == NULL ||
-        lpfCreateToolhelp32Snapshot == NULL )
-    {
-      FreeLibrary(hInstLib);
-      return 703;
-    }
-
-    // The Process32.. and Module32.. routines return names in all uppercase
-
-    // Get a handle to a Toolhelp snapshot of all the systems processes.
-
-    hSnapShot = lpfCreateToolhelp32Snapshot(
-          TH32CS_SNAPPROCESS, 0 ) ;
-    if( hSnapShot == INVALID_HANDLE_VALUE )
-    {
-      FreeLibrary(hInstLib);
-      return 704;
-    }
-
-    // Get the first process' information.
-    procentry.dwSize = sizeof(PROCESSENTRY32);
-    bResult=lpfProcess32First(hSnapShot,&procentry);
-
-    // While there are processes, keep looping and checking.
-    while(bResult)
-    {
-      // Get a handle to a Toolhelp snapshot of this process.
-      hSnapShotm = lpfCreateToolhelp32Snapshot(
-            TH32CS_SNAPMODULE, procentry.th32ProcessID) ;
-      if( hSnapShotm == INVALID_HANDLE_VALUE )
-      {
-        CloseHandle(hSnapShot);
-        FreeLibrary(hInstLib);
-        return 704;
-      }
-      // Get the module list for this process
-      modentry.dwSize=sizeof(MODULEENTRY32);
-      bResultm=lpfModule32First(hSnapShotm,&modentry);
-
-      // While there are modules, keep looping and checking
-      while(bResultm)
-      {
-        if(strcmp(modentry.szModule,szToTermUpper)==0)
-        {
-          // Process found, now terminate it
-          iFound=1;
-          // First open for termination
-          hProc=OpenProcess(PROCESS_TERMINATE,FALSE,procentry.th32ProcessID);
-          if(hProc)
-          {
-            if(TerminateProcess(hProc,0))
-            {
-              // process terminated
-              CloseHandle(hSnapShotm);
-              CloseHandle(hSnapShot);
-              CloseHandle(hProc);
-              FreeLibrary(hInstLib);
-              return 0;
-            }
-            else
-            {
-              // Unable to terminate process
-              CloseHandle(hSnapShotm);
-              CloseHandle(hSnapShot);
-              CloseHandle(hProc);
-              FreeLibrary(hInstLib);
-              return 602;
-            }
-          }
-          else
-          {
-            // Unable to open process for termination
-            CloseHandle(hSnapShotm);
-            CloseHandle(hSnapShot);
-            FreeLibrary(hInstLib);
-            return 604;
-          }
-        }
-        else
-        {  // Look for next modules for this process
-          modentry.dwSize=sizeof(MODULEENTRY32);
-          bResultm=lpfModule32Next(hSnapShotm,&modentry);
-        }
-      }
-
-      //Keep looking
-      CloseHandle(hSnapShotm);
-      procentry.dwSize = sizeof(PROCESSENTRY32);
-      bResult = lpfProcess32Next(hSnapShot,&procentry);
-    }
-    CloseHandle(hSnapShot);
-  }
-  if(iFound==0)
-  {
-    FreeLibrary(hInstLib);
-    return 603;
-  }
-  FreeLibrary(hInstLib);
-  return 0;
-}
diff --git a/q65w/mainwindow.cpp b/q65w/mainwindow.cpp
index d260e1456..f30de8180 100644
--- a/q65w/mainwindow.cpp
+++ b/q65w/mainwindow.cpp
@@ -23,7 +23,7 @@ int iqAmp;
 int iqPhase;
 qint16 id[2*60*96000];
 
-QSharedMemory mem_m65("mem_m65");
+//QSharedMemory mem_m65("mem_m65");
 
 extern const int RxDataFrequency = 96000;
 
@@ -110,28 +110,6 @@ MainWindow::MainWindow(QWidget *parent) :
   xSignalMeter = new SignalMeter(ui->xMeterFrame);
   xSignalMeter->resize(50, 160);
 
-#ifdef WIN32
-  while(true) {
-      int iret=killbyname("m65.exe");
-      if(iret == 603) break;
-      if(iret != 0) msgBox("KillByName return code: " + QString::number(iret));
-  }
-#endif
-
-  if(!mem_m65.attach()) {
-    if (!mem_m65.create(sizeof(datcom_))) {
-      msgBox("Unable to create shared memory segment.");
-    }
-  }
-  char *to = (char*)mem_m65.data();
-  int size=sizeof(datcom_);
-  if(datcom_.newdat==0) {
-    int noffset = 4*4*5760000 + 4*4*322*32768 + 4*4*32768;
-    to += noffset;
-    size -= noffset;
-  }
-  memset(to,0,size);         //Zero all decoding params in shared memory
-
   fftwf_import_wisdom_from_filename (QDir {m_appDir}.absoluteFilePath ("map65_wisdom.dat").toLocal8Bit ());
 
   readSettings();		             //Restore user's setup params
@@ -980,17 +958,9 @@ void MainWindow::decode()                                       //decode()
   datcom_.junk1=1234;                                     //Cecck for these values in m65
   datcom_.junk2=5678;
 
-//  char *to = (char*)mem_m65.data();
   char *to = (char*) datcom2_.d4;
   char *from = (char*) datcom_.d4;
-  int size=sizeof(datcom_);
-  if(datcom_.newdat==0) {
-    int noffset = 4*4*5760000 + 4*4*322*32768 + 4*4*32768;
-    to += noffset;
-    from += noffset;
-    size -= noffset;
-  }
-  memcpy(to, from, qMin(mem_m65.size(), size-4));
+  memcpy(to, from, sizeof(datcom_));
   datcom_.nagain=0;
   datcom_.ndiskdat=0;
   m_map65RxLog=0;
diff --git a/q65w/q65w.pro b/q65w/q65w.pro
index 269b09818..8aa2c7fbf 100644
--- a/q65w/q65w.pro
+++ b/q65w/q65w.pro
@@ -35,10 +35,6 @@ SOURCES += main.cpp mainwindow.cpp plotter.cpp about.cpp \
     astro.cpp displaytext.cpp getdev.cpp \
     meterwidget.cpp signalmeter.cpp
 
-win32 {
-SOURCES += killbyname.cpp     set570.cpp
-}
-
 HEADERS  += mainwindow.h plotter.h soundin.h \
             about.h devsetup.h widegraph.h getfile.h \
             commons.h sleep.h astro.h displaytext.h \