Free for use by amateur radio operators...( i.e. FreeWare )


Icom Memories Manager for Windows

© Doug Hunter VK4ADC

An Icom (™) memory management package for downloading/ editing /reloading the radio's memories in a large range of amateur transceiver and receiver products including, but not limited to, 

IC-7000, IC-7100, IC-7200, IC-7400 / IC-746Pro, IC-7410, IC-7600, IC-7700, IC-7800, IC-9100,

IC-746, IC-910H, IC-756Pro, IC-706Mk2G, IC-706Mk1, IC-718, IC-970, IC-R7100

For Google searchers: IC7000, IC7100, IC7200, IC7400, IC746Pro, IC7410, IC7600, IC7700, IC7800, IC9100,
IC746, IC910H, IC756Pro, IC706Mk2G, IC706Mk1, IC718, IC970, ICR7100

A few more like the IC-756Pro2 & IC-756Pro3 series need to have details determined/ decoded/ inserted/ updated before they are fully supported.........


  

 

WARNING: You have to make sure that Transceive is set ON in the CIV configuration menu in the radio before you run either MEMS or the IcomExplorer software....

 

 

 

PLEASE  NOTE THAT ALL SOFTWARE DEVELOPMENT ON THIS PROJECT HAS HALTED.

THERE WILL NOT BE ANY FURTHER UPDATES SO THE FINAL VERSION IS AS AVAILABLE BELOW.

 

 

20 Jan 2016 : V1.1.0.6 now available. Mainly fixes of R9100 settings plus a few labels that were missing from the earlier versions.

 

14 Jan 2016 : New version 1.1.0.4 solves the floating point error issue and memory access errors in the IC-9100..  

Thanks to Duarte CT1EIZ who gave me the hint, the issue was caused because some countries use a "," (comma) separator where we in Australia use a "." (fullstop) as a separator character in our decimal numbers.  Also, Duarte uses an IC-9100 and had issues with retrieving & storing memories in it so sent a couple of screen shots for me to check since I don't have a 9100 to try  the software with. I found that the 9100 was getting a 2-number memory channel detail where it required four. I have added a variable named Memchars into RadioModels.txt against each model listed. The likes of the 9100 (and similar) require this set to 4 while any others will likely require a zero (0) value.  The best idea is to install V1.1.0.4 dated 19 January 2016 into a new folder so that it will create new extracts of the support files, including RadioModels.txt. The Membanks value for a typical 9100 is 3.

If you have another model that passes the initial tests but will not read/write memories, it may be that you will need to exit MEMS, edit that model detail within Radiomodels.txt, save and close it and then restart the software. If you do make such a change and it corrects an issue, email me  your edited file.
 
The other possibility is that the memory structure of the product does not match up with those set up in the matching model profile in the RADIOMODELS.TXT file..  The details listed there were extracted from the available info at the time and it is possible that they are in error. The best approach is to use the IcomExplorer utility and zip/compress the resulting data files and email them to me so I can see where they do not match up.   The EXE file is in the IcomExplorer.zip available from the box below. This utility is very basic and there is no explanatory texts, try the "seat of the pants" approach and grab whatever data files it produces.....  Click on the Write To File box to create disk files, use the Basic Test and Autotest buttons to gain further data. Make sure you use the Read Mem#1 function so that the memory structure is downloaded.   If Transceive is set OFF in the CIV configuration menu in the radio then nothing will be seen from the radio as it needs some response before it can figure out the radio’s address.
 
Please email (address above) any modified Radiomodels.txt files to me so that I can update the next release version.
 

2nd April 2015:

A new utility has been added to confirm that this style of software can actually access the windows registry and is not inhibited by antivirus, spyware etc applications running on the PC. A number of users report  MESSAGES APPEAR SUGGESTING DELETING CIVLIST.TXT AND RADIOMODELS.TXT and I have not been able to duplicate the effect on any of my PCs. This utility creates and reads a new key under HKCU/VK4ADC to confirm that access is permitted and leaves the key there after completion, it being the same registry area that the Icom MEMS saves its data into the registry. If it can't run correctly then there is no chance that the MEMS software will run either.

 

MEMS.EXE Version 1.1.0.3 was  also released today and it has two new functions to help solve the issues with previously untested models or with either very slow or very fast PCs. The later models products are all included in the "memstructure = 1 format and a new tickbox appears in this mode and it has the caption Adjust R/W Timing. Placing a tick in this box reveals a slider adjustment, a numerical value box and a SET button. The standard values displayed there are typically 50 and this is representative of the rate at which the radio's memories are either read or written. Fast or slow PCs may mean that this value will require adjustment up or down to provide correct functionality. Note that the slider only makes an obvious difference during the memory read and write functions i.e. when the Read From Radio or Write To Radio buttons have been pressed. The values for read and write are actually separate even though they are shown on the same slider. It is important that the SET button is pushed once the slider is adjusted and before the read or write to memories function actually finishes. It then sets the values in the Windows Registry for the next time. If you do alter the values and you still have problems reading or writing memories, exit and restart the software so that the altered values are preloaded. Values that are either too high or too low will result in rubbish to/from the radio and if in doubt, set it back to the 50 value.

