Period 2 Reversed Quine

RProgN, 3 bytes

1
2

Thanks to @MartinEnder for reminding me about this answer.

Try it online!

How it works

This exploits a potential flaw in our definition of proper quine:

It must be possible to identify a section of the program which encodes a different part of the program. ("Different" meaning that the two parts appear in different positions.)

Furthermore, a quine must not access its own source, directly or indirectly.

That's obviously the case here, as the output is the reverse of the code and the code is not a palindrome.

RProgN – reverse programmer notation – uses a LIFO stack and prints the items on it in the order they are popped. The two tokens 1 and 2, separated by spaces and/or newlines, get popped in reverse order and are printed separated by a newline.

This prints the reversed program

2
1

which, in turn, prints the original one.

!enilno ti yrT


Befunge-98, 33 bytes

b3*>1#;-:0g,:#;_@_;#:,g0:-;#1>*b3

Try it online!


Fission 2, 10 bytes

"L;L'!+!'_

Try it online!

This prints:

_'!+!'L;L"

Try it online!

And vice versa.

Explanation

This is a modification of the reverse quine. It's working to our advantage here that ! is used for printing and is also only one code point away from the the quote ". That makes it easier to make the quote printing section palindromic (the '!+!'). Let's start with the first code:

"L;L'!+!'_

This program has two entry points at the Ls, which each creates a left-going atom. However, the right one immediately hits the ; which destroys it. The left one enters string mode and wraps around to the end, so that it prints the entire code (except the ") from back to front. That already gives us _'!+!'L;L. All that's left is to print the ". _ can be ignored, '! sets the atom's mass to 33 (the code point of !), + increments it to ", and ! prints it. That's all the output done. The 'L sets the atoms mass to the code point of L but that's irrelevant. ; destroys this atom as well and since no atoms are left, the program terminates.

Now the other way round:

_'!+!'L;L"

Again, we have two entry points but one atom is immediately destroyed. This time we move through the !+!' section first, so we start by printing a quote. The '_ is again irrelevant, but we need the _ (or some other useless character) here to avoid ' escaping the ". The atom wraps to the end, traverses the source code once in string mode to print the rest of the program in reverse, the L is then ignored and ; destroys the atom and terminates the program.