A piston stop is basically a bolt with a rounded tip. It screws into #1 spark plug hole. The tip of the bolt extends slightly into the cylinder.
Start with the #1 piston down in the hole quite a bit. Verify that piston is down using a soda straw.
Install the piston stop.
SLOWLY/GENTLY rotate the crankshaft clockwise until the piston contacts the piston stop.
Find a place on the engine very near the harmonic damper/crank pulley to put a fine mark. I used a center punch to make a dimple and then touched the dimple with a single paint brush bristle and white paint.
Mark the adjacent point on the damper/pulley with a fine paint mark.
SLOWLY/GENTLY rotate the crankshaft counter clockwise until the piston contacts the piston stop.
Mark the adjacent point on the damper/pulley with a fine paint mark.
Remove the piston stop.
TDC is exactly in the middle between the two marked points on the pulley. Use a center punch, dremmel tool, engraving tool or such to mark the pulley/damper to mark the pulley. Paint the mark.
Getting additional markings requires measuring the diameter of the damper/pulley where you marked it. Let's say it was 8 inches. Then solve for arc length (A) using the formula A = Diameter * 3.14 * degrees /360. So 5 degrees advanced would be 0.348888888889 inches clockwise from the TDC mark on the pulley. Or you may be able to find a way to mount a metal pointer to the block or timing cover and use it. Just make sure the zero point on the pointer is adjacent to the TDC mark you made above.
Hot Rod Magazine's web site has a pretty good article about this here
How to Accurately Determine Piston TDC - Hot Rod Network although the head is removed and they are using a small block Chevy V8. Procedure is the same.