A code that models signals produced by charge-exchange reactions between fast ions and injected neutral beams in tokamak plasmas is described. With the fast-ion distribution function as input, the code predicts the efflux to a neutral particle analyzer (NPA) diagnostic and the photon radiance of Balmer-alpha light to a fast-ion Dα (FIDA) diagnostic. Reactions with both the primary injected neutrals and with the cloud of secondary “halo” neutrals that surround the beam are treated. Accurate calculation of the fraction of neutrals that occupy excited atomic states (the collisional-radiative transition equations) is an important element of the code. Comparison with TRANSP output and other tests verify the solutions. Judicious selection of grid size and other parameters facilitate efficient solutions. The output of the code has been validated by FIDA measurements on DIII-D but further tests are warranted.