There are a couple errors there. For instance, th 2nd line If .mem(tp + 3) > .Waste Then .mem(tp + 3) = .Waste should probably come after that third line.
Feel free to play with it Endy, my mind is still a little groggy from the Six flags trip (Up at 6 AM, back at 1 AM) and I can feel it slipping even as I type... lol