diff --git a/pd/doc/5.reference/oscformat-help.pd b/pd/doc/5.reference/oscformat-help.pd
new file mode 100644
index 0000000000000000000000000000000000000000..3693bb59af553f75b903ced8a4923cd59eed873b
--- /dev/null
+++ b/pd/doc/5.reference/oscformat-help.pd
@@ -0,0 +1,79 @@
+#N canvas 48 64 758 768 12;
+#X text 36 11 oscformat - convert lists to Open Sound Control (OSC)
+packets, f 61;
+#X msg 72 560 format b;
+#X msg 72 147 1 2 3;
+#X obj 72 268 oscformat cat horse pig;
+#X msg 94 203 set dog ferret;
+#X msg 92 230 set mouse banana;
+#X obj 180 302 oscparse;
+#X obj 72 301 print packet;
+#X msg 80 174 4 5 weasel 6 7 rat;
+#X obj 148 661 oscparse;
+#X obj 148 686 print parse-output;
+#X obj 42 662 print packet;
+#X msg 57 507 -1 1 2 mule 4 5;
+#X msg 69 605 format ifisf;
+#X obj 42 635 oscformat -f b wombat;
+#X msg 45 479 5 6 7 squirrel;
+#X msg 70 582 format fiiib;
+#X text 270 266 creation arguments are OSC address;
+#X text 138 137 OSC messages with numbers and symbols. Except as shown
+below the message will contain 'float' and 'string' data.;
+#X msg 342 379 disconnect;
+#X obj 334 406 netsend -u -b;
+#X msg 343 355 connect localhost 5000;
+#X obj 335 305 list prepend send;
+#X obj 335 330 list trim;
+#X obj 180 327 print reassembled;
+#X text 25 736 see also:;
+#X text 381 733 updated for Pd version 0.46;
+#X obj 267 736 list;
+#X obj 113 736 oscparse;
+#X obj 197 736 netsend;
+#X text 29 45 oscformat makes OSC packets suitable for sending over
+the network via netsend (in UDP binary mode). The OSC address (the
+strings between the slashes) are given by the creation arguments or
+by "set" messages. Incoming lists are output as OSC messages \, byte
+by byte., f 61;
+#X text 437 379 don't send;
+#X text 226 205 set message to change OSC address;
+#X text 232 632 the '-f' creation argument initializes the format;
+#X msg 73 535 format;
+#X text 142 535 no format;
+#X text 150 558 a 'blob';
+#X text 180 593 mixtures;
+#X text 530 354 send as UDP;
+#X text 258 452 The format \, if any (initialized or set by a 'format'
+message) instructs oscformat to interpret incoming data as integer
+\, float \, string \, or 'blob'. Blobs are given as an atom count followed
+by that number of elements. (If an elements is a symbol \, its first
+byte is sent). If the count is negative \, the entire remaining message
+is included in the blob (but the OSC parser will report the actual
+number of elements). If the elements aren't exhausted at the end of
+the format string \, the default (float and symbol) conversions are
+made for the rest.;
+#X text 306 666 Note: there's no way using oscparse to distinguish
+between floats and integers \, nor to see blobs unambiguously., f
+40;
+#X connect 1 0 14 0;
+#X connect 2 0 3 0;
+#X connect 3 0 7 0;
+#X connect 3 0 22 0;
+#X connect 3 0 6 0;
+#X connect 4 0 3 0;
+#X connect 5 0 3 0;
+#X connect 6 0 24 0;
+#X connect 8 0 3 0;
+#X connect 9 0 10 0;
+#X connect 12 0 14 0;
+#X connect 13 0 14 0;
+#X connect 14 0 11 0;
+#X connect 14 0 9 0;
+#X connect 15 0 14 0;
+#X connect 16 0 14 0;
+#X connect 19 0 20 0;
+#X connect 21 0 20 0;
+#X connect 22 0 23 0;
+#X connect 23 0 20 0;
+#X connect 34 0 14 0;
diff --git a/pd/doc/5.reference/oscparse-help.pd b/pd/doc/5.reference/oscparse-help.pd
new file mode 100644
index 0000000000000000000000000000000000000000..d0c7843635cd28c92aa518e54ca795b4da5d890a
--- /dev/null
+++ b/pd/doc/5.reference/oscparse-help.pd
@@ -0,0 +1,53 @@
+#N canvas 3 69 706 702 12;
+#X obj 171 576 oscparse;
+#X text 52 663 see also:;
+#X obj 140 663 oscformat;
+#X obj 224 663 netreceive;
+#X text 435 666 updated for Pd version 0.46;
+#X obj 171 599 print parse-output;
+#X obj 314 663 list;
+#X obj 419 521 netreceive -u -b;
+#X msg 419 466 listen 5000;
+#X msg 431 494 listen 0;
+#X text 520 493 stop listening;
+#X msg 57 471 1 2 3 foo 5;
+#X text 51 446 numbers and symbols;
+#X obj 57 496 oscformat dog cat;
+#X obj 222 496 oscformat -f b weasel;
+#X msg 222 471 -1 1 2 3 4 5;
+#X obj 57 576 print packet;
+#X text 234 445 a blob;
+#X text 416 442 packets from network;
+#X text 521 466 slisten on port 5000;
+#X text 558 521 UDP packets \, binary output, f 13;
+#X text 45 41 oscparse take incoming lists of numbers \, interpreting
+them as the bytes in an OSC message. The output is a list containing
+\, first \, the symbols making up the address of the OSC packet \,
+and following that \, numbers and symbols as present in the OSC message.
+OSC messages may contain 'float' \, 'int' \, 'string' \, or 'blob'
+elements. Blobs are arrays of bytes (numbers between 0 and 255) and
+are copied to the output preceded by the blob's byte count.;
+#X text 80 11 oscparse - parse Open Sound Control (OSC) packets into
+Pd messages, f 67;
+#X text 44 187 OSC is a complicated networking protocol (FUDI \, as
+used in netsend/netreceive is simpler and better but less widely used).
+oscparse and oscformat make no attempt to deal with timetags or aggregates
+of packets \, nor with streaming OSC. Also \, no attempt is made here
+to clearly distinguish between the OSC address (symbols) and the following
+data \, nor between blobs and lists of numbers - it is assumed that
+you know what types the message should contain. You can alternatively
+use the OSC objects from mrpeach which have more features than these.
+;
+#X text 42 356 OSC messages may be combined in "bundles". If oscparse
+receives a bundle it simply parses all the messages in the bundle in
+the order they appear \, and ignores the bundle's time tag.;
+#X connect 0 0 5 0;
+#X connect 7 0 0 0;
+#X connect 8 0 7 0;
+#X connect 9 0 7 0;
+#X connect 11 0 13 0;
+#X connect 13 0 0 0;
+#X connect 13 0 16 0;
+#X connect 14 0 0 0;
+#X connect 14 0 16 0;
+#X connect 15 0 14 0;