Since you're not an employee, your recourse is much more limited and different than trying to get paycheck would be.
Here's your problem. Legally, there's not a whole lot you can do, because it's not like they're refusing to pay you. They just haven't done it yet. And they can delay a long time if they want to and there's very little you can do except for the standard things any business does when they would collect.
You need to treat it like any other business and call them to collect.
- Call and speak to accounts payable. Talk to them and ask when you can stop by to pick up the check. Do that first before calling your boss. Accounting is how businesses pay bills. That will at least give you some information as far as whether they've lost your invoice or if there is a reason it's being delayed.
- If you get the run around, then you go to the boss. Since you've already emailed him, call him on the phone and ask him if he can help you with it.
Keep doing 1-2 until you get satisfaction or you can't stand it anymore. At that point, you take them to court. Depending on the amount, you may be able to just take them to small claims court. I'm sure you can prove that the work's been done so it really should be a simple matter. Give them warning though. "If I don't have a check by _____ then I'm filing in small claims court (or pursuing legal action if it's a large amount) and then do it. Just give them plenty of time.
Realistically, they can get away with 90 days before you would sue them. Just pester them a lot by phone. Don't be afraid to stop by to "chat" with your boss if you don't get any satisfaction over the phone.
Just keep the pressure on and if they intend to pay you, this is how you can get paid. If they don't, then unless they're going to file bankruptcy, you'll have to go to court.