Dutch P2000 implementation

Things I've noticed about the Dutch P2000 implementation:

The following pages could've been sent in about one-and-a-half frame, but ended up occupying nearly 9 full frames due to lack of transmission optimization. The message itself appears 12 times, while only once would've been enough.

+FRAME C:7 F:114 LENGTH:1 BI-LEN:0 VECT: 1 PRIORITY ADR: 0 Signal: 215 Noise: 98 used: 69 bytes
| IDLE...
\__________________________________________________________________ Memory used/free: 0/1686 bytes
                                                                      first free block @ 0x1c2

+FRAME C:7 F:115 LENGTH:1 BI-LEN:0 VECT: 11 PRIORITY ADR: 0 Signal: 217 Noise: 99 used: 139 bytes
| RIC: 1400989 will join temporary address 0x1f7800 for frame 116
| RIC: 1400802 will join temporary address 0x1f7800 for frame 116
| RIC: 1400977 will join temporary address 0x1f7800 for frame 116
| RIC: 1400810 will join temporary address 0x1f7801 for frame 116
| RIC: 1400435 will join temporary address 0x1f7801 for frame 116
| RIC: 1400842 will join temporary address 0x1f7801 for frame 116
| RIC: 1400434 will join temporary address 0x1f7801 for frame 116
| RIC: 1400825 will join temporary address 0x1f7802 for frame 117
| RIC: 1400944 will join temporary address 0x1f7802 for frame 117
| RIC: 1400026 will join temporary address 0x1f7802 for frame 117
\__________________________________________________________________ Memory used/free: 80/1606 bytes
                                                                      first free block @ 0x228

+FRAME C:7 F:116 LENGTH:1 BI-LEN:0 VECT: 3 PRIORITY ADR: 0 Signal: 218 Noise: 99 used: 499 bytes
| MESSAGE location word: 5 length:42
|       ADDR:1400989
|       ADDR:1400802
|       ADDR:1400977
|   Scenario Proefalarm dienstdoende functionarissen is geactiveerd! Het uitrukbericht staat voor u in de alarmeringscomputer.
| MESSAGE location word: 47 length:41
\__________________________________________________________________ Memory used/free: 216/1470 bytes
                                                                      first free block @ 0x260

+FRAME C:7 F:117 LENGTH:1 BI-LEN:0 VECT: 22 PRIORITY ADR: 0 Signal: 218 Noise: 99 used: 601 bytes
| MESSAGE location word: 43 length:2
|       ADDR:1400810
|       ADDR:1400435
|       ADDR:1400842
|       ADDR:1400434
|   Scenario Proefalarm dienstdoende functionarissen is geactiveerd! Het uitrukbericht staat voor u in de alarmeringscomputer.
| MESSAGE location word: 45 length:42
|       ADDR:1400825
|       ADDR:1400944
|       ADDR:1400026
|   Scenario Proefalarm dienstdoende functionarissen is geactiveerd! Het uitrukbericht staat voor u in de alarmeringscomputer.
| RIC: 1400985 will join temporary address 0x1f7803 for frame 118
| RIC: 1400984 will join temporary address 0x1f7803 for frame 118
| RIC: 1400843 will join temporary address 0x1f7803 for frame 118
| RIC: 1400068 will join temporary address 0x1f7803 for frame 118
| RIC: 1400990 will join temporary address 0x1f7803 for frame 118
| RIC: 1400987 will join temporary address 0x1f7803 for frame 118
| RIC: 1400978 will join temporary address 0x1f7803 for frame 118
| RIC: 1430402 will join temporary address 0x1f7804 for frame 118
| RIC: 1430070 will join temporary address 0x1f7804 for frame 118
| RIC: 1400939 will join temporary address 0x1f7804 for frame 118
| RIC: 1400841 will join temporary address 0x1f7804 for frame 118
| RIC: 1400793 will join temporary address 0x1f7804 for frame 118
| RIC: 1420111 will join temporary address 0x1f7804 for frame 118
| RIC: 1400838 will join temporary address 0x1f7804 for frame 118
| RIC: 1400970 will join temporary address 0x1f7804 for frame 118
| RIC: 1400975 will join temporary address 0x1f7800 for frame 120
| RIC: 1400988 will join temporary address 0x1f7800 for frame 120
| RIC: 1400942 will join temporary address 0x1f7800 for frame 120
| RIC: 1400095 will join temporary address 0x1f7800 for frame 120
\__________________________________________________________________ Memory used/free: 223/1463 bytes
                                                                      first free block @ 0x2d7

