Pretend that the machine has absolutely no automatic capabilities at all. You are the operator. You control everything - manually.
How do YOU get the desired effect? Put aside all assumptions! Put aside your personal memory... use a pencil and paper to log your memory. If you make judgements based on memory, those judgements can only be based on currently logged memories.
Once you figure out what it is that you need to know, play "Be the Computer" and figure out how you can use that information.
Give it a shot... talk yourself through it...
One of the signs of a truely experienced programmer is that you sit (or pace), staring right through things, flinging your hands around, pointing this-a-way and that-a-way, and most importantly... you talk to yourself! You are talking yourself through the "Be the Manual Operator" and "Be the Computer" processes.
While you play "Be the Manual Operator", the most important things to consider are, what exactly, am I doing, and why? WHY do I think this is the thing to do??? WHY-THIS? and WHY-NOW? Don't assume ANYTHING!
While you play "Be the Computer" the most important thing to consider is that all you can respond to are idiot lights that say something is either ON or OFF! You also have access to memory... but you need to consider, WHEN, HOW and WHY does any information even get into memory?
NO ASSUMPTIONS!!!
So... what-a-ya got?