diff --git a/Makefile.win b/Makefile.win
index dc503145c..0206ddac0 100644
--- a/Makefile.win
+++ b/Makefile.win
@@ -38,7 +38,7 @@ SRCS2F77 = wsjt1.f avesp2.f bzap.f spec441.f spec2d.f mtdecode.f \
 	sync65.f unpackcall.f unpackgrid.f unpackmsg.f unpacktext.f \
 	xcor.f xfft.f wsjt65.f astro.f azdist.f coord.f dcoord.f \
 	deg2grid.f dot.f ftsky.f geocentric.f GeoDist.f grid2deg.f \
-	moon2.f MoonDop.f sun.f toxyz.f
+	moon2.f MoonDop.f sun.f toxyz.f pfxdump.f
 
 SRCS2C   = resample.c ptt.c igray.c wrapkarn.c
 
diff --git a/WSJT_Source_Code.txt b/WSJT_Source_Code.txt
index 094563c92..dd6db58b0 100755
--- a/WSJT_Source_Code.txt
+++ b/WSJT_Source_Code.txt
@@ -1,5 +1,8 @@
-1  Introduction
+			WSJT DEVELOPMENT OVERVIEW
+			-------------------------
 
+1  Introduction
+----------------------------------------------------------------------
 WSJT is a computer program designed to facilitate Amateur Radio
 communication under extreme weak-signal conditions.  Three very
 different coding and modulation methods are provided: one for
@@ -9,7 +12,7 @@ for the very challenging EME (Earth-Moon-Earth) path.
 
 
 2  Program Overview
-
+----------------------------------------------------------------------
 WSJT's user interface is written in Python.  The major Python
 source-code files include:
 
@@ -50,7 +53,7 @@ weak-signal communication.
 
 
 3  Some Functional Details
-
+----------------------------------------------------------------------
 WSJT execution starts at the top of Python file wsjt.py.  The
 other Python modules are loaded and executed as needed.  Fortran
 routines are called to start a high-priority thread to handle
@@ -63,7 +66,7 @@ alternating transmission and reception intervals.
 
 
 4  Other Open-Source Software used in WSJT
-
+----------------------------------------------------------------------
 WSJT 5.9 uses the following open source libraries:
 
   1. FFTW, by Matteo Frigo and Steven Johnson, for computing Fourier
@@ -79,18 +82,18 @@ WSJT 5.9 uses the following open source libraries:
 
 
 5  Platform-Dependent Notes
-
+----------------------------------------------------------------------
 The Python code should run on any supported Python platform.  Most of
-the remaining code can be recompiled for Linux or OS/X, instead of
-Windows.  Platform-dependent versions of FFTW, PortAudio, and
-libsamplerate need to be installed.  
+the remaining code can be compiled for Linux, FreeBSD, unix, or OS/X,
+as well as Windows.  Platform-dependent versions of FFTW, PortAudio,
+and libsamplerate may need to be installed.
 
 Methods are provided for creating additional threads and setting their
-runtime priorities in both Windows and Linux.
+runtime priorities in Windows, Linux, and FreeBSD.
 
 
 6  Partial List of Functions and Subroutines, and their purposes
-
+----------------------------------------------------------------------
    Routines for audio startup, decoding, display computations
      blanker.f90  Noise blanker
      fivehz.f90   Called by PortAudio callback
@@ -161,7 +164,7 @@ runtime priorities in both Windows and Linux.
    FFTs:
      fftw3.f      Fortran definitions for FFTW
      four2a.f     Wrapper to make FFTW look like four2
-     four2.f      FFT in Fortran
+     four2.f      FFT in Fortran (a;ternative to using FFTW)
      ps.f         Compute power spectrum
      xfft.f       Real to complex FFT wrapper
 
@@ -230,7 +233,7 @@ runtime priorities in both Windows and Linux.
 
 
 7  Compiling Instructions
-
+----------------------------------------------------------------------
 Scripts are provided for compiling WSJT in both Windows and Linux.
 They are presently set up to use Compaq Visual Fortran (v6.6) and
 Microsoft C (v6.0) in Windows, and g95 and gcc in Linux.  My
@@ -256,11 +259,25 @@ These steps produce a distributable file WSJT6.EXE (Windows) or wsjt6
 end user does not need to install Python or any of its other
 extensions, or the compilers.
 
