FT-991A memory map - Revision 0.7f - April 5, 2023 Maintainer: Gil Kloepfer KI5BPK ------------------------------------------------------------------------------ 1.0 Caveats, Background Information, Conventions 1.1 All numbers are in decimal (base 10) except for addresses, which are in hexidecimal (base 16) unless otherwise noted. 1.2 Bits are listed as "b#" where "#" is a number of the bit from least to most significant bit, from 0 (zero) to 7 within a byte. This is what it looks like and values in tabular form: +-----+-----+-----+-----+-----+-----+-----+-----+ Bit Number: | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | +-----+-----+-----+-----+-----+-----+-----+-----+ Numeric Value: | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | +-----+-----+-----+-----+-----+-----+-----+-----+ Bit definitions are generaly listed as [b#] or [b#-b#]. When a range ("slice") is given, it is listed from most significant to least significant bit. For example, for a value residing in bits 3, 4, and 5, a definition is listed as [b5-b3]. A value placed into a range/slice will be defined in the map as though it is shifted down to the least significant bit. For example, for a slice of [b5-b3] assigned a value of 4 will look like this: X X 1 0 0 X X X 1.3 Bits within a byte not listed should be treated as "unknown", and should be handled using read/modify/write. 1.4 Values within addresses are unsigned integers, except where indicated with [SV], which are signed, 2s compliment values (-128 through +127). Multi-byte integer values are stored as big-endian (most significant byte first). Other types of data will be indicated in the description. 1.5 Values not defined should be treated as out-of-range or unknown, and it is not recommended to write unknown or out-of-range values to a memory location. 1.6 Default values are marked with an asterisk (*) 1.7 Items that are not well checked are marked as or indicated 1.8 The SPR/SPW commands read and write two bytes at a time. Because of this, any software that modifies a single byte will NEED to perform a read/modify/write operation, since the operation will overwrite the byte following the address provided. A good subroutine library would handle this transparently. 1.9 This document is written to be printed using a fixed-width font, 80 columns maximum, standard US ASCII character set. This is being maintained in this manner to allow for the widest ability to read and print. Any changes to the document should maintain this convention. 1.10 Addresses marked DO NOT CHANGE means that these items are known or are reasonably thought to be items that are EXTREMELY DANGEROUS to modify. There are no restrictions on reading any locations, but DO NOT CHANGE addresses should never be written. Note that these may be different on different radios (calibration parameters, radio ID). 1.11 Undocumented addresses MUST NOT be written until documented. Writing to any undocumented addresses may cause permanent malfunction of the radio, requiring it to be returned to Yaesu for repair. 1.12 Software that is designed to save the configuration of the radio MUST NOT write to DO NOT CHANGE addresses. It is STRONGLY recommended that software only modify the memory in the minimum amount necessary. This is because any of this information can change at any time due to a firmware update. It is recommended that utilities that save and restore the radio's configuration attempt to utilize the Yaesu-documented CAT commands whenever possible, and utilize memory read/write only to effect changes that cannot be reasonably performed with documented CAT commands. 1.13 Firmware releases this was tested on: Main: V02-01 / DSP: V01-12 / TFT: V02-00 / C4FM: V04-15 Main: V02-04 / DSP: V01-12 / TFT: V02-00 / C4FM: V04-15 2.0 Memory Map 2.1 Complete Memory Map ------------------------------------------------------------------------------- Addr(hex) Length Description -------- ------ ------------------------------------------------------------- 0000-0009 10 Unknown Hex: 00 00 A5 5A A5 5A 00 70 A5 00 [DO NOT CHANGE] This appears to be a "magic number" for memory validation purposes. Note that JP0991 undocumented command recalls/modifies value at 0x0006-0x0007, and it is stored internally at memory addresses 0xff2004 and 0xff2005. 000A-00D1 200 Calibration/Service Parameters [DO NOT CHANGE] 00D2-0124 83 Unknown constants - LIKELY CALIBRATION [DO NOT CHANGE] (TODO: I think some of these are the 11 initial 24-bit tuner values described in the manual under ATU on p63) 0125 1 [b7-b5] Tuning mode: Mem=2,MT=3,VFO-A=4 0126 1 [b7-b6] Clarifier: Off=0, RX=3 [b1-b0] Current band: 0=HF, 1=50MHz, 2=VHF, 3=UHF 0127 1 [b7] FAST: On=1 Off=0 [b5] LOCK: On=1 Off=0 0128 1 [b2] PROC: *Off=0, On=1 (level in 0x016F) [b1] SPLIT: *Off=0, On=1 [b0] MIC-EQ: *Off=0, On=1 0129 1 [b8] VOX:*Off=0, On=1 [b6] Keyer:*Off=0, On=1 [b1] Menu 084 (ARS 144MHz) 0=OFF,*1=ON (saved @ menu exit) [b0] Menu 085 (ARS 430MHz) 0=OFF,*1=ON (saved @ menu exit) 012A 1 [b7-b5] M-LIST=4, BAND=2, MODE=1, Waterfall=0 012B 1 Menu number (-1) selected with MULTI knob (recall with MENU) 012C 1 Menu display line selected w/MULTI (0=top, 1=middle, 2=bottom) 012D 1 0x00 012E 1 Menu number (-1) programmed to C.S. (Custom Switch) button 012F 1 [b7-b4] Band stack ID of VFO-B (using A=B) (see note 5) [b3-b0] Band stack ID of VFO-A (see note 5) 0130 1 0x65 0131 1 [b7-b6] 7.0 Band/Band stack stack position (see note 5) [b5-b4] <5> Band/Band stack stack position (see note 5) [b3-b2] 3.5 Band/Band stack stack position (see note 5) [b1-b0] 1.8 Band/Band stack stack position (see note 5) 0132 1 [b7-b6] 21 Band/Band stack stack position (see note 5) [b5-b4] 18 Band/Band stack stack position (see note 5) [b3-b2] 14 Band/Band stack stack position (see note 5) [b1-b0] 10 Band/Band stack stack position (see note 5) 0133 1 [b7-b6] AIR Band/Band stack stack position (see note 5) [b5-b4] 50 Band/Band stack stack position (see note 5) [b3-b2] 28 Band/Band stack stack position (see note 5) [b1-b0] 24 Band/Band stack stack position (see note 5) 0134 1 [b7-b6] GEN Band/Band stack stack position (see note 5) [b5-b4] MW Band/Band stack stack position (see note 5) [b3-b2] 430 Band/Band stack stack position (see note 5) [b1-b0] 144 Band/Band stack stack position (see note 5) 0135-013B 7 0x00 0x00 0x00 0x00 0x00 0x32 0x32 013C 1 MONI level (default=50) 013D 1 (key) PITCH level (Hz) 300+(val)*10, default=30, 0->75 013E-0147 10 Callsign (10 characters, padded with ASCII blank) 0148 1 [b7] Occasionally toggles, not sure why 0149 1 (VFO-A) MULTI knob controlling button (see note 6) 014A 1 (5MHz0-Mem) MULTI knob controlling button (see note 6) 014B-014D 3 0x01 0x01 0x10 014E 1 (MEM/MT) MULTI knob controlling button (see note 6) 014F 1 (MEM/C4FM) MULTI knob controlling button (see note 6) 0150 1 0x00 0151 1 [b7] C4FM AMS *0=Off, 1=On [b6] C4FM DIGITAL mode *0=DN, 1=VW 0152-0157 6 all 0x00 0158 1 Menu 017 (CONTEST NUMBER) - Updated only when unit powered off, will change if operating CW in contest mode 0159 1 [b2] Scope Mode: 0=One-shot, 1=Continuous (SWEEP) 015A 1 RF Power HF : USB+LSB 015B 1 RF Power HF : AM 015C 1 RF Power HF : CW+RTTY+DATA 015D 1 RF Power 50 MHz : USB+LSB 015E 1 RF Power 50 MHz : AM 015F 1 RF Power 50 MHz : CW+RTTY+DATA 0160 1 RF Power VHF : USB+LSB 0161 1 RF Power VHF : AM 0162 1 RF Power VHF : all FM 0163 1 RF Power UHF : USB+LSB 0164 1 RF Power UHF : AM 0165 1 RF Power UHF : all FM 0166 1 0x00 0167 1 APF level [SV] (val) * 10Hz, default=0 0168-016C 5 all 0x00 016D 1 Current CW speed (wpm) 016E-0171 1 0x00 016F 1 PROC (Speech Processor) level (0-100), *50 (on/off in 0128) 0170-0171 2 0x00 0174 1 Meter PO=0,ALC=1,SWR=2,COMP=3,IDD=4,VDD=5 0175-017B 7 0x00 0x00 0x00 0x00 0x0F 0x32 0x0F 017C 1 "MIC GAIN" 0-100 (TODO: different on different modes) 017D-0188 1 0x00 017E 1 (LSB+USB/P) DT GAIN value (0-100) *50 017F 1 all 0x00 0189-018C 4 (Phone/U+L) Bottom function button keycodes 1-4 (see note 6) 018D-0190 4 (CW/U+L) Bottom function button keycodes 1-4 (see note 6) 0191-0194 4 (RTTY/U+L) Bottom function button keycodes 1-4 (see note 6) 0195-0198 4 (DATA/U+L) Bottom function button keycodes 1-4 (see note 6) 0199-019C 4 (AM) Bottom function button keycodes 1-4 (see note 6) 019D-01A0 4 (all FM) Bottom function button keycodes 1-4 (see note 6) 01A1-01A4 4 (C4FM) Bottom function button keycodes 1-4 (see note 6) 01A5 1 [b7-b4] (CW-U+L) Function Page Number (see note 6) [b3-b0] (Phone U+L) Function Page Number (see note 6) 01A6 1 [b7-b4] (DATA-U+L) Function Page Number (see note 6) [b3-b0] (RTTY-U+L) Function Page Number (see note 6) 01A7 1 [b7-b4] (all FM) Function Page Number (see note 6) [b3-b0] (AM) Function Page Number (see note 6) 01A8 1 [b7-b4] (probably always zero) [b3-b0] (C4FM) Function Page Number (see note 6) 01A9 1 0x00 01AA 1 [b7] Time Display: *0=UTC, 1=Local [b6] Daylight Savings (DST): *0=Off, 1=On [b5] Date Format: *MM/DD/YYYY=0 YYYY/MM/DD=1 [b4] Latitude: 0=N, 1=S (see note 2) [b3] Longitude: 0=E, 1=W (see note 2) [b2-b0] Unknown (bit:111) 01AB-01AE 4 Latitude (encoded, see note 2) 01AF-01B3 5 Longitude (encoded, see note 2) 01B4-01BF 12 0x00 0x80 5*0x00 0x13 0x14 0x14 0x14 0x14 01C0 1 [b7-b6] Menu 061 (QSK DELAY TIME) *15msec=0, 20msec=1, 25msec=2, 30msec=3 01C2 1 [b7-b4] Menu 012 (KEYER TYPE) OFF=0 BUG=1 ELEKEY-A=2 *ELEKEY-B=3 ELEKEY-Y=4 ACS=5 01C3 1 [b7-b6] Menu 055 (CW AUTO MODE) *OFF=0 50M=1 ON=2 [b5] Menu 013 (KEYER DOT/DASH) *NOR=0 REV=1 [b3-b2] Menu 058 (CW WAVE SHAPE) 2msec=1, *4msec=2 01C4 1 [b7] Menu 059 (CW FREQ DISPLAY) DIRECT FREQ=0, *PITCH OFFSE=1 [b6] Menu 056 (CW BK-IN TYPE) *SEMI=0, FULL=1 [b4-b0] Menu 014 (CW WEIGHT) 2.5->4.5; 2.5 + (val) * 0.1 (val) => 0-20 01C5-01C6 2 Menu 001 (AGC FAST DELAY) [msec] 20->4000, step 20, default=300 01C7-01C8 2 0x00 0x14 <-- TODO: note: 0x14 = 20, see above... 01C9-01CA 2 Menu 002 (AGC MID DELAY) [msec] 20->4000, step 20, default=700 01CB-01CC 2 0x00 0x14 01CD-01CE 2 Menu 003 (AGC SLOW DELAY) [msec] 20->4000, step 20, default=3000 01CF-01D0 2 0x00 0x14 01D1 1 Menu 010 (DVS RX OUT LEVEL) 0->100, default=50 01D2 1 Menu 011 (DVS TX OUT LEVEL) 0->100, default=50 01D3 1 [b4] Menu 033 (CAT RTS) DISABLE=0 *ENABLE=1 [b1-b0] Menu 032 (CAT TOT) *10msec=0 100msec=1 1000msec=2 3000msec=3 01D4 1 Menu 049 (AM DATA GAIN) 0-100, default=50 01D5 1 Menu 040 (CLAR MODE SELECT) *RX=00, TX=01, TRX=02 01D6 1 Menu 099 (RTTY OUT LEVEL) 0-100, default=50 01D7 1 Menu 107 (SSB OUT LEVEL) 0-100, default=50 01D8 1 Menu 054 (CW OUT LEVEL) 0-100, default=50 01D9 1 Menu 039 (REF FREQ ADJ) [SV] -25->+25, default=0 01DA 1 Menu 073 (DATA OUT LEVEL) 0-100, default=50 01DB 1 Menu 046 (AM OUT LEVEL) 0-100, default=50 01DC 1 Menu 075 (FM OUT LEVEL) 0-100, default=50 01DE 1 [b4] Menu 114 (IF NOTCH WIDTH) NARROW=0b0, *WIDE=0b1 01DF-01E0 2 0x0F 0xFF 01E1 1 [b7] Menu 007 (DIMMER LED) 1=0 *2=1 [b3-b0] Menu 008 (DIMMER TFT) 0-15 (default=8) 01E2 1 [b7-b4] Menu 006 (DISPLAY COLOR) *BLUE=0 GRAY=1 GREEN=2 ORANGE=3 PURPLE=4 RED=5 SKY BLUE=6 [b3] Menu 004 (HOME FUNCTION) *SCOPE=0 FUNCTION=1 [b1-b0] Menu 009 (BAR MTR PEAK HOLD) *OFF=0, 0.5sec=1, 1.0sec=2, 2.0sec=3 01E3 1 Menu 078 (FM PKT TX GAIN) 0-100, default=50 01E4 1 [b7-b6] Menu 086 (DCS POLARITY) *Tn-Rn=0, Tn-Riv=1, Tiv-Rn=2, Tiv-Riv=3 [b2-b0] Menu 110 (SSB TX BPF) 100-3000=0, 100-2900=1, 200-2800=2, *300-2700=3, 400-2600=4 01E5 1 [b7] Menu 079 (FM PKT MODE) *1200=0, 9600=1 [b3] Menu 072 (DATA PORT SELECT) *DATA=0, USB=1 [b2] Menu 077 (FM PKT PORT SELECT) *DATA=0, USB=1 [b1] Menu 048 (AM PORT SELECT) *DATA=0, USB=1 [b0] Menu 109 (SSB PORT SELECT) *DATA=0, USB=1 01E6 1 [b5] Menu 045 (AM MIC SELECT) *MIC=0, REAR=1 [b3] Menu 070 (DATA IN SELECT) MIC=0, *REAR=1 [b2] Menu 074 (FM MIC SELECT) *MIC=0, REAR=1 [b0] Menu 106 (SSB MIC SELECT) *MIC=0, REAR=1 01E7-01E8 2 Menu 080 (RPT SHIFT 28MHz) 0-1000KHz, def=100KHz, step 10 01E9-01EA 2 Menu 081 (RPT SHIFT 50MHz) 0-4000KHz, def=1000KHz, step 10 01EB 1 0x00 01EC 1 Menu 016 (NUMBER STYLE) *1290=0 AUN0=1 AUNT=2 A2N0=3 A2NT=4 12N0=5 12NT=6 01ED 1 0x00 01EE 1 Menu 035 (QUICK SPLIT FREQ) [SV] -20->+20 (KHz), default=5 01EF 1 Keyer memory mode (menu 018-022) (bitmap) (See Note 3) 01F0 1 [b6] Menu 034 (MEM GROUP) *DISABLE=0, ENABLE=1 [b2] Menu 149 (EMERGENCY FREQ TX) *DISABLE=0, ENABLE=1 [b1-b0] Menu 031 (CAT RATE) *4800bps=0, 9600bps=1, 19200bps=2, 38400bps=3 01F1 1 Menu 036 (TX TOT) minutes *OFF=0, 1-30 01F2 1 [b3-b2] Menu 030 (232C TOT) *10msec=0, 100msec=1, 1000msec=2, 3000msec=3 [b1-b0] Menu 029 (232C RATE) *4800bps=0, 9600bps=1, 19200bps=2, 38400bps=3 01F3 1 [b3-b2] Menu 076 (FM PKT PTT SELECT) *DAKY=0, RTS=1, DTR=2 [b1-b0] Menu 047 (AM PTT SELECT) *DAKY=0, RTS=1, DTR=2 01F4 1 [b7-b6] Menu 071 (DATA PTT SELECT) *DAKY=0, RTS=1, DTR=2 [b5-b4] Menu 096 (RTTY SHIFT PORT) *SHIFT=0, DTR=1, RTS=2 [b3-b2] Menu 060 (PC KEYING) *OFF=0, DAKY=1, RTS=2, DTR=3 [b1-b0] Menu 108 (SSB PTT SELECT) *DAKY=0, RTS=1, DTR=2 01F5-01F6 2 0x00 0x00 01F7 1 [b6] Menu 038 (MIC SCAN RESUME) PAUSE=0, *TIME=1 [b5] Menu 037 (MIC SCAN) DISABLE=0, *ENABLE=1 [b4] Menu 101 (RTTY MARK FREQ) 1275Hz=0, *2125Hz=1 [b3] Menu 097 (RTTY POLARITY-RX) *NOR=0, REV=1 [b2] Menu 098 (RTTY POLARITY-TX) *NOR=0, REV=1 [b1-b0] Menu 100 (RTTY SHIFT FREQ) *170Hz=0, 200Hz=1, 425Hz=2, 850Hz=3 01F8 1 0x00 01F9-01FA 2 Menu 082 (RPT SHIFT 144MHz) 0-4000KHz, def=600KHz, step 10 01FB-01FC 2 Menu 083 (RPT SHIFT 430MHz) 0-4000KHz, def=5000KHz, step 10 01FD-01FF 3 Menu 027 (TIME ZONE) 01FD: Positive=0, Negative=1 01FE: Hours 01FF: Minutes(0-30) (default=0:00) in 30 minute increments 0200 1 [b7] Menu 088 (GM DISPLAY) *DISTANCE=0, STRENGTH=1 [b6] Menu 089 (DISTANCE) km=0, *mile=1 [b5] Menu 091 (STANDBY BEEP) OFF=0, *ON=1 [b2-b0] Menu 090 (AMS TX MODE) *AUTO=0, MANUAL=1, DN=2, VW=3, ANALOG=4 0201 1 0x01 0202 1 [b6] Menu 142 (VOX SELECT) *MIC=0, DATA=1 0203-0204 2 Menu 147 (DATA VOX DELAY) 30msec->3000msec, step 10, default=100msec 0205 1 Menu 146 (DATA VOX GAIN) 0->100, default=50 0206 1 Menu 148 (ANTI DVOX GAIN) 0->100, default=0 0207 1 Menu 113 (CONTOUR WIDTH) 1->11, default=10 0208 1 [b7-b4] Menu 121 (PRMTRC EQ1 BWTH) 1->10, default=10 [b3-b0] Menu 119 (PRMTRC EQ1 FREQ) Hz *OFF=0, 100=1, 200=2, 300=3, 400=4, 500=5, 600=6, 700=7 0209 1 [b7-b4] Menu 124 (PRMTRC EQ2 BWTH) 1->10, default=10 [b3-b0] Menu 122 (PRMTRC EQ2 FREQ) Hz *OFF=0, 700=1, 800=2, 900=3, 1000=4, 1100=5, 1200=6, 1300=7, 1400=8, 1500=9 020A 1 [b4-b7] Menu 127 (PRMTRC EQ3 BWTH) 1->10, default=10 020B 1 Menu 112 (CONTOUR LEVEL) [SV] -40->+20, def=-15 020C 1 0x00 020D 1 Menu 120 (PRMTRC EQ1 LEVEL) [SV] -20->10, def=5 020E 1 Menu 123 (PRMTRC EQ2 LEVEL) [SV] -20->10, def=5 020F 1 Menu 126 (PRMTRC EQ3 LEVEL) [SV] -20->10, def=5 0210 1 [b7-b4] Menu 130 (P-PRMTRC EQ1 BWTH) 1->10, default=2 [b3-b0] Menu 128 (P-PRMTRC EQ1 FREQ) OFF=0, n * 100 Hz, def=2 0211 1 [b7-b4] Menu 133 (P-PRMTRC EQ2 BWTH) 1->10, default=1 [b3-b0] Menu 131 (P-PRMTRC EQ2 FREQ) OFF=0, Hz 700=1, *800=2, 900=3, 1000=4, 1100=5, 1200=6, 1300=7, 1400=8, 1500=9 0212 1 [b7-b4] Menu 136 (P-PRMTRC EQ3 BWTH) 1->10, default=1 0213 1 Menu 129 (P-PRMTRC EQ1 LEVEL) [SV] -20->10, def=0 0214 1 Menu 132 (P-PRMTRC EQ2 LEVEL) [SV] -20->10, def=0 0215 1 Menu 135 (P-PRMTRC EQ3 LEVEL) [SV] -20->10, def=0 0216 1 Menu 026 (BEEP LEVEL) 0->100, default=50 0217 1 Menu 015 (BEACON INTERVAL) sec *OFF=0, 1->240(hex:01->F0) 270->690 step:30(hex:F1->FF) 0218 1 [b4-b0] Menu 125 (PRMTRC EQ3 FREQ) *OFF=0, 1500->3200 Hz 1400 + (val) * 100 0219 1 [b4-b0] Menu 134 (P-PRMTRC EQ3 FREQ) OFF=0, 1500->3200 Hz 1400 + (val) * 100, default=2100 Hz (0x07) 021A 1 [b7-b6] Menu 023 (NB WIDTH) 1msec=0 *3msec=1 10msec=2 [b5-b4] Menu 024 (NB REJECTION) 10db=0 *30db=1 50db=2 [b3-b0] Menu 025 (NB LEVEL) Value 0-10 (0x0-0xA) default=5 021B-021E 4 0x00 0x00 0x00 0x00 021F 1 Menu 137 (HF TX MAX POWER) 5->100 W, default=100 0220 1 Menu 138 (50M TX MAX POWER) 5->100 W, default=100 0221 1 Menu 139 (144M TX MAX POWER) 5->50 W, default=50 0222 1 Menu 140 (430M TX MAX POWER) 5->50 W, default=50 0223-022C 10 all 0x00 022D 1 Menu 153 (WIRES DG-ID) *AUTO=0, DG-ID 1->99 022E-0248 27 all 0x00 0249 1 Menu 005 (MY CALL INDICATION) 0->5 sec, default=1 024A-0250 7 0x00 0x02 0x00 0x00 0x00 0x00 0x00 0251-0252 2 Menu 057 (CW BK-IN DELAY) 30msec->3000msec step 10, default=200 0253-0255 3 0x00 0x32 0x00 0256 1 Menu 145 (ANTI VOX GAIN) 0->100, default=50 0257-0258 2 Menu 144 (VOX DELAY) 30->3000msec, step 10, default=500 0259 1 Menu 143 (VOX GAIN) 0->100, default=50 025A 1 [b7] Menu 115 (SCP DISPLAY MODE) *SPECTRUM=0,WATER FALL=1 025B 1 Menu 028 (GPS/232C SELECT) *GPS1=0 GPS2=2 RS232C=4 025C 1 [b6] Menu 062 (DATA MODE) *PSK=0, OTHERS=1 [b3-b2] Menu 111 (APF WIDTH) NARROW=0, *MEDIUM=1, WIDE=2 [b1-b0] Menu 063 (PSK TONE) *1000Hz=0, 1500Hz=1, 2000Hz=2 025D 1 [b3-b0] Menu 116 (SCP SPAN FREQ) 50KHz=3, *100KHz=4, 200KHz=5, 500KHz=6, 1000KHz=7 025E 1 [b3-b0] Menu 141 (TUNER SELECT) OFF=0, *INTERNAL=1, EXTERNAL=2, ATAS=3, LAMP=4 025F 1 [b7-b4] Menu 117 (SPECTRUM COLOR) *BLUE=0 GRAY=1 GREEN=2 ORANGE=3 PURPLE=4 RED=5 SKY BLUE=6 [b3-b0] Menu 118 (WATER FALL COLOR) BLUE=0 GRAY=1 GREEN=2 ORANGE=3 PURPLE=4 RED=5 SKY BLUE=6 *MULTI=7 0261-0262 2 Menu 064 (OTHER DISP (SSB)) [SV] -3000->3000Hz, step 10, default=0Hz 0263-0264 2 Menu 065 (OTHER SHIFT (SSB)) [SV] -3000->3000Hz, step 10, default=0Hz 0268 1 [b7] Menu 042 (AM LCUT SLOPE) *6dB/oct=0, 18dB/oct=1 [b6-b0] Menu 041 (AM LCUT FREQ) *00=OFF, 100Hz->1000Hz 50 + (val) * 50 (val) => Hex:01->13 0269 1 [b7] Menu 044 (AM LCUT SLOPE) *6dB/oct=0 18dB/oct=1 [b6-b0] Menu 043 (AM HCUT FREQ) *OFF=0, 700Hz->4000Hz 650 + (val) * 50 (val) => Hex:01->43 026A 1 [b7] Menu 051 (CW LCUT SLOPE) 6dB/oct=0, *18dB/oct=1 [b6-b0] Menu 050 (CW LCUT FREQ) OFF=0, default=250Hz 100Hz->1000Hz 50 + (val) * 50 (val)=>Hex:01->13 026B 1 [b7] Menu 053 (CW HCUT SLOPE) 6dB/oct=0, *18dB/oct=1 [b6-b0] Menu 052 (CW HCUT FREQ) OFF=0, default=1200Hz 700Hz->4000Hz 650 + (val) * 50 (val)=>Hex:01->43 026C-026D 2 0x00 0x00 026E 1 [b7] Menu 067 (DATA LCUT SLOPE) 6dB/oct=0, *18dB/oct=1 [b6-b0] Menu 066 (DATA LCUT FREQ) OFF=0, default=300Hz 100Hz->1000Hz 50 + (val) * 50 (val)=>Hex:01->13 026F 1 [b7] Menu 069 (DATA HCUT SLOPE) 6dB/oct=0, *18dB/oct=1 [b6-b0] Menu 068 (DATA HCUT FREQ) OFF=0, default=3000Hz 700Hz->4000Hz 650 + (val) * 50 (val)=>Hex:01->43 0270 1 [b7] Menu 093 (RTTY LCUT SLOPE) 6dB/oct=0, *18dB/oct=1 [b6-b0] Menu 092 (RTTY LCUT FREQ) OFF=0, default=300Hz 100Hz->1000Hz 50 + (val) * 50 (val)=>Hex:01->13 0271 1 [b7] Menu 095 (RTTY HCUT SLOPE) 6dB/oct=0, *18dB/oct=1 [b6-b0] Menu 094 (RTTY HCUT FREQ) 0=OFF, default=3000Hz 700Hz->4000Hz 650 + (val) * 50 (val)=>Hex:01->43 0272 1 [b7] Menu 103 (SSB LCUT SLOPE) *6dB/oct=0, 18dB/oct=1 [b6-b0] Menu 102 (SSB LCUT FREQ) OFF=0, default=100Hz 100Hz->1000Hz 50 + (val) * 50 (val)=>Hex:01->13 0273 1 [b7] Menu 105 (SSB HCUT SLOPE) *6dB/oct=0, 18dB/oct=1 [b6-b0] Menu 104 (SSB HCUT FREQ) OFF=0, default=3000Hz 700Hz->4000Hz 650 + (val) * 50 (val)=>Hex:01->43 0274-0277 4 (Unknown - All zero - suspect this is unassigned space) 0278 1 [b7] Menu 150 (PRT/WIRES FREQ) *MANUAL=0, PRESET=1 [b6] Menu 152 (SEARCH SETUP) *HISTORY=0, ACTIVITY=1 0279-027C 4 Menu 151 (PRESET FREQUENCY) Hz, default 146550000 Hz 027D-057A 766 - All 0x00 - suspect this is unassigned space 057B-05AE 52 Keyer Memory 1 (See Note 3) 05AF-05E2 52 Keyer Memory 2 (See Note 3) 05E3-0616 52 Keyer Memory 3 (See Note 3) 0617-064A 52 Keyer Memory 4 (See Note 3) 064B-067E 52 Keyer Memory 5 (See Note 3) 067F-06B0 50 0xFE followed by 49 * 0x20 (ASCII blank) 06B1-06E2 50 0xFE followed by 49 * 0x20 (ASCII blank) 06E3-0714 50 0xFE followed by 49 * 0x20 (ASCII blank) 0715-0746 50 String: "DE FTDX3000 K" followed by 0xFE, padded with 0x20 0747-0778 50 String: "R 599 K" followed by 0xFE, padded with 0x20 0779-07AA 50 0xFE followed by 49 * 0x20 (ASCII blank) 07AB-07DC 50 0xFE followed by 49 * 0x20 (ASCII blank) 07DD-080E 50 0xFE followed by 49 * 0x20 (ASCII blank) 080F-0840 50 String: "DE FTDX3000 K" followed by 0xFE, padded with 0x20 0841-0872 50 String: "R 599 K" followed by 0xFE, padded with 0x20 0873-087A 8 0x00 0x0B 0x14 0x07 0x00 0x00 0x14 0x06 087B-0882 8 0x11 0x0D 0x14 0x27 0x10 0x0E 0x14 0x28 0883-088A 8 0x11 0x0B 0x14 0x23 0x10 0x0E 0x14 0x26 088B-0892 8 0x00 0x00 0x07 0x07 0x23 0x18 0x14 0x22 0893-089A 8 0x10 0x0E 0x28 0x07 0x0E 0x08 0x14 0x08 089B-08A2 8 0x0A 0x13 0x24 0x91 0x09 0x09 0x00 0x00 08A3-0A04 354 all 0x00 0A05-2E04 9216 Band Stack Memory (See Note 5); in Mem Channel fmt (Note 4) 2E05-2E64 96 HOME for HF band in Mem Channel fmt (Note 4) 2E65-2EC4 96 HOME for 50 MHz band in Mem Channel fmt (Note 4) 2EC5-2F24 96 HOME for 144 MHz band in Mem Channel fmt (Note 4) 2F25-2F84 96 HOME for 433 MHz band in Mem Channel fmt (Note 4) 2F85 1 Bitmap of defined QMBs [b4..b0] starting at b4 working down, b4 = slot 4 ... b0 = slot 0 2F86 1 Next QMB to write to, starting at 4 working to 0 2F87 1 Current QMB to recall, cycling backwards 2F88-3167 480 QMB slots 0-4 (5 entries) in Mem Channel fmt (Note 4) Beg addresses: 0x2F88, 0x2FE8, 0x3048, 0x30A8, 0x3108 3168-31C7 96 TODO: looks like in Mem chn fmt (Note 4) 31C8-3227 96 MT in Mem Channel fmt (Note 4) (BEGIN: some bits) 3228 1 Memory # (-1) to recall when powering-on or returning from VFO mode (saved when moving to VFO or powering off) 3229-3238 16 Bitmap of active (not erased) channels, as follows: 008 007 006 005 004 003 002 001 016 015 014 013 012 011 010 009 024 023 022 021 020 019 018 017 032 031 030 029 028 027 026 025 040 039 038 037 036 035 034 033 048 047 046 045 044 043 042 041 056 055 054 053 052 051 050 049 064 063 062 061 060 059 058 057 072 071 070 069 068 067 066 065 080 079 078 077 076 075 074 073 088 087 086 085 084 083 082 081 096 095 094 093 092 091 090 089 104 103 102 101 100 099 098 097 112 111 110 109 108 107 106 105 120 119 118 117 116 115 114 113 128 127 126 125 124 123 122 121 3239-3248 16 Bitmap of memory channels ever used, same format as above. This is used to determine if default values for a memory channel should be used on "unerase". 3249-6368 12576 Memory channels / 96 * 131 (not sure where the additional ones are coming from) See Note 4 (END: some bits) 6369-6FFF 3223 all 0x00 7000-7055 86 0x00 0x01 0x02 0x03 0x04 0x05 + 80*0x20 7056-7FE9 3988 7FEA 1 Char: 'Z' (Hex:5A) [DO NOT CHANGE] not sure if this is always Z [yes, .. nvram verification] 7FEB-7FEF 5 Radio ID, ASCII [DO NOT CHANGE] (Read-only in Menu 087 (RADIO ID)) 7FF0-7FFF 16 all 0x00 ------------------------------------------------------------------------------- Note 2: LAT/LON location encoding 01AA bits 3 and 4 encode N/S E/W Latitude and longitude are both encoded as BCD bytes as: Latitude = DD MM ss s0 ==> DD MM.sss Longitude = 0D DD MM ss s0 ==> 0DDD MM.sss Note that seconds are BCD encoded as decimal seconds (ie. a number after the decimal point, or n*60 to get actual seconds), for example: 01 23'53" would be encoded as 01 23 88 30 Because 53/60 = 0.883 Not sure why they only carried it to 3 decimal places, but this is what I found. Note 3: Keyer Memory format Keyer memory contains length of message as first byte, 00 second byte Message follows (50 bytes max) terminated by '}' and padded with ASCII spaces (0x20) See entry instructions manual page 91 ("Inputting the CW TEXT directly on the screen") for information on how this gets entered and format. Keyer memory in TEXT [0]/MESSAGE[1] mode = 01EF: Memory 1:b7 2:b6 3:b5 4:b4 5:b3 (undef=0):b2,b1,b0 Note 4: Beginning of decoding of memory channels (TODO: NEEDS VERIFICATION) QMB (RCL/STO) Quick Memory Bank Alaska Emergency Frequency (5.1675 MHz) [between 5MHz-10 and MEM 01] (this looks like #131 - 0x6309) Offset (byte): Byte Description 0 00 Mode (0=LSB 1=USB 2=CW-USB 3=CW-LSB 4=AM 5=FM 6=RTTY-LSB 7=RTTY-USB 8=DATA-LSB 9=DATA-USB 10=DATA-FM 11=C4FM) 1 01 [b7] Skip (1=yes/0=no) [b5] Clarifier Enabled [b4] Clarifier Rx (set per Menu 040 - CLAR MODE SELECT) [b3] Clarifier Tx (set per Menu 040 - CLAR MODE SELECT) [b2] TUNER-On [b0] Locked(0=editable/1=locked) 2 02 [b7] Repeater (RPT) modified at some point *0=No, 1=Yes [b6] Split (other Tx freq) enabled *0=No, 1=Yes [b3-b2]=RPT (repeater offset): -=0 SIMP=1 +=2 [b1]=NB-On 3 03 [b7] 5/10Hz[0=5Hz;*1=10Hz], [b5-b3] Tone/DCS (0=OFF, 1=ENC, 2=CTCSS 3=D.ENC 4=DCS) [b0] ATT-On 4 04 [b6] NAR/WIDE HF[*W 2400=1;N 1500=0] [b4] NAR/WIDE UHF/VHF [*W 16k=0; N 9k=1] 5 05 [b1-b0] IPO[IPO=0,AMP1=2,AMP2=3] 6 06 [b4] DNR-On [b3-b0] DNR Level (1-15) default=1 7 07 0x00 8 08 0x03 9 09 0x00 normally, 0x53 when SPLIT (TODO: needs investigation) (haha .. 0x53 in ascii is 'S') 10 0A [b7] Notch-On [b6] Contour-On [b2] 1(unknown) [b1] BK-IN-On 11 0B [b7] DNF-On [b6] AGC-On [b5-b4] AGC[0=AUTO;1=FAST;2=MID;3=SLOW] * Note: AGC turned off by long press of AGC 12 0C Contour Frequency (H..L) x 10 Hz default=300 (0x001E) 13 0D .. range 10->3200 Hz 14 0E Notch Frequency (H..L) x 10 Hz 2 bytes Default: 1500 (0x0096) 15 0F .. range 10->3200 Hz 16 10 0x06 17 11 WIDTH code (see CAT table for SH command) 18 12 IF Shift ("SHIFT") freq (H..L/2sCompl) 2 bytes Default: 0 19 13 .. range: -1200 -> 1200 Hz step 20 Hz 20 14 [b5] APF-On (level in 0x0167) [b3-b2] "CH.DIAL" freq 0=1kHz, *1=2.5kHz, 2=5kHz (TODO: more values possible, see manual pg 44) [b0] MONI-On (level in 0x013C) 21 15 .. Weird filler, as follows (in hex): (looks like leftover stack) .. 40 00 1E 00 96 09 0F 00 00 04 .. 40 00 1E 00 96 05 09 00 00 04 .. 40 00 1E 00 96 05 09 00 00 04 .. 40 00 1E 00 96 00 00 00 00 01 .. 40 00 1E 00 96 00 00 00 00 69 45 70 46 CTCSS tone code (from CAT tone chart table 1) 71 47 DCS tone code (from CAT tone chart) 72 48 Split CTCSS Tx tone code (from CAT tone chart table 1) 73 49 Split DCS Tx tone code (from CAT tone chart table 1) 74 4A Clarifier frequency [SV] 2-byte 75 4B .. 76 4C Frequency in Hz (H..L) 4 bytes 77 4D .. 78 4E .. 79 4F End Frequency in Hz 80 50 Split (Tx) Frequency in Hz (H..L) 4 bytes 81 51 .. 82 52 .. 83 53 End Split (Tx) Frequency in Hz 84 54 Beginning of tag (12 bytes) 85 55 .. 86 56 .. 87 57 .. 88 58 .. 89 59 .. 90 5A .. 91 5B .. 92 5C .. 93 5D .. 94 5E .. 95 5F End of tag (12 bytes) Note 5: Band Stacking Band stacking channels start at 0x0A05 / in memory channel format (96 bytes) Page 39: "The 5MHz band stack may be recalled by touching and holding [14] on the LCD in a similar operation" VFO-A is the current band stack selection for the appropriate band, gets stored in slot when moving from VFO-A to some other place It looks like VFO-B info is stored in position #3 and moved to the current stack member for that frequency band when A/B is used to recall VFO-B . 0 1 2 3 4 5 <-- Stack Position ID STK1 STK2 STK3 VFOB UNK2 UNK3 0 1.8 0A05 1005 1605 1C05 2205 2805 1 3.5 0A65 1065 1665 1C65 2265 2865 2 <5> 0AC5 10C5 16C5 1CC5 22C5 28C5 3 7.0 0B25 1125 1725 1D25 2325 2925 4 10 0B85 1185 1785 1D85 2385 2985 5 14 0BE5 11E5 17E5 1DE5 23E5 29E5 6 18 0C45 1245 1845 1E45 2445 2A45 7 21 0CA5 12A5 18A5 1EA5 24A5 2AA5 8 24 0D05 1305 1905 1F05 2505 2B05 9 28 0D65 1365 1965 1F65 2565 2B65 A 50 0DC5 13C5 19C5 1FC5 25C5 2BC5 B AIR 0E25 1425 1A25 2025 2625 2C25 C 144 0E85 1485 1A85 2085 2685 2C85 D 430 0EE5 14E5 1AE5 20E5 26E5 2CE5 E MW 0F45 1545 1B45 2145 2745 2D45 F GEN 0FA5 15A5 1BA5 21A5 27A5 2DA5 Note 6: Function Page & Keycode Numbers (*=Value Controlled by MULTI) There are 10 Pages of function buttons, Page Numbers shown are numbered as follows (see also buttons below): 0 - NAR/WIDE, NB, AGC, 5/10Hz, ATT, IPO 1 - NOTCH, CONT, DNR, DNF, SHIFT, WIDTH 2 - MOX, VOX, APF, MONI, MIC-EQ, PROC 3 - ZIN, SPOT, PITCH, KEYER, BK-IN, SPEED 4 - METER, RF PWR, MIC GAIN, SWEEP, DT GAIN, CH DIAL 5 - HOME, SQL, MCH, GRP, DEC/DEL, SCAN 6 - RPT, REV, SQL OFF, T.CALL, TONE/DCS, MUTE 7 - Gm, AMS, X, DIGITAL, TONE, DCS 8 - CH1, CH2, CH3, CH4, CH5, MEM 9 - SWAP F1, SWAP F2, SWAP F3, SWAP F4, blank-1, blank-2 The function button numbers (and hex equivalents) are utilized in address 014A (current button MULTI knob is controlling values for) and the bottom (3rd line) of reassignable buttons, per mode. Mul Button Num Hex Page-col-line METER 0 00 4-1-1 * RF PWR 1 01 4-2-1 * MIC GAIN 2 02 4-3-1 SWEEP 3 03 4-4-1 5 05 *-4-2 ATT 6 06 0-2-2 IPO 7 07 0-3-2 NAR/WIDE 8 08 0-1-1 NB 9 09 0-2-1 AGC 10 0A 0-3-1 5/10Hz 11 0B 0-4-1 SHIFT 12 0C 1-2-2 WIDTH 13 0D 1-3-2 NOTCH 14 0E 1-1-1 CONT 15 0F 1-2-1 DNR 16 10 1-3-1 DNF 17 11 1-4-1 MIC-EQ 18 12 2-2-2 PROC 19 13 2-3-2 MOX 20 14 2-1-1 VOX 21 15 2-2-1 BK-IN 22 16 3-2-2 * MONI 23 17 2-4-1 MEM 24 18 8-3-2 DEC/DEL 25 19 5-2-2 CH1 26 1A 8-1-1 CH2 27 1B 8-2-1 CH3 28 1C 8-3-1 CH4 29 1D 8-4-1 DT GAIN 30 1E 4-2-2 * CH DIAL 31 1F 4-3-2 * SPEED 32 20 3-3-2 * APF 33 21 2-3-1 * PITCH 34 22 3-3-1 KEYER 35 23 3-4-1 ZIN 36 24 3-1-1 SPOT 37 25 3-2-1 SCAN 38 26 5-3-2 * SQL 39 27 5-2-1 RPT 40 28 6-1-1 REV 41 29 6-2-1 SQL OFF 42 2A 6-3-1 MUTE 43 2B 6-3-2 TONE/DCS 44 2C 6-2-2 Gm 45 2D 7-1-1 AMS 46 2E 7-2-1 HOME 47 2F 5-1-1 DIGITAL 48 30 7-4-1 MY CALL 49 31 (SETUP-1-3) (not normally assignable) LAT/LON 50 32 (SETUP-2-3) (not normally assignable) TIME/DATE 51 33 (SETUP-3-3) (not normally assignable) CW TEXT 52 34 (SETUP-4-3) (not normally assignable) * MCH 53 35 5-3-1 GRP 54 36 5-4-1 T.CALL 55 37 6-4-1 CH5 56 38 8-2-2 * TONE 57 39 7-2-2 * DCS 58 3A 7-3-2 X 59 3B 7-3-1 SWAP F1 9-1-1 SWAP F2 9-2-1 SWAP F3 9-2-1 SWAP F4 9-4-1 9-2-2 9-3-2