By Dave Karr, KA9FUR
Updated 9-June-2004

Click here to download the latest software

This is a mirror of the KA9FUR Main Site

RFGuys X2212 programmer

What is DeltaPRG?

This program is a quick little utility I created that allows very flexbile programming of the GE/Ericsson Delta radio's from Windows using GE's serial RIB, the TQ-3330.  I found GE's DOS program to be problematic on some computers and cumbersome to use when performing simple tasks.

Despite the fact that I took the time to design a RIB and software (found elsewhere on this website) that allows an easy interface to the PC's parallel port, this scheme would not work on computers running NT/2000/XP, and since that represents my primary desktop environment, I had some additional motivation.



Download the software to a temporary directory and unZip it with your favorite archive tool.  Run the SETUP.EXE file as you would normally expect to do, and let the installer do its thing.

If you don't like the program, remove it from Window's control panel as you would any other undesired piece of software.

Yeah, but how the #%!@ do I use it?

Copy this channel to ALL others

A somewhat hidden feature is that you can click on the channel number shown on the left side of the screen to copy that channel's parameters to ALL the other channels.

Tx/Rx Frequency.

Clearly this is the desired frequency for each channel.  When you exit the data entry box, the field will be updated with the nearest actual frequency available.

PLL Ref.

This allows you to manually select the PLL reference frequency bits.  The appropriate selection will vary for each radio type and the default should be set correctly when you select a new radio type from the drop down box at the bottom of the screen.  The PLL reference values in the drop down boxes are computed values and will change if you edit the Reference Frequency field.

Changing this selection will cause the Tx and Rx frequencies to be updated to show the nearest actual frequency available.


First, if you don't want to enable a tone on a given channel, then simply delete the digits within the box.

To enable a tone or code on a channel simply enter the desired Channel Guard tone frequency, or Digital Channel Guard code value.  Entries which contain a decimal point are treated as CG tones, so if you only enter "100" in the field it will be treated as a Digital Channel Guard code rather than a tone frequency.

When CG tone values are entered, the actual value that the radio will use will replace the value you just entered in the entry field.  Generally what you will see is that the actual tone values will vary by a few tenths of a Hertz.  There is no difference in the actual values written to the radio between this software and any other programming software you may have used in the past.  The only difference here is that this software shows you the "Actual" values rather than the nearest common value.

When DCG codes are entered, a search for a common code equivilant will be performed when you exit the data entry field.  For example if you enter "057", the code equivilent "172" will replace what you just entered.  If you are not familiar with how the 23 bit Golay encoded DCG code works, let's just say that there is more than one code that produces the same results for most of the valid codes.  I chose to normalize the displayed values to the primary codes listed in GE's documentation.

If the entered code cannot be normalized to a different code, and is not among the list of common codes, then that code will be used directly.  No checking is enforced on valid vs. invalid codes.

The rest of this discussion on DCG may bore some of you and interest others.  You've been warned...

Normally the 3 octal digits used to represent the DCG code would require 9 bits of EEPROM memory to store.  GE's firmware authors correctly recognized that 99% of the valid DCG codes can be represented using only 8 bits if a code equivilant is chosen that doesn't require the most significant bit of the most significant octet to be set to a "1".

If you plan on reading a radio with the GE or Niles software its important to note that the DCG code value displayed in those respective programs may display something different than what you'd expect to see including all zeros.  Why?  Well it has to do with how an alternate code is chosen.  In GE's case 9 times out of 10 they chose the code with the lowest binary value, even if the primary code itself could have been correctly stored, but this doesn't always appear to be the case.  After some experimentation with different codes, my best guess is that GE's software is using a lookup table, and that the relationship between what is displayed to the user and what is stored in the EEPROM was somewhat arbitrarily determined.

Because it yields a more flexible solution, my software uses an algorithmic approach rather than lookup tables, and because I wasn't able to come up with a 100% match between GE's somewhat arbitrary relationship, the result is that the radio will be programmed correctly, but other software may not lead you to that conclusion.  If you program the radio using GE's software, my approach will always display the correct code regardless of which code variant GE chose to use.

