TMX/MVS Ham Band Software Version 2.4 GE TMX/MVS Ham Band software Copyright 1991, 1994 by Dave Page. This software remains the exclusive property of the author. The author grants that this software may be duplicated for personal, non-commercial use provided that it is distributed in its complete, UNMODIFIED form including this documentation. You may not use this software in commercial service. All rights reserved. This software is Shareware. If you wish to use this software for a period longer than 30 days, please send $10 to: Dave Page 292 Lark St. Apt. 2 Albany, NY 12210 There is no express or implied warranty that this software is useful for anything, or will not cause harm to the equipment in which it is used, or meets any technical or legal requirements whatsoever. This license supersedes any previous licenses or policy. The terms of the agreement may be changed at the discretion of the author at any time. Have Fun! I'm interested in providing a quality, bug-free program to the amateur radio community. Please send any suggestions or bug reports to the above address, Internet E-mail to paged2@rpi.edu. 9-14-1992 Dear Customer: Congratulations on your purchase of the state of the art in Ham TMX software! You will be proud to know that you have joined the ranks of many famous radio amateurs now using this esteemed software. After many long, arduous years of intensive effort, this software represents the epitome of functionality and ease of use. It embodies many of the ideals of excellent amateur radio equipment, including: HANDSET MODE For use with the "Test Handset." The handset is used to configure the radio's programmable parameters. It also can be used to operate the radio normally, and it's use is required to utilize some of the more advanced features of the software. Display The LCD display normally shows the RX frequency. A space separates the 1 MHz digit from the 100 kHz digit for legibility. The least significant digit of the frequency display will be replaced with an "L" if the keyboard has been locked. Display indicators: HORN Received signal present. ROAM Zero TX offset. NO SERV Memory will be skipped in Memory Scan. IN USE Radio is transmitting. Getting Started The radio will take a few seconds to boot the first time it is powered on, as it initializes the non-volatile memory. The radio defaults to 902 operation; all memories are initialized to 921.1MHz with a -12MHz offset. The ID memory is set to "ID". Step one: programming the RF band. If the frequency "921_1000" is not currently displayed, press "CL" or the PTT button. This is the normal keyboard command entry mode. Press "0". You will see "opt=". Press "5". You will see "05 5=". Type in two digits based on the following table: 00 10m - not tested 01 6m - not tested 02 2m 03 220MHz - you're on your own! 04 440MHz 05 902MHz The radio will say "OK" in morse code. Step two: programming the 1st IF frequency. Orient the radio with the handset connector toward you. Look at the lower right corner of the RF board. You will see three miniature crystal cans. The one closest to the MC3361 is the local oscillator crystal; the others are 1st IF filters. Read the frequency printed on the side of the crystal IF filters. It should be listed in this table: 00 39.0MHz (usual IF for 902MHz) 01 39.5 02 45.0 (usual IF for 2m and 440MHz) 03 45.0125 Press "0" from the frequency display, as before. Next, press "7". You should see "00 7=". Enter the number corresponding to your IF frequency listed above. The radio will again say "OK". Step three: select low/high side injection. Press "0" from the frequency display. Press "4". For 2m, enter "99", for 220, 450 and modified 800 enter "00", and for 900, enter "16". If you have problems on 900 with a hole in the receive coverage in the middle of the band, try adjusting this number up or down a few. For the other bands, enter "00" for low side injection, or "99" for high side injection. Step four: on the air. Press "#". Punch in a good repeater frequency. The offset should automatically be selected (press "*" if you want to check -- see command reference). Press the PTT button. Enjoy. This firmware uses the "VFO" model of operation: the RX and TX frequencies (as well as CTCSS tone, etc.) are determined by the current state of the VFO. The VFO may be loaded from or stored to a memory. Changing the frequency in the VFO has no permanent effect -- the VFO must be explicitly stored back to one of the memories to make the change permanent. Keyboard Command Reference CL Forces squelch open. Toggle. The radio will emit a high tone when the squelch is opened and a low tone when it is closed. Also used to exit out of some entry modes. See specific commands for details. The PTT button may be used to exit as well, if not already transmitting. CL-* Erases the entire contents of the non-volatile memory. Use with care. E Function shift. Used with other buttons. Up/Down Controls volume level. Saved with STO *. E-Up/Down Controls backlight level. # Permits direct entry of RX frequency . Six keystrokes are expected, except 10m and 6m use five. CL may be used at any time to abort with no change. If the radio is set for duplex operation, the standard repeater offset will be selected. * TX offset entry. Shows current offset, with a space separating the 1 MHz and 100kHz positions. Negative affsets are prefixed with an "n". Expects five keystrokes. CL or PTT cancels. The offset sign is determined automatically based on the RX frequency. E-7 Moves VFO frequency down by one step. E-8 Toggles the sub-band mute on and off. The radio will report "mute" or "on" to indicate the current mute condition. This command works only in multi-radio mode. E-9 Moves VFO frequency up by one step. E-0 Toggles the keyboard lock. The lock prevents the radio from accepting most keystrokes. Band select and sub mute keys are not affected. An "L" on the right hand side of the display indicates that the keyboard is locked. RCL Recalls memory to VFO. Next keypress 0-9 selects memory number. CL cancels with no change. STO Stores VFO to memory. Next keypress selects destination. CL aborts. S Memory scan mode. Scan stops when signal detected. Press PTT or a key to exit. Operates in carrier mode. Memories that are set to skip (NO SERV) are ignored. The scan rate is about 20 channels per second. Pressing the S button while in scan mode toggles between scan-stop and scan-resume mode. Scan-resume mode resumes the scan several seconds after the carrier drops. E-S Frequency scan mode. Radio scans channel steps between the limits set by memories 8 and 9 (8 must be less than 9). Stop conditions are signal present, PTT, or keypress. The scan rate is about 30 channels per second. Pressing E-S or S while in frequency scan selects scan-stop or scan-resume modes, as above. 1 Toggle memory scan skip/no skip (NO SERV indicates skip). In remote base mode, if NO SERV is on, the radio will report the memory number instead of the frequency for the particular memory selected. Each memory may be programmed independently. The VFO must be saved to a memory for the change to take effect. 2 Direct mode. Toggles between direct (zero TX offset) and duplex if an offset is programmed. If no offset is programmed, the standard offset is selected. The radio will report "R" or "S" in CW, indicating repeater or simplex operation. 3 CW speed. Sets CW speed from 00-49. Two keystrokes expected. CL or PTT aborts with no change. Saved with STO *. 4 CW ID memory. The radio accepts up to 40 S-COM CW character codes. Press CL to finish entering the message. If CL is the first keypress, the command is aborted with no change. 5 CTCSS tone select. The radio accepts the CTCSS encode tone if the radio is in encode mode (see E-7), or the CTCSS decode tone if it is in the encode/decode mode. These tones must be programmed separately. The radio accepts an integer 3 digit CTCSS tone frequency in Hz. Two digit frequencies must be entered with a leading zero (e.g. 067). The handset will indicate "E" or "d" for CTCSS encode or encode/decode mode. It will also show the current CTCSS tone. All zeros means CTCSS encode or decode off. CL cancels the command at any time with no change. Note: No CTCSS will be encoded while other tones are being encoded e.g. DTMF, CW. (This due to hardware limitations). 6 Autodial program. The radio will prompt for a single digit indicating the autodial memory to program. CL aborts with no change. Then it will prompt for up to 25 DTMF keystrokes. E-[1|4|7|*] will encode [A|B|C|D], respectively (making the first column a phantom fourth column while E is pressed). CL terminates the DTMF entry. The memory is recalled by pressing PTT-RCL, and the digit of the memory to be encoded. 7 CTCSS decode toggle. It will toggle between encode and encode/decode. It reports "en" or "de," respectively. Also determines wether the CTCSS tone entry sets the encode or decode tone (see E-5). 8 Toggles the sign of the TX offset. Reports "plus", "minus", or "0". 9 Sets CW and roger beep pitch in Hz. Expects 3 digits. Save with STO *. 0 Sets one of ten option registers. First digit selects option register 0-9. Next two kepresses set its value 00-99. Save with STO *. Register Description 0 If no handset connected, 00 = control head; 01 = remote base. (see remote base section). If a handset is connected, selects normal mode (00) or the address for this radio in multi-radio mode (01-06). Defaults to 00. 1 CW ID interval in minutes. Sends the CW ID at the specified interval. Triggered by transmit activity. Defaults to 00 (off). 2 CTCSS mute delay in 10mS. When the PTT button is released, the radio will mute CTCSS and continue to transmit for this duration. Defaults to 00. The next two selections are programmed to the desired frequency modulus 100, i.e. the remainder of the desired frequency when divided by 100. For example 145MHz = 45, 234MHz = 34, 908MHz = 08. 3 VCO crossover frequency in MHz. The VCO runs in two bands which may overlap by a few MHz. This overlap region varies from VCO to VCO. Defaults to 914MHz (14). 4 RX crossover frequency in MHz. Above this frequency, the receiver uses low side injection; below, high side. Defaults to 916MHz (16). 5 RF Band select. 00 10m 01 6m 02 2m 03 1.25m 04 70cm 05 33cm 6 Initial memory load. Specifies which of the ten frequency memories is loaded into the VFO at power-up. Defaults to 01. 7 1st IF frequency. Defaults to zero. 00 39.0MHz 01 39.5 02 45.0 03 45.0125 04 10.7 05 11.2 06 12.0 8 Time out timer in minutes. Prevents the radio from transmitting continuously. The timer resets to zero after one second of PTT inactivity. After the specified time has expired, the radio asserts COR output, and reports "TO" in CW. The transmitter is them disabled and the receiver becomes ready. If timeout occurs, there must be 10 seconds of contiguous PTT inactivity before the transmitter will again become active. The default timeout is 05 minutes. 9 Roger beep time in 10mS. When PTT becomes inactive, the radio will transmit n*10mS of tone at the CW frequency. Useful for linking transmitters. Follows any CTCSS mute delay. Defaults to 00. PTT-digit While PTT is pressed, the radio will encode any DTMF digits entered on the handset. If the E button is pressed, the first column simulates a forth column as described above (6). PTT-RCL digit The radio will prompt for an autodial memory (0-9). Expects one keystroke. CL aborts. If the timeout timer expires, the command is canceled. PTT-S Sends the pre-programmed CW ID. MULTI RADIO MODE This mode permits a single handset to control more than one radio. Physically, the radios are mounted together (perhaps in the trunk) and a single 9 conductor cable runs to the handset. On the radio end, the cable is wired out into a plug for each radio. The power cables for each radio must be paralleled and switched simultaneously. The handset cable is wired as follows: Pins 1,2,4,6,7,8,9 are connected in parallel and to the handset. Pick pin 3 (A+) from one radio and connect it to the handset. Connect 1k resistors to each pin 5 (RX audio) and tie them all together and to the handset pin five. Alternatively, the 1k resistors may be placed inside the radio (with a trace cut), and the radios paralleled using IDC DE-9's and ribbon cable. Next, the software. Power up each radio separately; set option register zero to a unique address for each radio (01-06). One radio must be set to address one; the system defaults to this radio. Now, connect all the radios together, and power them up. E-n should select radio n. All radios' receivers will be active simultaneously; only the selected radio will respond to the handset or transmit. Selecting an address that does not exist will lock out the PTT button and handset for all radios. You may select a valid address to restore normal operation. CONTROL HEAD The control head is the normal GE supplied user interface for the radio. The channel selector positions 1-4 select memories 1-4 as programmed by the handset. The monitor button opens squelch when PTT button is not pressed, and will send the user programmed CW ID message when the radio is keyed. If the corresponding autodial memory is programmed (1-4) the monitor button will send the DTMF sequence instead. One may program all memories to the same frequency and use the knob to select DTMF sequences, or any combination thereof. PL encode/decode is associated with the memory selected; other features are not accessible, and must be pre-programmed by the handset. Option register 0 must be programmed to 00 to operate the control head. REMOTE BASE MODE The remote base mode is similar in concept to the control head mode. Its purpose is to allow half-duplex linking or remote base functions to be controlled by a repeater or other remote system. Four memories are remotely selectable with separate encode and decode tones for each memory. Activity triggered CW ID is available. A 'roger beep' may be programmed on the TX drop (to identify the source transmitter in hubbed linking applications). A programmable timeout is available which allows a control operator access to the repeater controller at a remote site via the linking radio should undesirable circumstances arise (after the time out period, of course). The COR (received signal present) signal is available on the power connector HORN line (pin 1). This is an open collector output and it may need to be pulled high. This signal is active low. It reflects the audio mute state of the radio (as opposed to noise squelch only). An active low CTCSS decode signal is available on the DE-9 pin 6. The radio may be programmed with a decode PL tone, but set for encode only. In this case the COS line follows noise squelch; the CTCSS line indicates a valid tone. This may be used for control operator verification, or in conjunction with an intelligent repeater controller (S-COM) for remote carrier/CTCSS access selection. One of ten memories may be selected using DE-9 pin 1. This line is pulled high through 50kohms. This is the normal state. When brought low, the remote base activity is disabled, and the radio is reset to memory one. If the line is pulsed high briefly (less than 1 second), the next memory will be selected (counting past memory nine returns to zero). If the line is brought high and held there for at least two seconds, the radio will again become active. When the radio comes out of the inactive state, it simulates COR (the HORN signal goes low), and reports the frequency in MHz followed by "r" for repeat (duplex) or "s" for simplex. For those who would like to keep the frequency confidential, the scan skip option may turned on for that memory, in which case the radio will send "mem n" in CW, where n is 0-9 instead. The remote control line may be connected to a PL decoder on the repeater input (crude), or it may be connected to a logic output on a repeater controller (better). Example: S-COM macros (connect DE-9 pin 1 to S-COM pin 7) Memory Macro # Macro Codes Comment Off 90 PW701* Set control line low permanently 1 91 PW721*PW981* Pulse control line low, delay 1 Sec 2 92 91*91* Pulse twice 3 93 91*91*91* Pulse thrice 4 94 91*91*91*91* Pulse four times If a timeout occurs, the radio will both continue to transmit and bring COR low. It will send "to" in CW. The transmitter will drop and the receiver will become active. A ten second lull in PTT input activity will cause the timeout state to reset. The radio will simulate COS while sending "air bag" in CW. Option register 0 must be set to 01 to use remote base mode. TMX HARDWARE MODIFICATION There is one (optional, but very useful) hardware modification. This permits the radio to transmit 300-3kHz audio tones. The tradeoff is that it will no longer transmit 4800bps data. The mod is reversible. First, locate and study service manual LBI-38338. This document is very useful (and occasionally interesting). Next, locate and remove the audio board 19D902306 from the chassis. Find C320 19A704879P4, a 22uF electrolytic. On the solder side of the board, cut the trace leading to the - (negative) lead. Connect a jumper from U605 19A701789P1 pin 1 to C320's - (negative) lead (also on the solder side). Set R324 19B800779P16 (a pot) to about 80% (component perspective). Replace the audio board. You may wish to set R324 with a service monitor (IFR AM/FM 1200S) for 3kHz or so of DTMF encode deviation. CF-1000 HANDSET MODIFICATION The TMX "test handset" is really just a cellular (GE CF-1000) handset with a fancy PTT button. It easy to add a momentary normally open push button to the CF1000 handset case in the area of the earphone molding. For the electrical connections, ohm out DE-9 pin 9 to the speaker to locate ground. Next, ohm out DE-9 pin 2 at the handset cable where it connects to the PC board. Cut this wire near the PC board. Connect the button to ground and to the wire leading to DE-9 pin 2. When the PTT button is pressed, it should ground DE-9 pin 2. MVS(MCS) LOGIC BOARD The MVS logic board normally uses a 87C64 EPROM, which is not large enough to accept the ham firmware. Purchase an Intel 87C257 and program it with the MCS ROM image. Bend out pin 1 and jumper it to pin 20 with some wire wrap wire. Bend out pin 27 and solder on a 3 inch piece of wire wrap wire. Insert the EPROM into the socket on the MCS logic board. All pins except pin 1 and 27 should engage the socket. Solder the free end of the pin 27 jumper to pin 27 (yes, 27 again) of the 8032 microcontroller. Note that the 87C257 EPROM contains an internal address bus latch that is required by the logic board design. The much more common 27C256 cannot be substituted. Note that because of the latch, not all EPROM programmers can program the 87C257. Either the TMX test handset or the modifed CF1000 handset can be used with the MVS. KNOWN BUGS CTCSS decode presently does not work correctly until the radio has transmitted a CW ID. On the MVS, audible tone encoding does not modulate the TX signal. Also, the volume control function does not work. I don't have enough information to resolve these problems in software or devise hardware work-arounds. If one desires TX audible tones, it should be possible to bypass the CTCSS filter in the TX audio path -- although this will break the CTCSS encode capability. NOTES: Versions of this software are available for both TMX and MVS logic boards. The software is designed to work with a TMX audio board. Other audio boards with squelch may work also. The 144, 450, 860, or 935 RF boards may be used with any logic board. Obviously, some modifications will be required to use the 860 RF boards. Take care to set the correct RX IF frequency (see Option Registers). Yet another version is available for the T3G01 (SF1000, etc.) cellular phone. A squelch, and substantial RF modifications are required. The resulting radio is half duplex only and has no CTCSS. Inquire at your dealer for details. It should be noted that references to "customer" and "dealer", etc. are tongue-in-cheek -- this firmware is an entirely non-commercial effort. Some Technical Info S-COM CW codes 0 - 00 9 - 09 I - 18 R - 27 1 - 01 A - 10 J - 19 S - 28 2 - 02 B - 11 K - 20 T - 29 3 - 03 C - 12 L - 21 U - 30 4 - 04 D - 13 M - 22 V - 31 5 - 05 E - 14 N - 23 W - 32 6 - 06 F - 15 O - 24 X - 33 7 - 07 G - 16 P - 25 Y - 34 8 - 08 H - 17 Q - 26 Z - 35 . - 36 Space - 40 BT - 44 ; - 48 , - 37 AR - 41 SK - 45 () - 49 / - 38 AS - 42 - - 46 ? - 39 BK - 43 : - 47 " - 52 DTMF Error Analysis Tone(Hz) Actual Tone Error(%) 697 693.975 -0.43 770 768.000 -0.26 852 847.059 -0.58 941 944.262 +0.35 1209 1200.00 -0.74 1336 1339.53 +0.26 1477 1476.92 -0.005 1633 1645.71 +0.78 All DTMF tones are within 1%. Frequency Band Info Band(m) Step Size(kHz) TX Offset(MHz) 10 5 -0.1 6 5 -1.0 2 5 -0.6 if f<147MHz, else +0.6 1.25 5 -1.6 .7 12.5 +5.0 if f<446MHz, else -5.0 .33 12.5 -12.0 Handset Connector Pinout Mates with a DE-9S. Signal descriptions for handset mode. 1 - Serial data to radio, TTL, mark = +5V, 300bps N81 2 - Push to talk, active low 3 - Filtered A+, 150mA max. 4 - Transmit audio, about 0.5V RMS 5 - Recieve audio, about 1.5V RMS 6 - Serial data from radio 7 - Hook/Monitor input, active low (not used) 8 - Logic ground 9 - Audio ground Control head mode assignments. Pins 1, 6 are used as channel select inputs in control head mode, with the following numbering scheme: Channel Pin 1 Pin 6 1 0 1 2 1 1 3 0 0 4 1 0 Pin 7 when active, opens squelch in RX mode, and sends CW ID or DTMF sequence in TX mode. Remote base mode signals. Pin 1 is used as a remote control input as described in the remote base section. Pin 6 is available as a PL decode output. Pin 7 is not used. Power Connector Pinout 1 - TMX - Horn (used as active low RX signal present), open collector. MCS - +13.6VDC power input. 2 - +13.6VDC power input. Rated at 6.0A on TX. 3 - Power Ground Revision History V2.2 April 1992 - Fixed problem with TX offset memory. Negative values were not saved/recalled correctly. May 1992 - 1.25m Band frequency memory problem fixed. Added feature where duplex/simplex toggle chooses standard offset, if none originally programmed. Revision History V2.3 Aug 1992 - Fixed problem with TX synthesizer lock detection during simplex operation when using TMX9315s. - Modified Handset mode TX timeout so that it rests as soon as PTT is released. - Added some more audio response features to handset keyboard commands. - Fixed serious problem with remote base mode frequency announcement. - Modified timed CW ID logic so that TX does not drop if ID is to occur immediately after PTT.