That requires only a slight change in the code:
int64 GetBlockValue(int nHeight, int64 nFees)
{
int64 nSubsidy = 5000 * COIN;
// Subsidy is cut in half every 4 years
nSubsidy >>= (nHeight / 2100);
return nSubsidy + nFees;
}
Initial subsidy will be 5000 QC, and this will halve every 2100 blocks. You'll end up with 20999999.99972700 QC in 1.6 years, which is as close as I could get without changing the final reward from 21 million or increasing precision.
You can play with these parameters here:
http://blockexplorer.com/q/changeparams?interval=2100&precision=8&subsidy=5000Here's the closest I could get to a year, by changing precision:
http://blockexplorer.com/q/changeparams?interval=210&precision=70&subsidy=50000(Initial subsidy of 50,000, halving every 210 blocks.)