The second function is an I/O Debug tick box which, when selected, makes a window appear over the top of the grid data and it reflects the serial I/O taking place with the Icom product. A Clear Window button appears below the tick box to allow you to delete old info if the screen becomes too full or conflicting. A few diagnostic text files are also created during the software operation while the I/O box is ticked and this allows the data exchanges to be examined in other than real-time, e.g. by me if someone has issues with a new model as the files can be emailed to me for further examination. The main info to look for in the onscreen box is any lines that start BAD: as that means that the command was rejected by the Icom product. Either the function is not directly supported by the radio or the command has not been correctly formed for that particular model and requires either alteration of the RADIOMODELS.TXT file or a program alteration.

The help file has not been altered for this release.

 

Files for download:

   *** NEW RELEASE OF VERSION V1.1.0.6 AVAILABLE NOW, file dated 20 Jan 2016 ***

 

 If you have downloaded 1.1.0.5 or anything prior to 20 Jan,  if using the same folder then please delete the previous 

MEMS.EXE, Radiomodels.txt, CIVList.txt and MEMS.HLP files before extracting the ZIP or using the EXE file.

If placing into a new folder, just proceed....

 

 
File Version Final Size Notes  

       

Mems.ZIP

SEE NOTE DIRECTLY ABOVE THIS DOWNLOAD INFO BOX

V1.1.0.6 517KB Save/Copy into a new folder off C: drive, de-archive and then run with Windows Explorer.  
Mems.hlp V1.1.0.0 387KB This help file is automatically created by running the application but is available as a separate download from here.  
         
IcomExplorer.zip V1.1.0.4 340KB Icom CIV diagnostic.
     
RegTest.zip V1.0.0.1 213KB Confirm that the Windows registry access is NOT inhibited
Version Info: V1.1.0.0 August 2014 Initial release
V1.1.0.1 19 Sep 2014 IC-746, IC-910H and IC-756Pro details added in Radiomodels.txt support file. CIVlist.txt file amended.
V1.1.0.3 April 2015 I/O debug box and memstructure 1 timing adjustment made available to set for when memories do not read or write correctly due to computer specification eg CPU speed.
V1.1.0.4 14 January 2016 Floating point error solved, was due to decimal separator character being a comma in some countries and a fullstop in others (like VK)  Memchars added to RadioModels.txt for models that require 4 chars in lieu of the standard two in memory operations.

 

WARNING: You have to make sure that Transceive is set ON in the CIV configuration menu in the radio before you run either MEMS or the IcomExplorer software....

 

 

Interfacing the PC to the Icom product:

You will require a CI-V interface of some kind: a physical serial port on the Windows-based PC (eg COM1, COM2...) or a USB to serial adapter plus an Icom CT-17 CI-V interface, or a similar homebrew device. I have tested the software using both arrangements but be aware that I have not asserted DTR or CTS on the serial port so an external interface may require a power supply, USB styles excepted as they gain their power from the USB port.  

