The thing about going with Mach and a parallel port is, these days getting a PC that a) has one, and b) can do the timing right can be something of a pain. This is why grbl (and tinyG, and smoothieware, etc), was created - it does the timing all on the arduino, which has dedicated hardware for doing this. You just send the g-code to it's USB serial port, and the arduino does the heavy lifting.
Likewise, there are similar cards for use with Mach, that offloads the timing responsibility to the card... allowing you to use just about any old PC with a USB port to run the machine (well... it's gotta be a clean install of windows, with no malware or bloated AV packages, but, basically any PC in good shape will do).
See
https://warp9td.com/index.php/products for one such card (note: I don't own that card, nor do I have any experience with it - the only machine I have still running Mach is on an old Windows 2000 box with a parallel port... I'm just relaying what I've read over the years).
Re: belts and pulleys. Also check eBay; there's lots of parts there (and not all of it is shipped out of China, either). Automation Technologies has an eBay presence also.
:cheers: