From the data you provided I would postulate that the problem is likely hardware: either with the the general assembly of the motherboard or with the stepper drivers.
The test you already performed excludes the stepper motors themselves as possible culprits. Common sense suggests that if such a show-stopper bug was present in the original Anet firmware, thousands of users would report it.
Stepper motors are usually controlled by two signals (two cables): PULSE
and DIR
. The PULSE
signal controls how many steps the motor needs to perform and the signal itself is normally a PWM or some other form of square wave. The DIR
signal controls which direction the motor is supposed to spin (clockwise or counter-clockwise), and the signal itself is just a "high/low" voltage.

Now, electronics is not exactly my cup of tea, but I would suggest what is happening is that the DIR
signal of the broken output is stuck on either the high or low voltage (you can test this easily with a tester).
If I am right, the likely culprit is either a dry joint (so a joint that does not let electricity pass and keep the DIR
signal in its low state), or a short (so a place where voltage at "high" level is allowed to get onto the cable carrying the DIR
signal). These kind of problems are typically related to poor soldering of the connectors, or to bridges between the pins of chips. You can visually inspect your board for such problems.
Another possible culprit is obviously the driver for the stepper motor itself.