Yaesu VX-1 data description RCS $Header: /home/mole/riku/CVS/yaesu/vx1-data.txt,v 1.2 1998/05/08 11:51:42 riku Exp $ Author: Riku Kalinen, OH2LWO / K2LWO, Please read file LICENCE. Use this information with your own risk ! 1. PROTOCOL While uploading, radio always echoes back every byte which is sent to it. Download (radio -> computer) Computer Radio Start program `vx1get'. Press DWN while in CLONE mode. `C-OUT' appears to display. Sends block 1: total of 4818 bytes `CLONE' appears to display. Upload (computer -> radio) All of the data is transmitted. For brevity, only transmission of 1st and last characer of block is shown in diagram. Computer Radio Press UP while in CLONE mode. `C-IN' appears to display. Start program `vx1send'. Sends 1. character of block 1. Echoes 1. character of block 1. Sends 2. character of block 1. Echoes 2. character of block 1. . . Sends last character of block 1. Echoes last character of block 1. Sends 0x21. Goes back to normal display. 2. DESCRIPTION OF DATA Yaesu VX-1 data as downloaded with program `vx1get'. Block 1: 4818 bytes Frequencies are stored BCD coded in 3 bytes, but bytes are reversed. Eg. frequency 123450 KHz would encode as 0x50 0x34 0x12 Names are 6 bytes. They are stored with the following character generator. Empty name is signalled by filling these bytes with 0x3f. Bands are ordered as follows (BCBAND is not part of these): FM, AIR, V-HAM, VHF-TV, ACT1, U-HAM, UHF-TV, ACT 2 Channel steps: 5 kHz - 0, 10 - 1, 12.5 - 2, 15 - 3, 20 - 4, 25 - 5, 50 - 6, 100 - 7 Mode: fm-n - 0, fm-w - 1, am - 2 Repeater shift: SI - 0, -R - 1, +R - 2, +- - 3 Selcal modes: none - 0x0, E - 0x1, E+D - 0x2, DCS - 0x3 Power out: low - 0, high - 1 Name flag: freq - 0, alpha - 1 Skip: no - 0, skip - 1 Clock shift: off - 0, on - 1 8-byte memory slot (BC band): Offset Meaning 0 Frequency (500 kHz - 0x00, ... , 1.7 MHz - 0xfe) 1 Unknown (always 0x40 ???) 2-7 Name 12-byte memory slot (CG2 memories): Offset Meaning 0-2 RX Freq 3 Unknown 4 Flags Bit Meaning 7 Skip 6 Name flag 5-4 Mode 3-2 Repeater shift 1-0 Selcal mode 5 Flags Bit Meaning 7-5 Unknown 4 Power out 3 Clock shift 2-0 Channel step 6-11 Name 16-byte memory slot (others): Offset Meaning 0-2 RX freq 3-5 Offset/TX freq 6 Flags Bit Meaning 7 Skip 6 Name flag 5-4 Mode 3-2 Repeater shift 1-0 Selcal mode 7 Flags Bit Meaning 7-5 Unknown 4 Power out 3 Clock shift 2-0 Channel step 8 Flags Bit Meaning 7-6 Unknown 5-0 CTCSS tone (67.0 - 0x00, ... , 250.3 - 0x26) 9 DCS tone (023 - 0x00, ... , 754 - 0x67) 10-15 Name Offset Meaning 0x0000 - 0x0001 Unknown data (2 bytes) 0x0002 Flags Bit Meaning 7-4 Unknown 3-0 Band (BCBAND - 0x00 , ... , ACT-2 - 0x08) 0x0003 - 0x0006 Unknown data (4 bytes) 0x0007 Flags Bit Meaning 7 Unknown 6 Busy/tx led: 0 - off, 1 - on 5 Busy ch lock out: 0 - off, 1 - on 4 Keypad beeper: 0 - off, 1 - on 3 Scan lamp: 0 - off, 1 - on 2 Scan resume: 0 - 5sec, 1 - carr 1 Auto mode: manual - 0, auto - 1 0 ARS: off - 0, on - 1 0x0008 Flags Bit Meaning 7-6 Lamp: key - 0, 5sec - 1, tgl - 2 5-3 APO: off - 0, 0.5h, 1h, 3h, 5h, 8h - 5 2-0 Receive battery saver: 0 - off, 0.2, 0.3, 0.5, 1, 2sec - 5 0x0009 Flags Bit Meaning 7 Lk (lock): off - 0, on - 1 6-4 Lock: key - 0, dial, k+d, ptt, k+p, d+p, all - 6 3 Unknown 2-0 Bell: off - 0, 1 - 1, 3 - 2, 5 - 3, 8 - 4, rpeat - 5 0x000a Flags Bit Meaning 7-6 ARTS Beep: 0 - off, 1 - rang, 2 - all 5 SMT MD: single - 0, conti - 1 4-2 TOT: off - 0, 1min - 1, 2min - 2, 5min - 3, 10min - 4 1 Dial's function: dial - 0, volsql - 1 0 Monitor/t-call: moni - 0, tcall - 1 0x000b Flags Bit Meaning 7-3 Unknown 2 Channel Group: CG2 - 0, CG1 - 1 1 CWID: off - 0, on - 1 0 Unknown 0x000c - 0x000d Unknown data (2 bytes) 0x000e Flags Bit Meaning 7-4 Unknown 3-0 DTMF memory: dtmf-0 - 0, ... , dtmf-f - 7, manu - 8 0x000f VOL (mute - 0x00, 1 - 0x01, ... , 31 - 0x1f) 0x0010 SQL (aut - 0x00, opn - 0x01, 1 - 0x02, ... , 10 - 0x0b) 0x0011 - 0x0020 Current settings (16 bytes) One slot 0x0021 - 0x009f Unknown data (127 bytes) 0x00a0 Second checksum (1 byte) Cheksum is made by adding all previous bytes to unsigned char with overflow and adding the result to 0x10 . 0x00a1 - 0x00f0 Unknown data (80 bytes) 0x00f1 - 0x02e0 Smart Search memories (496 bytes = 31 slots of 16 bytes each) Slot for each memory (31) -15, -14, ... , 14, 15 0x02e1 - 0x02f0 Unknown data 0x02f1 - 0x02f9 Call sign, CWID (9 bytes) Terminated with 0x3d, excess characters filled with 0x00 . 0x02fa - 0x0301 Unknown data 0x0302 Band duplicated from 0x0002 ??? 0x0303 - 0x0306 Unknown data (4 bytes) 0x0307 - 0x0308 Flags duplicated from 0x0007 - 0x0008 ??? (2 bytes) 0x0308 - 0x030a Unknown data (3 bytes) 0x030a - 0x030b Flags duplicated from 0x000a - 0x000b ??? (2 bytes) 0x030c - 0x030d Unknown data (2 bytes) 0x030e Flags duplicated from 0x000e ??? 0x030f VOL duplicated from 0x000f ??? 0x0310 SQL duplicated from 0x0010 ??? 0x0311 - 0x0318 BC band VFO (8 bytes) 0x0319 - 0x0320 Unknown data (8 bytes) 0x0321 - 0x03a0 VFOs (128 bytes = 8 slots of 16 bytes each) Slot for each band (8) 0x03a1 Priority channel (channel number + 7) 0x03a2 - 0x03d0 Unknown data (47 bytes) 0x03d1 - 0x0bc8 Channel data, CG2 (2040 bytes = 170 slots of 12 bytes each) Homes for all bands (8) Memories 1-142 (142) 1L, 1U, 2L, 2U, ... , 10L, 10U (20) 0x0bc9 - 0x0bd0 Unknown data (8 bytes) 0x0bd1 - 0x10d0 Channel data, CG1 (1280 bytes = 80 slots of 16 bytes each) Homes for all bands (8) Memories 1-52 (52) 1L, 1U, 2L, 2U, ... , 10L, 10U (20) 0x10d1 - 0x11d0 Channel/band flags (256 bytes = 8 slots of 32 bytes each) One slot for all bands (8) Slot contents: Offset Meaning 0 Band byte, CG2 (FM - 0x00, AIR - 0x01, V-HAM - 0x02, VHF-TV - 0x04, ... , ACT-2 - 0x80), e.g. band bit 1 Channel bit flags, CG2 1-8 CG2 (1 - bit0, 2 - bit1, ...) 2 Channel bit flags, CG2 9-16 3-21 Channel bit flags, CG2 22 Band byte, CG1 23-31 Channel bit flags, CG1 0x11d1 - 0x11f0 Unknown data (32 bytes) 0x11f1 - 0x1240 BC band data (80 bytes = 10 slots of 8 bytes each) One slot for each BC memory (H, 1, ... , 9) 0x1241 - 0x1250 Unknown data (16 bytes) 0x1251 - 0x12d0 DTMF autodialer (128 bytes = 8 slots of 16 bytes each) DTMF 1 - DTMF 8 (8) Every autodialer is terminated with 0x3d, and padded with 0x00:s if necessary. Empty autodialer then is 0x3d and 15 0x00:s. Mapping goes as follows: 0 - 0x00, 1 - 0x01, ... , D - 0x0d, *(E) - 0x0e, #(F) - 0x0f, - - 0x28 0x12d1 Checksum (1 byte) Cheksum is made by adding all other bytes to unsigned char with overflow and subtracting the result from 0xf0 .