I have also used an FTDI-based USB->TTL serial board bought through eBay for about $3 and all you need to do with them is to use the RxD TTL line as the CI-V I/O and add a 100 ohm resistor from the TxD pin back to the RxD pin.  Add a toroid to the incoming USB line at the PCB end as a minimum to reduce RFI back into the radio on receive. Some boards may require additional bypass capacitors to be fitted to quiten them down - remember that these are not sold for the AR market ((typically they are marketed for the Arduino micro users) and may be a bit noisy without extra suppression components fitted.

SPECIAL NOTE : If you have a PTT-line interface plugged into one of your computer's serial ports, unplug it while you use the Memories Manager software. It may cause the radio to go into transmit mode....

There are few, if any, software packages around that allow the reading and writing of the memory contents in multiple models of Icom (™) transceivers and receivers. Icom has progressively been placing more detail into the internal memories such that the actual structure, and hence the data contained within, has altered considerably with different models. These details can only be accessed using the proprietary Icom CI-V protocol, a single-wire bi-directional serial communications strategy that operates between 0V and +5V, i.e. TTL voltage levels.

A difficulty arises when trying to use different models but the same basic memory configuration as the data obtained from, or the data to be written to a model varies. Most software works only with specific models because of these variations.

I now own six different Icom brand radios with CI-V capability and have often wanted to drop the same memory arrangement from say my IC-706(Mk1) into my IC-706Mk2G or even into my IC-7400. I now have an IC-7000 so the desirability to be able to not only save data for a specific model, as well as cross-load between models, is even greater.  I have used Delphi (a Windows-based graphical Pascal) for some years but I have never really attempted to do anything significant with the CI-V world within the Windows environment until quite recently.  This resulted in my writing not only a specific-models program to handle the 6 radios I have, but I then recognised the need for greater model flexibility so set about downloading the various Icom model PDFs and examining the published memory structures. The newest models have quite complex structures while the earlier models don't have anything other than VFO/frequency, emission mode and (sometimes) IF bandwidth settings stored. To allow for past plus future models, a somewhat flexible approach was undertaken in developing this software.

The memory structures are defined in a text file that defines the very basic characteristics of the specific model, its memory detail breakdown (from the manual - where available) and its CI-V address detail. That information is editable such that new models can be added or existing ones have details adjusted.

The fundamental functions such as reading from, or writing to, the radio's memories, reading and writing memory contents files to/from disk, clearing radio memories all exist. The data files are all textual so that you use them elsewhere, print them etc.. These are CSV format so they can be opened with MS Excel or equivalent and be edited / sorted etc and then saved back into the same or a new file name. 

 A 'user verification" procedure has been written into the code to virtually force the removal of an inbuilt 10 channel memory limit and the process need only be done initially and with a major program version change. The process creates an email containing your validated amateur callsign, email address and the software version number and will allow me to cross-check who has installed the software and provide contact email details. You will then receive an automatic response email from the VK4ADC webserver providing the correct email address to provide feedback, bug reports and suggestions. This verification process will need to be repeated if a significant change in version number occurs and a window should pop up advising that this is necessary. Be aware that the calculation and lookup process can take quite a while on slower machines so please be patient and wait for the verification window to disappear.

The later models with the memstructure = 1 (details under the Model Flexibility topic) value should all work without any issues but some of the earlier models (memstructure = 2) sometimes throw up errors due to CI-V bus timing, some of which may be impracticable to solve.

The access to the earlier models is intentionally slow during Reading and Writing so as to minimise communications errors. Typical access rate is around 1 memory per second which may seem slow but is still a lot faster than "doing it by hand" for 99 channels !

This software package is for Windows 32/64 only (i.e. WinXP, Win7, Win8) and was written in Delphi7.  Note that the software will not function with the very early IC-731 due to data differences.

It has been tested on the following models so far: IC-706Mk1, IC-706Mk2G, IC-718, IC-7400, IC-7000 and IC-R7100. 

If you have an error message and the software won't close normally, note the error details down exactly then use the Ctrl-Alt-Del buttons to get Task Manager up and close the Mems.exe task in the Processes Window.  


I suspect that the software will be 'in development' for some time so please do not place copies of the program on other web sites - simply weblink back to this page on the VK4ADC website.

Note  that some antivirus suites may indicate the possibility that the Icom Memories Manager software may be infected and want to move it to the 'chest'.  In reality, it is the presence of the code which is used to do the user callsign validation via the internet and then the subsequent internal emailing process that is being detected and gives rise to the alert. The software itself is definitely not infected.

Installation

The Icom Memories Manager software has been written in Delphi7 and is an 'all-in-one' application that doesn't really require installation as such.

Simply copy the executable file, MEMS.EXE plus the help file MEMS.HLP, if present, into a new folder, for example C:\IcomMems.
The actual folder name is not critical but some permissions issues can be avoided under Win7/8 (etc) by creating a new folder directly off the C:\ root and copying/saving the file directly into it. 

There are no .DLL or OCX libraries to load so just the single file is all that is needed to make the software operate.

By all means run an antivirus scan on it and then proceed to the next step.

Use Windows Explorer to run it for the first time and it will create a couple of support files in text  (.TXT & Mems.hlp) format in the folder plus a shortcut on the Windows Desktop. Any subsequent memory or support files will be created in .CSV format in that same folder.

Initially it will have an internal software limit of 10 memories until the user is 'verified' and then it will return back to the normal limit of 99 memories. To verify, select Verify User from the Help menu, insert your amateur callsign and email address then press the Verify button. The status will change from Not Verified to Verified OK if a validated callsign has been entered.  An email to the VK4ADC webserver will also be generated to notify that a specific callsign has been utilized for that version, with a copy back to the originating email address, and is just so I can keep track of who is using the software and which version has been downloaded / installed.

You can install the software on multiple PCs but you will need to undertake a 'user verification' process on each machine. Significant software revisions will also incur a re-verification process.

Read the Help File for more information - it will be created automatically.. - OR - download the "MEMS print.PDF" file from the link at the top of this web page.

----------***-----------

Just a couple more screen shots from actual operation on a Win7 machine & with an IC-7400 :

During the model evaluation....

The Duplex Setup screen...

Under WinXP & an IC-7000 :

VK4ADC