+FRAME C:7 F:118 LENGTH:1 BI-LEN:0 VECT: 3 PRIORITY ADR: 0 Signal: 218 Noise: 99 used: 573 bytes
| MESSAGE location word: 5 length:42
|       ADDR:1400985
|       ADDR:1400984
|       ADDR:1400843
|       ADDR:1400068
|       ADDR:1400990
|       ADDR:1400987
|       ADDR:1400978
|   Scenario Proefalarm dienstdoende functionarissen is geactiveerd! Het uitrukbericht staat voor u in de alarmeringscomputer.
| MESSAGE location word: 47 length:41
\__________________________________________________________________ Memory used/free: 240/1446 bytes
                                                                      first free block @ 0x327

+FRAME C:7 F:119 LENGTH:1 BI-LEN:0 VECT: 17 PRIORITY ADR: 0 Signal: 216 Noise: 99 used: 590 bytes
| MESSAGE location word: 33 length:2
|       ADDR:1430402
|       ADDR:1430070
|       ADDR:1400939
|       ADDR:1400841
|       ADDR:1400793
|       ADDR:1420111
|       ADDR:1400838
|       ADDR:1400970
|   Scenario Proefalarm dienstdoende functionarissen is geactiveerd! Het uitrukbericht staat voor u in de alarmeringscomputer.
| MESSAGE location word: 35 length:42
|       ADDR:1400865
|   Scenario Proefalarm dienstdoende functionarissen is geactiveerd! Het uitrukbericht staat voor u in de alarmeringscomputer.
| RIC: 1400931 will join temporary address 0x1f7800 for frame 120
| RIC: 1400982 will join temporary address 0x1f7805 for frame 120
| RIC: 1400809 will join temporary address 0x1f7805 for frame 120
| RIC: 1400093 will join temporary address 0x1f7805 for frame 120
| RIC: 1420138 will join temporary address 0x1f7805 for frame 120
| RIC: 1400065 will join temporary address 0x1f7805 for frame 120
| RIC: 1400812 will join temporary address 0x1f7801 for frame 121
| RIC: 1400928 will join temporary address 0x1f7801 for frame 121
| RIC: 1400020 will join temporary address 0x1f7801 for frame 121
| RIC: 1400894 will join temporary address 0x1f7801 for frame 121
| RIC: 1400036 will join temporary address 0x1f7802 for frame 121
| RIC: 1420326 will join temporary address 0x1f7802 for frame 121
| RIC: 1220644 will join temporary address 0x1f7803 for frame 122
| RIC: 1220499 will join temporary address 0x1f7803 for frame 122
\__________________________________________________________________ Memory used/free: 214/1472 bytes
                                                                      first free block @ 0x483

+FRAME C:7 F:120 LENGTH:1 BI-LEN:0 VECT: 3 PRIORITY ADR: 0 Signal: 217 Noise: 99 used: 564 bytes
| MESSAGE location word: 5 length:42
|       ADDR:1400931
|       ADDR:1400975
|       ADDR:1400988
|       ADDR:1400942
|       ADDR:1400095
|   Scenario Proefalarm dienstdoende functionarissen is geactiveerd! Het uitrukbericht staat voor u in de alarmeringscomputer.
| MESSAGE location word: 47 length:41
\__________________________________________________________________ Memory used/free: 261/1425 bytes
                                                                      first free block @ 0x1e5

