Got a couple of crackers from lastnight to add.
Mistake 1
My partner got a laptop recently, and lastnight while she was at work I took the opportunity to install JMRI and connect it to my test layout. I added my Challenger and SD45 to the roster ok, but when I tried my F45s it kept coming up with "locomotive not found" errors half way through the read. When I changed it from "direct" to "paged" mode it would complete, but a full read would take 3+mins and it usually took two or three tries to get everything right. On the first try half the sheets would come up with incorrect/corrupted values and I'd have to re-read those sheets until everything updated correctly. I couldn't work out what on Earth the problem was, as I know TCS decoders support "direct" mode when using my PowerCab, plus my SD45 worked without issue and it uses the same decoder as the F45s.
After roughly two hours of colourful language and a rising urge to hit things the problem ended up being that my California Zephyr set (with lighting) was still on the tracks. Now this has never been an issue before when programming with the PowerCab, but I decided to move them into an isolated siding anyway. Suddenly the F45s read correctly using "direct" mode and all was well...sort of.
Mistake 2
During the above events I had accidentally clicked "write" instead of "read" while trying to fix the roster for F45 #6620, and subsequently loaded it with all the corrupted CVs.

Luckily all I had really changed on these locos was the basic setup and motor control, so I just reset the decoder with the PowerCab and then did the basic setup. By this point I had JMRI working so I consisted my F45s to
finally run some trains, only to find out that #6620 was going backwards.

Let me tell you I cleared & rebuilt that consist at least five times then checked and reset CV29 repeatedly both in JMRI and with the PowerCab. Every time the direction was definitely set to forwards yet still the bloody thing kept going backwards!

Now I know I could've just changed the directional bit and be done with it, but if my other F45s are behaving normally I shouldn't need to do anything differently for this one!
With a massive sigh I was
just about to pull off the shell (a real hassle, the couplers attach to the frame) and check that the wiring hadn't mysteriously gone funky (you never know

), then I had the idea of just opening the roster for one of the working F45s and writing all those values to #6620. I went to temporarily change the address to "6620" first, then noticed that the directional bit was set to reverse. But...hang on...why would...

My other working F45 also had it set to reverse. The lesson to be learned here, which I quickly remembered after this discovery, is that a TCS K1D4 decoder only goes into an Athearn F45 the wrong way round, so you have to change the directional bit to reverse for normal operation.
