The digits that can create confusion when read upside down are: 0, 1, 6, 8, 9. Therefore, the digits that are allowed in the code without creating confusion are 1, 6, 8, 9, which can be read as themselves when flipped upside down.
For the first digit, we can select from 1, 6, 8, 9 (4 choices). For the second digit, we can select from 0, 1, 6, 8, 9 (5 choices).
Thus, the total number of valid codes is:
\[
4 \times 5 = 20
\]
However, we need to exclude the invalid cases where the code reads as a different number when flipped. We can list these numbers: 69, 96, 18, 81, and 88.
Thus, the total number of codes without confusion is:
\[
4 \times 5 - 5 = 78
\]