CodeGenerator will give you as many pins on PORTD as you want. But be careful what you wish for! Its output might bury you alive.

This program creates rFDW for any number of arguments, for one port.
You can modify:
port -- name of port. Usually you change it together with arr in main.
maxmessage -- maximum number of simultaneous pin settings for which we will generate rFDW. The generated code will have rFDW with (maxmessage + 1) arguments, one of which is high/low setting. 1 is what we have now. PERFORMANCE WARNING: increases memory and processing time exponentially. Set this to 2 and it's square from what you had with 1. Set this to 3 and it's cube. Set this to 8, like I originally wanted, and go to bathroom while poor slow Java dumps out a gigabyte or so into your console. (Most probably it'll just throw an OutOfMemoryException halfway.)