[chirp_devel] #112: Memory bank support for VX-8

Robert Terzi
Tue May 17 13:45:29 PDT 2011


I got a chance to do some testing of VX-8DR memory banks:

Bank names:

Bank Names start at 0x135A, two bytes of zeros, 16 bytes of label.
The first two bytes are not length, so far I haven't seen them
be anything but zero.

#seekto 0x135A;
struct {
     u8 unknown1;
     char label[16];
} banknames[24];

Bank Linking Flag:

The flag bits for whether banks are linked are stored at offset
0x546-0x548.   The flags are stored starting with bank 1 as the
LSB for the 16 bit big endian word stored at 0x546.  It looks like:


         MSB              LSB
0x546:  Bank 16          Bank 9
0x547:  Bank 8           Bank 1
0x548:  Bank 24          Bank 17


Bank Memory Storage:

The list of memories for Bank 1 starts at 0x198a and contains
100 two byte entries by memory number, zero based, so the first
memory is 0.  Memory 999 is stored as 0x03 0xe6 (998 zero based)
Unused slots are FF FF.

EAI is treated as Memory No. 1000, stored as 0x03e7

The "special memories", Weather 1 is 0x1800, Weather 2 is 0x1801
Marine 1 is 0x2800, 2 is 0x2801, ... , Marine 88 is 0x2838
Radio 1 VOA (1st shortwave) is 0x3000 ... Radio 88 is 0x3058


#seekto 0x198a;
struct {
     u16 channel[100];
} bank_members[24];


Memory Bank In Use:

starting at 0x54a, there are two bytes for each memory bank
that indicate whether the bank has anything in it.  0xFFFF
if it isn't in use and 0 if it is.  I don't know why a 16 bit
value is used for something that could be a bit mask.


#seekto 0x54a;
struct {
     u16 in_use;
} bank_used[24];


Bank Sizes (or number of entries in each bank):

So far, I can't find any indication that there is a spot
to count the number of entries used in each bank the
way there is on the vx6 that Jon Hellan provided.


Highest Bank Number in Use:

The oddest part that I found is there seems to be
three separate places that seem to indicate the
highest bank number in use.  There also seem to be
two copies of each of them.  0x650 through 0x6cf
(128 bytes) seems to be almost, but not completely
duplicated started at 0x6d0.

Note zero based bank number


At offset 0x654:
ff ff ff ff -  no banks are used.
00 00 00 00 -  highest bank is Bank 1.
00 01 00 00 -  highest bank is Bank 2.
00 17 00 00 -  highest bank is Bank 24.

this is repeated 128 bytes later at 0x6d4.

I supposed this could also be the most recently
used bank number.




More information about the chirp_devel mailing list