I didn't try them but your steps look fine at first glance. I don't remember the exact license on the reference scrypt implementation but if my memory serves me correctly, it's not completely free to use however you want, so make sure you're conforming to that.
The scrypt algorithm acts on 32 bit words regardless of the system it's on (otherwise we'd get different results on different computers). That's why you're using the "32" functions and not the "64" ones.
Hope this helps.
Sean Purcell
If someone can see any problems with my steps, it would be nice to learn
about them.
I have one particular question: Why did the be64dec(), be64enc(),
le64dec(), le64enc() functions end up being unused? Only the "32" ones
were used. This confuses me because I'm on a 64-bit OS X platform.