Another important aspect to point out is that GE's programming software, depending on the band split, stores the DCG code using a code equivlant of the logically inverted DCG code.  Note that this is not simply the octal code value inverted, but representative of the entire 23bit Golay encoded word being inverted.  The Niles software does not appear to take this into account and thus will display numbers that don't make much sense to the end user.  It logically follows that radio's programmed with the Niles software would result in non-obvious code values within the GE software (GE tends to display all zero's if it doesn't understand).

So, with flexibility in mind, I've provided the option to invert the Tx and Rx DCG codes.  That option is selected at the bottom of the screen simply by checking or unchecking the listed options.  Entries in the INI file control the default settings for these items based on the bandsplit of the radio.

As I said earlier, 99% of the valid DCG codes can be represented using only 8 bits.  The only GE published code that is the exception is "731".  However they did make provisions for other codes as well including "645" (Niles will display as "526") which many Motorola radios are capable of.  Six other codes (446, 452, 454, 455, 462, and 523) are also available as codes that use the special mechanism GE uses to represent codes that would normally require 9 bits to properly represent.


If this checkbox is checked, then the Squelch Tail Eliminator, is enabled for that channel.


This series of drop down boxes allows you to set the transmit timeout timer for each channel.


These checkbox's allow you to manually set the synthesizer range bits for SX series radios.  At the present time there is no automatic setting of these bits, so you need to make sure you program these bits correctly yourself.


This drop down box allows you to select the desired radio model.  Radio models are defined in the deltaprg.ini settings file which can be modified as desired.

This selection is saved to the registry.

Tx/Rx Mult.

This simply allows you to change the multiplication value realized after the VCO.  Normal values range from 1-3.

Changing this value will cause the frequency data entered above to change.

IF Freq.

This should be set to the IF frequency of the particular radio model.  Value is in MHz.

Changing this value will cause the frequency data entered above to change.


Select either high or low side injection.

Changing the setting will update the frequency data entered above and can be used to show what the image frequency of a given channel would be.

Ref. Freq.

This should be set to the reference oscillator value for the particular radio model.  Value is in MHz.

Changing this value will update the frequency data entered above as well as showing the new PLL reference frequencies in the PLL Ref. drop down boxes.

Tx/Rx DCG Inverted

As mentioned in earlier, these check box selections simply select whether or not the Digital Channel Guard code should be stored as an inverted value.  If the checkbox is checked, then the DCG code will be treated as an inverted code.

Read/Write Radio Buttons

Cause the radio to be read from or written to.  A pop up box shows the various stages of communications with the Serial RIB.

Menu Items


Allows the user to read stored EEPROM image files.  Data is stored as ASCII hex nibbles in the same way that the Niles software stores its data.

No attempt is made to determine the appropriate Band setting so before opening a new file, the user should select the correct radio first.


Allows the user to save the current EEPROM image.
This selection is saved to the registry.

Options/Clear memory on new band select

This menu item can be toggled on and off and is saved to the registry.  If selected, it will cause each new band split selection to blank the data on the form, and reset the reference divisor to the approriate default for that radio's bandsplit.


This simply opens up the Windows Notepad with the text based INI file associated with the program.  When Notepad is exited, new settings values are re-read from the INI file.

I've commented the INI file as well as I think I needed to.  If there are sections in the file that you don't understand, then you probably shouldn't make any changes in those areas.  If you've got specific questions, please ask.

The one thing that you may need to edit is the serial Communications port setting.  I've placed this at the top so that its easy to see.  Simply set the CommPort parameter to the numeric value corresponding to the serial port the GE RIB is connected to.


If selected, causes a debug.log file to be written with information about the operation of the software.

Open issues/TODO list...

Version History

Version 1.0.13 - 5-December-2002 - First Public Release

Version 1.0.16 - 7-December-2002

Version 1.0.20 - 10-December-2002 Version 1.0.21 - 09-August-2003 Version 1.1.22 - 08-June-2004

If you find this software useful, how about making a donation to offset my costs?

 Click the button below to make an online donation now!

Contact me with questions and comments

DeltaPRG -

Back to home page