The following is from the author of this file:

After reading the "Manual Programming Procedure for MX300-S Code Plug," I didn't want to have to tediously calculate codes for every frequency, so I wrote a computer program to do it for me.  I ran a listing at 2.5 kHz spacing from 136-174 and at 12.5 kHz spacing from 406-512.  I think the RX values are good, but I'm not entirely clear on the TX values.  The dude with the logic analyzer (REEF?) who reverse-engineered his UHF MX codeplug seems to use an IF offset of 23.6 MHz on TX (vs. the usual 21.4 MHz on RX), but I don't understand where that other 2.2 MHz of the offset on TX comes from, nor do I know if it would be calculated the same way for VHF.

This file most useful in Excel, but wastes five times as much space (thanks, Microsoft), so I enclose it as a comma-delimited text file that can be easily loaded into any spreadsheet program.  It has five columns: freq, RXna, RXnp, TXna, and TXnp (in that order).  I haven't written a computer program in over five years, and this one is no masterpiece, but I haven't found any glaring errors yet.  It's written in good old QBASIC.  Hopefully, the enclosed listing will help reduce the MX hacker's need for a pricey $uitca$e programmer.