FSF was using UCI's KxR notation even in CECP, where it has to be O-O(-O).
string move = (type_of(m) == DROP ? UCI::dropped_piece(pos, m) + (CurrentProtocol == USI ? '*' : '@')
: UCI::square(pos, from)) + UCI::square(pos, to);
+ if(CurrentProtocol == XBOARD && type_of(m) == CASTLING && pos.is_chess960()) move = to > from ? "O-O" : "O-O-O";
+
// Wall square
if (pos.walling() && CurrentProtocol == XBOARD)
move += "," + UCI::square(pos, to) + UCI::square(pos, gating_square(m));