diff --git a/contact5.diff b/contact5.diff deleted file mode 100644 index 94c12e1..0000000 --- a/contact5.diff +++ /dev/null @@ -1,38 +0,0 @@ ---- d868uv-contacts.hd 2018-10-26 16:58:56.070106184 -0700 -+++ d868uv-contacts-delete5.hd 2018-10-26 17:10:11.651995288 -0700 -@@ -18204,10 +18204,9 @@ - 000764e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| - 000764f0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| - 00076500 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 |................| --- List of contacts? --00076510 04 00 00 00 ff ff ff ff ff ff ff ff ff ff ff ff |................| --00076520 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| -+00076510 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| - * --00080140 e0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| -+00080140 f0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| --- Bitmap of invalid contacts - 00080150 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| - * - 00080620 ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -@@ -18233,43 +18232,12 @@ - 00080790 44 44 44 01 00 00 00 00 00 00 00 00 00 00 00 00 |DDD.............| - 000807a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| - * --000807d0 00 43 6f 6e 74 61 63 74 20 35 00 00 00 00 00 00 |.Contact 5......| --- Contact5 structure --000807e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| --000807f0 00 00 00 15 55 55 55 02 00 00 00 00 00 00 00 00 |....UUU.........| --00080800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| --* --00080840 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| -+000807d0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| - * -@@ -18306,8 +18274,7 @@ - 00174c30 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| - * - 00188380 f1 ac 68 24 00 00 00 00 66 66 66 26 02 00 00 00 |..h$....fff&....| --00188390 88 88 88 28 03 00 00 00 aa aa aa 2a 04 00 00 00 |...(.......*....| --001883a0 2a e4 ee 2c 01 00 00 00 ff ff ff ff ff ff ff ff |*..,............| --001883b0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| -+00188390 88 88 88 28 03 00 00 00 2a e4 ee 2c 01 00 00 00 |...(....*..,....| --- Unknown data -+001883a0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| - * - 00188680 diff --git a/d868uv.c b/d868uv.c index 9f63897..5fbe8e3 100644 --- a/d868uv.c +++ b/d868uv.c @@ -50,6 +50,7 @@ #define OFFSET_BANK1 0x000040 // Channels #define OFFSET_ZONELISTS 0x03e8c0 // Channel lists of zones #define OFFSET_SCANLISTS 0x05dcc0 // Scanlists +#define OFFSET_MESSAGES 0x069f40 // Messages #define OFFSET_CHAN_MAP 0x070a40 // Bitmap of valid channels #define OFFSET_ZONE_MAP 0x070940 // Bitmap of valid zones #define OFFSET_SCANL_MAP 0x070980 // Bitmap of valid scanlists @@ -70,6 +71,7 @@ #define GET_CONTACT(i) ((contact_t*) &radio_mem[OFFSET_CONTACTS + (i)*100]) #define GET_GROUPLIST(i) ((grouplist_t*) &radio_mem[OFFSET_GLISTS + (i)*320]) #define GET_SCANLIST(i) ((scanlist_t*) &radio_mem[OFFSET_SCANLISTS + (i)*192]) +#define GET_MESSAGE(i) ((uint8_t*) &radio_mem[OFFSET_MESSAGES + (i)*256]) #define VALID_TEXT(txt) (*(txt) != 0 && *(txt) != 0xff) #define VALID_GROUPLIST(gl) ((gl)->member[0] != 0xffffffff && VALID_TEXT((gl)->name)) @@ -1004,6 +1006,19 @@ static int have_grouplists() return 0; } +static int have_messages() +{ + int i; + + for (i=0; iname, 16, 1); if ((sl->prio_ch_select == PRIO_CHAN_SEL1 || @@ -1189,7 +1204,28 @@ static void d868uv_print_config(radio_device_t *radio, FILE *out, int verbose) // // Text messages. // - //TODO + if (have_messages()) { + fprintf(out, "\n"); + if (verbose) { + fprintf(out, "# Table of text messages.\n"); + fprintf(out, "# 1) Message number: 1-%d\n", NMESSAGES); + fprintf(out, "# 2) Text: up to 200 characters\n"); + fprintf(out, "#\n"); + } + fprintf(out, "Message Text\n"); + for (i=0; i