I believe the hal.dll error you're getting is because you're not using a compatible version of XP. The only way that the hal.dll error really manifests itself is if the "boot.ini" file has been moved or is in error. By the way, "hal.dll" is the "hardware abstraction layer dynamic library link" file without which Windows can not run.
The copy of XP has to be either a MS boxed full version of XP SP2 or 3. You can also use an OEM System Builders full version of XP SP2 or 3. Other versions such as branded (Dell, Sony, etc), recovery, so called corporate, multiple disk (Media Edition) will not work.