+FRAME C:7 F:121 LENGTH:1 BI-LEN:0 VECT: 4 PRIORITY ADR: 0 Signal: 217 Noise: 99 used: 648 bytes
| MESSAGE location word: 7 length:2
|       ADDR:1400982
|       ADDR:1400809
|       ADDR:1400093
|       ADDR:1420138
|       ADDR:1400065
|   Scenario Proefalarm dienstdoende functionarissen is geactiveerd! Het uitrukbericht staat voor u in de alarmeringscomputer.
| MESSAGE location word: 9 length:42
|       ADDR:1400812
|       ADDR:1400928
|       ADDR:1400020
|       ADDR:1400894
|   Scenario Proefalarm dienstdoende functionarissen is geactiveerd! Het uitrukbericht staat voor u in de alarmeringscomputer.
| MESSAGE location word: 51 length:37
\__________________________________________________________________ Memory used/free: 188/1498 bytes
                                                                      first free block @ 0x1e9

+FRAME C:7 F:122 LENGTH:1 BI-LEN:0 VECT: 4 PRIORITY ADR: 0 Signal: 216 Noise: 99 used: 470 bytes
| MESSAGE location word: 7 length:6
|       ADDR:1400036
|       ADDR:1420326
|   Scenario Proefalarm dienstdoende functionarissen is geactiveerd! Het uitrukbericht staat voor u in de alarmeringscomputer.
| MESSAGE location word: 13 length:5
|       ADDR:1220644
|       ADDR:1220499
|   test 20144
| MESSAGE location word: 18 length:42
|       ADDR:1400871
|   Scenario Proefalarm dienstdoende functionarissen is geactiveerd! Het uitrukbericht staat voor u in de alarmeringscomputer.
\__________________________________________________________________ Memory used/free: 0/1686 bytes
                                                                      first free block @ 0x1c2

+FRAME C:7 F:123 LENGTH:1 BI-LEN:0 VECT: 2 PRIORITY ADR: 0 Signal: 214 Noise: 98 used: 244 bytes
| MESSAGE location word: 3 length:42
|       ADDR:1400983
|   Scenario Proefalarm dienstdoende functionarissen is geactiveerd! Het uitrukbericht staat voor u in de alarmeringscomputer.
\__________________________________________________________________ Memory used/free: 0/1686 bytes

These two (one, arguably) messages were split over 3 frames, but could've been transmitted in 1 frame with ease. Also note that these appear to have been sent by a different system or terminal, as absolutely zero message/address grouping takes place.

+FRAME C:6 F:25 LENGTH:1 BI-LEN:0 VECT: 2 PRIORITY ADR: 0 Signal: 255 Noise: 136 used: 104 bytes
| MESSAGE location word: 3 length:13
|       ADDR:1735169
|   Prio 1, Vaartuig omgeslagen, STEbi
\__________________________________________________________________ Memory used/free: 0/1685 bytes
+FRAME C:6 F:26 LENGTH:1 BI-LEN:0 VECT: 3 PRIORITY ADR: 0 Signal: 255 Noise: 136 used: 174 bytes
| MESSAGE location word: 5 length:13
|       ADDR:1735067
|   Prio 1, Vaartuig omgeslagen, STEbi
| MESSAGE location word: 18 length:13
|       ADDR:1735099
|   Prio 1, Vaartuig omgeslagen, STEbi
\__________________________________________________________________ Memory used/free: 0/1685 bytes
+FRAME C:6 F:31 LENGTH:1 BI-LEN:0 VECT: 5 PRIORITY ADR: 0 Signal: 255 Noise: 115 used: 349 bytes
| MESSAGE location word: 9 length:15
|       ADDR:1735804
|   Prio 1, Vaartuig omgeslagen, STEbi,HVSrba
| MESSAGE location word: 24 length:15
|       ADDR:1735800
|   Prio 1, Vaartuig omgeslagen, STEbi,HVSrba
| MESSAGE location word: 39 length:15
|       ADDR:1735067
|   Prio 1, Vaartuig omgeslagen, STEbi,HVSrba
| MESSAGE location word: 54 length:15
|       ADDR:1735099
|   Prio 1, Vaartuig omgeslagen, STEbi,HVSrba
\__________________________________________________________________ Memory used/free: 0/1685 bytes