I've been working on and off for the past eighteen months on a Java version of Pac-Man called PacDasher. It's free and I don't intend to commercialize it. Pretty much all the original features of the original classic are there, plus it's configurable by XML so you can create your own mazes.
As far as I know, I've worked out all the significant bugs. If I'm wrong, you're welcome to flame me or send email to code[at]oranda[dot]com. I've tried it on Windows and Linux. The one thing you do need is the J2SE "5.0". (There's a run14 script in the distro but I'm not supporting it.)
Version 1.0 Release Candidate of the game with full source code can be downloaded from SourceForge
If you have installed Java 5.0 you can probably play it from your browser too, thanks to WebStart:
One thing I noticed was that the ghosts don't turn around like they do in the original when you get a power pellet. I do like that they wait to come back until the power pellet wears off once you eat them.
Do the ghosts follow the same path algorithm as the original four? Seems pretty close.