Amiga Inc. were using C and assembly as the primary languages for AmigaOS
before BCPL entered the picture. They were up against deadlines and had no disk operating system.
A third party company, MetaComCo, was known to be selling a a MC68000 port of TRIPOS (which was written in BCPL because its author created BCPL), so they shoehorned TRIPOS into the Amiga operating system and called it AmigaDOS.
It was basically a black box. AmigaOS had an open, documented, normal way to operate, with shared libraries and devices, relocatable executables, callable from any language, including C - because all parameters were passed in registers and each function had to explicitly declare which registers were used, so none of this "I'll write it in C, and if you call me, just remember to use my C compiler's calling convention" nonsense that is now standard practise and people using other languages say C is over-privileged because it's base-level glue... on a single-architecture system like the Amiga, register declarations are base-level glue!
However, any time you went near AmigaDOS, it was quirky crap where all pointers were divided by 4 (because in BCPL there are no datatypes, just machine words, and machine word 0 is 4 bytes after machine word 1 on a 8-bit byte-addressable machine with 32-bit machine words), and there was the "global vector" for accessing shared functions, rather than standard Amiga libraries.
Amiga Inc. were pushed into rewriting in C by Charlie Heath et al, founders of the "AmigaDOS Replacement Project" (ARP)... ultimately almost all of AmigaDOS and its utility commands were rewritten in C for AmigaOS 2.0, and dos.library grew substantially in functions (most of which were already in AmigaDOS, but not visible outside BCPL code)