You'll need to get a copy of the XP cd. I don't think there's any way around it. When you get a copy, you'll need to boot to the CD, and then select recovery console. It will take you to the DOS prompt, and from there, you'll copy the hal.dll file to the computer from the cd and overwrite the bad version of it. This happens from time to time, don't worry.
Actually, you might be able to go to www.bootdisk.com and download the boot files for XP, and see if you can find a copy of hal.dll anywhere.
Also, if you can boot to XP, you can do a system restore, and restore to an earlier date (before you started having problems). It's in Programs|accessories|system|system restore.
FYI
If you hit F8 booting up, and select "last known good configuration" it won't help any since your computer has had a successful boot after the problem occurred.
Hope this helps.