New Minor version(5)
!AIBRM,$PTHAJ,!PTHAR,$AIALR (used by True Heading RX
Pro) decoded & added to default filter
!PTHAR filtered as CRC error
$AIABM decoded except binary data & added to default
!__VDO & !__VDM added to default filter
Received time stamp when reading log file not always
Lat/Lon precision [fixed]
Versioning system for output file names introduced to resolve
file name conflicts when multiple copies of AisDecoder
Not responding on exit bug in V146 [fixed]
TCP client input logon with username/password enabled
Comm Poll timer error (buffer overflow) changed to non fatal
Possible error 457 (Duplicate key in collection) [fixed]
Msg 8-367-33-10 updated
Possibility of input log file not rolling over [fixed]
Minor changes to make csv output compatible with V129 group
If File input did not contain a NMEA encapsulated terminator
(*), program could loop [fixed]
All numeric output file name caused error 5 ! [fixed]
Auto-Version Updater on test
Programmatical termination could fail (eg in batch file)
Vessels.dat could lose data [fixed]
New version checks written to start up log
Option to suppress sentence rejection if NMEA AIS fill bits
incorrect added (ask me how)
Terminating AisDecoder could cause "Program Not Responding"
Nmea sentence prefix with invalid time stamp caused NMEA
sentence not to be processed [fixed]
Non existent input file caused error [fixed]
Form unloading changed
Static Vessel Data now cached and output with all Tagged and
Note: Cached Static Data will be lost if Tags are changed
Allow non integer for number of parts in encapsulated sentence
Licence info blacked out Win7 + only [fixed]
Administrator Privilege no longer required to access
Options (please email me if you require this restriction)
Non existent Serial Port in .ini file, incorrectly caused
invalid format error (could cause program crash) [fixed]
Serial port input/settings changed to use NmeaRouter api's
Serial ports no's over 16 now supported
Autobaud rate detection added
Output File Rollover without output file caused error [fixed]
Text string @ suppression removed (except cached vessel name)
Incorrect no of fields in VD* sentence could cause error
Unix Time added in description of received time, allowing
filtering by time
Msg 25,26 ambiguities in M1371-5 coding changed
File input did not always pause
Allow non-null nmea single part sequential ID
Option to disable OwnShip (VDO) display
Replace any nulls in sentence pre-fix
GPS sentences not always tagged correctly
Live website moved from NmeaRouter.com to Arundale.com
Update code re-written, to report new version when available
Font changed to fix formatting on recent windows installations
IFM 1-0 Text Telegram incorrect with Msg 25/26 [fixed]
Input filter by MMSI to added
GIS & LatLon filter re-written
MMSI definitions updated
Input filter definitions changed (nmea & dac/fi)
Input filter walk changed
TCP client timeout increased to 5 secs, before trying as
Major performance increase now > 200k sentences per min on
(dependant on complexity of output)
Support for all files larger than 2GB increased to approx to
TCP Client not always disconnecting [fixed]
Encryption of FTP password changed, will need re-entering if
using an earlier version
Create Tag GUI could setup incorrect Tag [fixed]
Name of AtoN now shown as Vessel Name
7 new MID's added
User Tag name not saved from V128 [fixed]
High receive rates (> 30k sentences/min) causing errors
Tags not synchronised when profile first loaded [fixed]
IEC Encapsulated sentences added
Large numbers of sequential CRC errors could cause crash
Nmea log file size is limited to 2GB - WIP
Program terminates unexpectedly when Input Log File exceeded
Overflow error, Maximum message statistics increased from
2Giga to 400Terra
Named Vessels statistic included some vessels for which name
had not been received [fixed]
Provision to filter through non-NMEA sentences added
Input Filter Settings may not be saved if synchronise filter
set with no tags [fixed]
Msg26 decoding changed to reflect specification change in
$GPRMC decoded to assist time stamping
Deleting current .ini file could cause AisDecoder to abort
Output all Ais message fields as CSV did not work [fixed]
Msg 8-367-33 minor field name changes
NMEA output available without using Scheduler
Range Filtering by Lat/Lon now uses vessels last known
position for all AIS sentence types
Minor improvements to display windows
Cancelling selecting a file name could cause program to exit
identification of embedded Time Stamps
sentences $--TXT and $--ALR parsed out & error code
Nmea esc ^ handled
ExactEarth Comment block Group Parameter-Code parsing bug
Bad MID could cause program to crash [fixed]
Shell on Output File Close function added to enable another
program to process the output file
backup any user created initialisation
files created prior to V118)
changes to Initialisation File formats (Input Filter and Field
Default and all sample initialisation files changed, to
support fast MMSI input filter
Individual fields on any type of NMEA sentence may now be
Tags for AIS payload fields common to all AIS payloads (Msg
Type, MMSI & repeat) in
addition to received time no longer need
specifying for individual AIS message types
Time Stamps now also displayed and also taggable in unix time
Support for $PGHP sentence encapsulation
Bug in multi-part sentence payload re-combiner when part1
Changed links and email contact to new web server
of non-AIS NMEA sentence and Comment Block handling
Tags on NMEA sentence fields and Comment
Block parameters now allowed
Duplicated Field Tags purged
Synchronisation of Input Filter to Output
Tags now handles NMEA sentence tags
More support for unix style Time Stamps
Sentences prefixed with Time Stamps can be
Multiple sentence delimiters on File Input could cause
duplicated output [fixed]
Output File could be overwritten with "No Data" on file
Enumeration of serial ports now same as NmeaRouter
Output of bit map in ASM 6/8-1-22 for
Test DAC 0 May be mapped to a User specified DAC (email me for
how to do this)
Enumeration of Serial Ports could fail with More data
If no filtered data since last scheduled output, output
file will contain "No Data"
If Time To Live is 0, all filtered data received since last
scheduled will be output
If no data received since last scheduled, scheduler will still
Auto-detection of TCP Client/Server improved
Asynchronous user message display implemented
Detect NMEA sentence delimiter error
Split TCP sentences re-assembled
If TCP Client fails, TCP server is attempted
!**VDO sets MyShip position and range
Input filter by range from MyShip
Passive FTP now the default client
ASM 1-31 minor decoding errors [fixed]
Allow Dot in FTP directory name
FTP could time out if server login was very slow [fixed]
Zip using GE Overlay could fail [fixed]
Range Filter not always applied with NMEA Output [fixed]
Suppress Template Output if no tags replaced
If CSV field contains delimiter and double-quote ("),
escapes double-quote with double-quote ("") RFC4180
ASM 367/33 added (13Aug2012 replaces ASM 366/33)
Precision field added to ASM 366/33 (V1.5 12Apr11-1May13)
ASM 366 defaults corrected
Enumeration of COM ports on start up could cause error [fixed]
Incorrectly formatted initialisation file could cause error on
start up [fixed]
Attempts auto-detection of Serial Baud rate
Slow serial data could be lost during reset [fixed]
Serial Input buffer terminator identifier must be
Type error possible with invalid Nmea format of !AI sentence
If only one serial port - option not enabled, problem
introduced in V103 [fixed]
Overflow error at very high message rates > 60,000/min
Enumeration of PC Serial ports changed
Characters prior to $ or ! are not removed if NMEA is
!AIVDO added as filter option
Special Tag nmea_lat and nmea_lon created to reformat lat/lon
in GPS format
CSV header prefixed with ~ to enable Excel to distinguish
between header and data
Spoofing of $GPHDT & $GPRMC tags from !AIVDM
Undecoded Binary Hex output base incorrect [Fixed]
$GPGGA with null time field caused Error 13 [Fixed]
Optionally Allow User without Administrator rights to Edit
Property error on start-up [fixed]
Changing installation folder could cause file not found error
If PC had no serial ports connected, decoder failed to
DBCS (Japanese) in date format could cause decoder to stop
Timing issue could cause partial sentence loss on serial input
IEC 61162 Comment Block parsed and parameter values output
IEC Comment Block Stripped out
Msg type 25 could cause decoder to stop [fixed]
DAC 1, FI 31 Meteorolgical and Hydrographic Data
Time at midnight output to log file was blank [fixed]
Binary Message 8 with no data could cause AisDecoder to
GoogleEarth scaled closeup of vessels
Occasional overflow error on file rollover [fixed]
Now accepts all talker ID's defined in IEC 62320-1 as valid
Changes to scheduling to allow local processing while
upload in progress
Changes to try to ensure web server does not serve a partial
file, if big.
TCP input option added
Default CSV separator is changed to | if decimal separator
is comma (European)
Complete rewrite of FTP upload module
New FTP Window added to make user debugging of website upload
KMZ Zip DLL not extracted by installer in some Windows
FTP status added at bottom of Control/Stats window
Local Time Zone description truncated if very long [fixed]
FTP upload could fail if password contained multi-lingual
FTP upload could fail if output file name contained spaces
Minor change to Google Earth Template
Help last updated at V83
Time now logged as UTC
Optional display of file locations & names
Major rewrite of file handling
Output files may be rolled over to a new name daily (if not
Now decodes !BSVDM and !BSVDO messages
Option to output a CSV header added
Temperature decode error fixed
!AIVDO messages not always being accepted by input filter
Various Google Earth issues fixed
Bug fixes to v76-8 Cached Vessel Names
Saves vessel names between sessions.
Checks an startup and every hour to see if a new update is
available (if enabled).
Another fix to settings not being saved.
Minor changes to stats display.
issue causing some
settings not to be saved fixed.
Minor performance enhancements.
Startup log file now created.
Internationalisation (language) problem could cause Path not
found error on startup fixed.
Badly formatted messages very occasionally could cause program
to crash now fixed.
Serial Input settings not always retained fixed.
Further changes to example files and transfer to User
Sample Initialisation files updated
Help file updated
New option to output CSV heading added
Sample Excel initialisation file added
Help now includes details on how to configure Google Earth for
Output display options moves to Control/stats window
Not retaining settings on Msg 24 Class B fixed
Not retaining Input source fixed
User defined date/time formats for output added
Time stamp format now uses PC's locale setting
Command line option to force initialisation file
HTML Character substitution split between UDP and File
Not all sample initialisation files had been included with the
Help updated - spnmea added, several issues clarified (I
When ALL fields were output as CSV, NMEA sentences that
were not !AIVDM or !AIVDO were not being output. Fields are
now output exactly the same as the rows in column 2 on the
detail display. This differs from the column order in Version
Problem with NMEA GPS tags and synchronisation fixed.
There is now a "Windows Style" help file
(AisDecoder.chm), which is downloaded on installation to your
Program Files directory. When press the Help button, you will
be using this file. The new Help can be viewed independently
of AisDecoder by locating this file and clicking on it.The Web
Help File is out of date, but still on the Web Site for users
who are using older versions (access from download page).
Installer now checks to ensure
AisDecoder is not running prior to installing a later version
some incompatible changes with previous versions.
The installed executable is now named AisDecoder - not
installation executable is now AisDecoder_setup_126.96.36.199.exe
(and will change with each version).
Downloading New Versions
I have changed the complete download mechanism to
1. To try and make it more robust
2. To create a unique install executable
file with each version
3. To as far as is possible allow multiple
users on the same PC to have their own settings files
4. Removed the Automatic Download of new
On start-up AisDecoder will (if there is an internet
connection) check if there is a later version.
If so, it will enable the Update button on the Control/Stats
window (the Update text will cease to be "greyed out").
On clicking the Update button AisDecoder will close and your
browser will start with the release notes. Having read the
notes, you should click the link on the Release Notes to go to
the Download page.
You cannot install AisDecoder unless you have Administrator
For AisDecoder to start, it must have a valid initialisation
The current user's files are kept in the "Current User"
There are a number of Sample or Example files to demonstrate
some of the possible options. These are explained in Help.
Any user who is not an Administrator, will not be able to
access the Options Window so can only change settings on the
Control/Stats Window, cannot save these settings and will not
be prompted to save changes on exit.
If the Input Window was clicked, when no input sentences
displayed, AisDecoder stopped. This has been fixed.
The Decoder will now output all decoded value fields as CSV,
if CSV output is selected and NO
field Tags are selected.
The sample file CsvAll.ini is preset to do this.
The Ouput format is:-
Received Timestamp (if it exists) , Vessel Name (blank if not
received) , NMEA Payload field , Delimited Decoded Payload
The order in which the Delimited Decoded Payload Fields are
output is the same as in the Detail Window.
KMZ output files are now supported for Google Earth. Just name
the output file *.KMZ
Msg 21 (AtoN), if there is a name extension, the decoder now
displays in the Detail Window the number of fill bits (if
If the Payload within a NMEA AIS message is too short to hold
all the required bits to decode the whole message, the number
of bits short are displayed at the bottom of the detail
window. Any fields past the actual payload length will have
all bits set to 0 (zero).
When you exit the program, if you have not saved your settings
& they have changed, you will be prompted to save them.
This will not happen for non-administrators as they cannot
save their settings anyway.
If an AIS NMEA sentence had a valid CRC but insufficent words
Ais Decoder could crash, this is now reported as an error.
If you are the only user on your PC and you installed
AisDecoder you do not need to worry about Profiles.
When the Ais Decoder Setup program downloaded user file files
(including sample files) are now placed into the "All Users"
AisDecoder is run by any user, all
files currently existing in "\All
Users\Application Data\Arundale\AisDecoder" are copied to
"Current User\Application Data\Arundale\AisDecoder". This will
include all the above list of sample files as well as any
additional files the Administrator may have placed in the All
Although the Current User does have access to their own files,
by default, files in \Application Data\ are hidden, unless you
are an Administrator.
If the current user requires directory access to any of the
AisDecoder folders or files, create a shortcut in the user's
After re-installing a new version of AisDecoder (or you have
Adminstrator priviledge), when you first run the new version,
you will be prompted as to whether you require any of the
above sample files which differ from those in your own
profile, being overwriten.
If you are not an administrator, they will be overwritten
The first time a user runs a new version, default.ini is
always overwritten in the Current Users profile.
The uninstaller will only remove the downloaded files (in All
Users), the "Current User" files will be automatically removed
if you delete the "Current User" profile.
Code to output fill bits when added at the end of
variable length messages to fill message to next 8 bit
boundary has been re-written, to correctly decode when fill
bits are tagged. This is used by message 20 (Shore Station
Data Link Management).
Note a significant no of shore stations transmit incorrect
An Out of memory error fixed, caused by under certain
circumstances a Microsoft size limit being exceeded.
An occasional Subscript error fixed.
There were a number of problems in the decoding of the
Communications State, due to the variability of the bit
positions. I believe the decoding is now correct. Some shore
stations appear to transmit incorrect data, for example Next
Slot Offset of 2250 - the maximum permitted slot is 2249
(these may be test transmissions).
The MMSI decoding has been split into MMSI and MID
The MMSI description is the type of MMSI (for example Shore
Station, SART etc)
The MID description is the Country.
Where the MMSI does not contain a MID (for example SART)
,the MID is output as 0 (not blank).
The special Tag <IconHeading> will output 511 if
neither COG or HDG is available.
Internal changes to scheduled output, speed improvement of