[chirp_devel] #112: Memory bank support for VX-8
Jon Kåre Hellan
Tue May 17 14:43:43 PDT 2011
On 05/17/2011 10:45 PM, Robert Terzi wrote:
> 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.
>
Doesn't have to be. The 0xffff values are enough.
>
> 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.
>
I agree. On the VX-6, the beginning of the image is about current state.
Jon LA4RT
More information about the chirp_devel
mailing list