WORKS Train goes backwards and forwards!  I was accidently mis-aligning my reads of data and address so it ended up always with two padding bytes and a missing data/address byte.  by fluke it appears that the decoder treated my mangled idle packet as "go really fast".