If anyone could, I've looked up scrypt on tarsnap and a few other places but I don't quite get it. It is an encryption algorithm? Could someone give a good overall pseudo-code for it?
Pseudo-code, no, but
scrypt.c is a very readable implementation.
Not encryption, in mining usage its a hashing algorithm (but also usable for encryption, hence the confusion). And yes, its just a matter of comparing the resulting hash with the network target (1/difficulty). If its lower you've found a block (or a share if you're pool mining against a lower difficulty target)
The implementation is just above me. I get parts of it, but overall I can't follow it through. It looks like it uses SHA-256 function? But I also read that the computation is memory intensive. What is line of adjustments made to the input to produce the output?
Maybe does it do many SHA-256 hashes on the input, making it memory intensive as the amount of hashes needed to be performed and the data they perform on gets backed up in RAM?