+A configuration script and Makefile facility is also provided.
+Assuming that all of the pre-requisites are properly installed, WSJT
+can now be compiled in Windows as follows:
 
-8  Present status (December 28, 2005)
+  C> copy Makefile.win Makefile
+  C> nmake
 
-WSJT version 5-9-2 r25 is fully functional in Windows.  The Linux version
-can be used to decode recorded files, but real-time audio I/O has not
-yet been implemented.
+In Linux or FreeBSD, do the following:
+
+  $ ./configure --enable-portaudio (or --enable-alsa)
+  $ make
+
+
+8  Present status (January 17, 2006)
+----------------------------------------------------------------------
+
+WSJT version 5.9.2 (built from SVN revision 115) has been released for
+Windows.  It is is fully functional in Linux and BSD, as well, but
+presently need to be compiled locally.  In due course we plan to
+provide distributions for standard *nix distributions.
 
 
diff --git a/ftn_init.f90 b/ftn_init.f90
index c2107bbf2..b98252410 100644
--- a/ftn_init.f90
+++ b/ftn_init.f90
@@ -18,7 +18,7 @@
 !------------------------------------------------ ftn_init
 subroutine ftn_init
 
-  character*1 cjunk
+  character*1 cjunk,fname*80
   include 'gcom1.f90'
   include 'gcom2.f90'
   include 'gcom3.f90'
@@ -32,6 +32,7 @@ subroutine ftn_init
   enddo
 1 iz=i
   lenappdir=iz
+  call pfxdump(appdir(:iz)//'/prefixes.txt')
 
 #ifdef Win32
   open(11,file=appdir(:iz)//'/decoded.txt',status='unknown',               &
diff --git a/pfxdump.f b/pfxdump.f
new file mode 100644
index 000000000..dc7dbf00f
--- /dev/null
+++ b/pfxdump.f
@@ -0,0 +1,13 @@
+      subroutine pfxdump(fname)
+      character*(*) fname
+      include 'pfx.f'
+
+      open(11,file=fname,status='unknown')
+      write(11,1001) pfx
+ 1001 format('Supported Add-on Prefixes:'/90('_')/(15(a5,1x)))
+      write(11,1002) sfx
+ 1002 format(/'Supported Suffixes:'/44('_')/(11('/',a1,2x)))
+      close(11)
+
+      return
+      end
diff --git a/wsjt.py b/wsjt.py
index f1fc4534c..c49949489 100644
--- a/wsjt.py
+++ b/wsjt.py
@@ -766,6 +766,19 @@ reports may be substituted.)
     Label(screenf5,text=t,justify=LEFT).pack(padx=20)
     screenf5.focus_set()
 
+#------------------------------------------------------ prefixes
+def prefixes(event=NONE):
+    pfx=Toplevel(root)
+    pfx.geometry(msgpos())
+    if g.Win32: pfx.iconbitmap("wsjt.ico")
+    f=open(appdir+'/prefixes.txt','r')
+    s=f.readlines()
+    t=""
+    for i in range(len(s)):
+        t=t+s[i]
+    Label(pfx,text=t,justify=LEFT).pack(padx=20)
+    pfx.focus_set()
+
 #------------------------------------------------------ azdist
 def azdist():
     if len(HisGrid.get().strip())<4:
@@ -1607,6 +1620,7 @@ helpbutton['menu'] = helpmenu
 helpmenu.add('command', label = 'Keyboard shortcuts', command = shortcuts)
 helpmenu.add('command', label = 'Special mouse commands', command = mouse_commands)
 helpmenu.add('command', label = 'What message to send?', command = what2send)
+helpmenu.add('command', label = 'Add-on prefix list', command = prefixes)
 helpmenu.add('command', label = 'About WSJT', command = about)
 
 #------------------------------------------------------ Graphics areas
@@ -1978,7 +1992,9 @@ try:
 #        elif key == 'RxDelay': options.RxDelay.set(value)
 #        elif key == 'TxDelay': options.TxDelay.set(value)
         elif key == 'IDinterval': options.IDinterval.set(value)
-        elif key == 'ComPort': options.ComPort.set(value)
+        elif key == 'ComPort':
+            options.ComPort.set(value)
+            Audio.gcom2.nport=int(options.ComPort.get())
         elif key == 'Mileskm': options.mileskm.set(value)
         elif key == 'MsgStyle': options.ireport.set(value)
         elif key == 'Region': options.iregion.set(value)