This repository intentionally contains only M61 application source, build
metadata, tests, and maintained documentation. It does not commit the 1+ GiB
Bouffalo SDK, compiler binaries, generated firmware, benchmark logs, or vendor
PDF manuals. Flasher CI reads BLFlashCommand.exe from the locked SDK and
embeds it in the final Windows EXE; the vendor binary itself is not stored in
Git.
The SDK audit found one historical four-line linker-script edit and no local
CherryUSB, FreeRTOS, or Bluetooth library source changes. That memory choice
is now expressed as project-level CONFIG_WRAM_LENGTH=163840, so the locked
official SDK checkout remains clean. A separate SDK fork would add more than
one gigabyte and no longer carries a required modification, so it is neither
needed nor maintained.
Opus is different: its performance changes modify codec source. The project therefore stores small reviewable patch files, downloads the exact upstream 1.2.1 archive by SHA256, and builds it locally. This preserves both reproducibility and upstream license notices without vendoring a generated source tree.
| Material | Location/source | License |
|---|---|---|
| M61 application, tools, maintained docs | This repository | MIT |
| Original DS5Dongle work | awalol/DS5Dongle history |
MIT |
| Bouffalo SDK | External locked checkout | Apache-2.0 plus component licenses |
BLFlashCommand.exe |
Locked SDK, embedded while building the flasher | Bouffalo SDK Apache-2.0 notice |
| CherryUSB | Through Bouffalo SDK | Apache-2.0 |
| FreeRTOS | Through Bouffalo SDK | MIT |
| Opus 1.2.1 and M61 patches | Downloaded source plus tracked patches | Opus BSD-style license/patent notices |
| Sony names/report formats | Interoperability identifiers | No Sony code, firmware, keys, or artwork is distributed |
See THIRD_PARTY_NOTICES.md before distributing
a firmware binary. A binary distributor must include applicable object-form
notices, especially the Opus copyright/license text.
Datasheets and board manuals are useful development references but may have
separate redistribution terms. PDF copies are ignored under docs/vendor/
and are not committed. Public documentation records only the facts needed to
build and wire the project; users should obtain current manuals from the
vendor.
Publish:
- source commit/tag;
- matching boot2, partition table, application BIN, and checksum list;
M61-Firmware-<version>.zipcontaining that complete verified set;- ELF and MAP when appropriate;
- generated
.manifest.json; - MIT license and
THIRD_PARTY_NOTICES.md; M61-Flasher-Windows.exe, its SHA256, and the Bouffalo Apache-2.0 license;- bilingual release notes describing the exact hardware and profile.
Do not publish:
- SDK/toolchain binaries copied into Git (except the locked flashing core embedded in the Release EXE as described above);
- Opus build/cache directories;
- private controller data or pairing keys;
- local COM-port logs, absolute paths, or vendor PDFs without permission;
- a custom/unverified manifest labeled as release.