I present the SM5 assembler. Derived from the SM5 emulator, it works well in creating new programs for the SM5 architecture. It was necessary as part of a challenge called Game Copy Protection ROM in OpenCTF 2019. It also contains a small patch to sm5emu that improves the stability and benefits the user.
Why would someone want an assembler for an architecture that is not commercially available? If an FPGA version of this architecture were created, an assembler would be handy. But until such a time, I used the assembler to create a challenge which tested the ability for users to adapt to new architectures, SM5 being an architecture that only a handful of people in the world have experience with.
This work would not be possible without the original reverse engineers of the CIC, Reversing the Nintendo 64 CIC - REcon 2015. Thank you Mike Ryan, marshallh, and John McMaster.