VitsyVitsy, 15 Bytes
...I'm... I'm beating CJam! (shouts over) Mom! Look, ma, I deed it!
'rd3*i86*-)rl\O
Explanation:
'rd3*i86*-(rl\O Standard quine, but with a twist: ' Capture the source code as a string rd3* Create the ' character in ASCII i86*- Get the input character as ASCII then subtract 48 from it. If it's zero, it'll the if statement will skip the next instruction. (r If the top item of the stack is zero, do not do the next item. The next item here is reverse. l\O Print out the stack. Newer Version of Vitsy, 11 Bytes
v'rd3*}v)rZ v Capture the input as a variable. ' Capture the source until encountering another ' r Reverse the stack. d3* Push ' to the stack. } Rotate the stack to the right one. v) Push the variable (input) to the stack and test if it is not zero. r If so, reverse the stack. Z Output everything in the stack.