user4399: Update: It's chess870 (or chess869). See answer.

Context/Motivation/Goal: In regular chess, you never have to move a rook (on 1 side) to castle (on the other side). My aim is to see how much of 9LX is lost if we retain this. My hope is that it's not much given that it appears to be that usually you don't have to move a rook (on 1 side) to castle (on the other side). This way, you can develop then queen, knights, and bishops without having to give away where you're castling.
Now for 9LX: From a not-so-random sample of some of my 9LX games, I notice that, in most positions, if you remove all the pieces besides the kings, rooks, and pawns, then you don't have to move a rook (on 1 side) to castle (on the other side)
Here is an example of not having to move a rook to castle:
 [FEN "bqnrkbrn/pppppppp/8/8/8/8/PPPPPPPP/BQNRKBRN w KQkq - 0 1"]

Here is an example of having to move a rook to castle. (You have to move the short/h-side rook to castle long/a-side, assuming of course black doesn't interfere like black knight captures rook and then runs away.)
 [FEN "rknrbbqn/pppppppp/8/8/8/8/PPPPPPPP/RKNRBBQN w KQkq - 0 1"]

Question: Restricting ourselves only to positions of the first kind, how many such positions exist?
Maybe related:

Chess480: Why 480?

Which side should I castle if I have opportunity to castle on both sides?

Update: This too I guess based on comment: Minimal number of moves before castling in Chess960


Note: It appears that separating the rooks by at least 2 squares in between them isn't sufficient based on the 2 examples above. I guess at least 2 squares for the kingside, but at least 3 squares for the queenside.

user11144: Ah well, I can program that in MATHEMATICA in ten minutes, regardless of the details...
L = Permutations[{"K", "Q", "R", "R", "B", "B", "N", "N"}]; (* all permutations *)
T1[LL_] := (Position[LL, "R"] // First // First) 
         < (Position[LL, "K"] // First // First) 
         < (Position[LL, "R"] // Last // First); (* king between rooks true? *)
T2[LL_] := EvenQ[1 + 
           (Position[LL, "B"] // First // First) + 
           (Position[LL, "B"] // Last // First)]; (* unequal colored bishops true? *)
LF = Pick[L, (T1[#] && T2[#]) & /@ L]; (* CURRY STYLE YEAH! *)
(LF//Length) == 960 (* True! *)

GR[LL_] := (Position[LL, "K"] // First // First) < 7; (* OO king right *)
GS[LL_] := (Position[LL, "K"] // First // First) == 7; (* OO king stay *)
GL[LL_] := (Position[LL, "K"] // First // First) > 7; (* OO king left *)
CR[LL_] := (Position[LL, "K"] // First // First) < 3; (* OOO king right *)
CS[LL_] := (Position[LL, "K"] // First // First) == 3; (* OOO king stay *)
CL[LL_] := (Position[LL, "K"] // First // First) > 3; (* OOO king left *)
FR[LL_] := (Position[LL, "R"] // Last // First) < 6; (* OO rook right *)
FS[LL_] := (Position[LL, "R"] // Last // First) == 6; (* OO rook stay *)
FL[LL_] := (Position[LL, "R"] // Last // First) > 6; (* OO rook left *)
DR[LL_] := (Position[LL, "R"] // First // First) < 4; (* OOO rook right *)
DS[LL_] := (Position[LL, "R"] // First // First) == 4; (* OOO rook stay *)
DL[LL_] := (Position[LL, "R"] // First // First) > 4; (* OOO rook left *)

(* now counting we go! *)
{Pick[LF, GR[#] & /@ LF] // Length,
 Pick[LF, GS[#] & /@ LF] // Length,
 Pick[LF, GL[#] & /@ LF] // Length,
 Pick[LF, CR[#] & /@ LF] // Length,
 Pick[LF, CS[#] & /@ LF] // Length,
 Pick[LF, CL[#] & /@ LF] // Length,
 Pick[LF, FR[#] & /@ LF] // Length,
 Pick[LF, FS[#] & /@ LF] // Length,
 Pick[LF, FL[#] & /@ LF] // Length,
 Pick[LF, DR[#] & /@ LF] // Length,
 Pick[LF, DS[#] & /@ LF] // Length,
 Pick[LF, DL[#] & /@ LF] // Length}

{852, 108, 0, 108, 168, 684, 174, 174, 612, 786, 102, 72}

So you can read off: The "long" rook goes leftwards in 72 cases, stays put in 102 cases and goes rightwards (jumps) in 786 cases. And so on. You can also combine ad libitum:
SR[LL_] := (Position[LL, "K"] // First // First) == 6 && 
           (Position[LL, "R"] // Last // First) == 7; (* OO in 1st move! *)
SL[LL_] := (Position[LL, "K"] // First // First) == 4 && 
           (Position[LL, "R"] // First // First) == 3;(* OOO in 1st move! *)
{Pick[LF, SR[#] & /@ LF] // Length,
Pick[LF, SL[#] & /@ LF] // Length}

{90,72}

And finally, if the right rook stands in the way of castling left or vice versa, this means
PR[LL_] := (Position[LL, "R"] // First // First) >= 6; (* left rook must clear at least f to OO *)
PL[LL_] := (Position[LL, "R"] // Last // First) <= 4; (* right rook must clear at least d to OOO *)
{Pick[LF, PR[#] & /@ LF] // Length,
Pick[LF, PL[#] & /@ LF] // Length}

{18,72}

Conclusion: This means one rook obstructs castling with the other in 90 cases.

(Actually one can do this in the head: on the long side, the right rook has to be at "d" or left to it, giving RKRX,RKXR,RXKR,XRKR, on the short, "f", so only ...XRKR works. Now always one B has 3 and the other 2 spots independently, and on the remaining the Q can be placed on 3 spots. Fill up with N. Altogether thus there are 5x3x2x3=90 positions where you can't castle before moving the other rook away.)


4399: <p><strong>Update</strong>: It's chess870 (or chess869). See answer.</p>
<hr />
<p><strong>Context/Motivation/Goal</strong>: In regular chess, you never have to move a rook (on 1 side) to castle (on the other side). My aim is to see how much of 9LX is lost if we retain this. My hope is that it's not much given that it appears to be that usually you don't have to move a rook (on 1 side) to castle (on the other side). This way, you can develop then queen, knights, and bishops without having to <a href="https://youtu.be/5lVvs0JB5ME?t=82" rel="nofollow noreferrer">give away where you're castling</a>.</p>
<p><strong>Now for 9LX</strong>: From a not-so-random sample of some of my 9LX games, I notice that, in most positions, if you remove all the pieces besides the kings, rooks, and pawns, then you don't have to move a rook (on 1 side) to castle (on the other side)</p>
<p>Here is an <a href="https://lichess.org/analysis/bqnrkbrn/pppppppp/8/8/8/8/PPPPPPPP/BQNRKBRN_w_KQkq_-_0_1" rel="nofollow noreferrer">example</a> of not having to move a rook to castle:</p>
<pre><code> [FEN &quot;bqnrkbrn/pppppppp/8/8/8/8/PPPPPPPP/BQNRKBRN w KQkq - 0 1&quot;]
</code></pre>
<p>Here is an <a href="https://lichess.org/analysis/rknrbbqn/pppppppp/8/8/8/8/PPPPPPPP/RKNRBBQN_w_KQkq_-_0_1" rel="nofollow noreferrer">example</a> of having to move a rook to castle. (You have to move the short/h-side rook to castle long/a-side, assuming of course black doesn't interfere like black knight captures rook and then runs away.)</p>
<pre><code> [FEN &quot;rknrbbqn/pppppppp/8/8/8/8/PPPPPPPP/RKNRBBQN w KQkq - 0 1&quot;]
</code></pre>
<p><strong>Question</strong>: Restricting ourselves only to positions of the first kind, how many such positions exist?</p>
<p><strong>Maybe related</strong>:</p>
<ol>
<li><p><a href="https://chess.stackexchange.com/questions/34852/chess480-why-480">Chess480: Why 480?</a></p>
</li>
<li><p><a href="https://chess.stackexchange.com/questions/5614/which-side-should-i-castle-if-i-have-opportunity-to-castle-on-both-sides">Which side should I castle if I have opportunity to castle on both sides?</a></p>
</li>
<li><p>Update: This too I guess based on comment: <a href="https://chess.stackexchange.com/questions/25256/minimal-number-of-moves-before-castling-in-chess960">Minimal number of moves before castling in Chess960</a></p>
</li>
</ol>
<p><strong>Note</strong>: It appears that separating the rooks by at least 2 squares in between them isn't sufficient based on the 2 examples above. I guess at least 2 squares for the kingside, but at least 3 squares for the queenside.</p>
 11144: <p>Ah well, I can program that in MATHEMATICA in ten minutes, regardless of the details...</p>
<pre><code>L = Permutations[{&quot;K&quot;, &quot;Q&quot;, &quot;R&quot;, &quot;R&quot;, &quot;B&quot;, &quot;B&quot;, &quot;N&quot;, &quot;N&quot;}]; (* all permutations *)
T1[LL_] := (Position[LL, &quot;R&quot;] // First // First) 
         &lt; (Position[LL, &quot;K&quot;] // First // First) 
         &lt; (Position[LL, &quot;R&quot;] // Last // First); (* king between rooks true? *)
T2[LL_] := EvenQ[1 + 
           (Position[LL, &quot;B&quot;] // First // First) + 
           (Position[LL, &quot;B&quot;] // Last // First)]; (* unequal colored bishops true? *)
LF = Pick[L, (T1[#] &amp;&amp; T2[#]) &amp; /@ L]; (* CURRY STYLE YEAH! *)
(LF//Length) == 960 (* True! *)

GR[LL_] := (Position[LL, &quot;K&quot;] // First // First) &lt; 7; (* OO king right *)
GS[LL_] := (Position[LL, &quot;K&quot;] // First // First) == 7; (* OO king stay *)
GL[LL_] := (Position[LL, &quot;K&quot;] // First // First) &gt; 7; (* OO king left *)
CR[LL_] := (Position[LL, &quot;K&quot;] // First // First) &lt; 3; (* OOO king right *)
CS[LL_] := (Position[LL, &quot;K&quot;] // First // First) == 3; (* OOO king stay *)
CL[LL_] := (Position[LL, &quot;K&quot;] // First // First) &gt; 3; (* OOO king left *)
FR[LL_] := (Position[LL, &quot;R&quot;] // Last // First) &lt; 6; (* OO rook right *)
FS[LL_] := (Position[LL, &quot;R&quot;] // Last // First) == 6; (* OO rook stay *)
FL[LL_] := (Position[LL, &quot;R&quot;] // Last // First) &gt; 6; (* OO rook left *)
DR[LL_] := (Position[LL, &quot;R&quot;] // First // First) &lt; 4; (* OOO rook right *)
DS[LL_] := (Position[LL, &quot;R&quot;] // First // First) == 4; (* OOO rook stay *)
DL[LL_] := (Position[LL, &quot;R&quot;] // First // First) &gt; 4; (* OOO rook left *)

(* now counting we go! *)
{Pick[LF, GR[#] &amp; /@ LF] // Length,
 Pick[LF, GS[#] &amp; /@ LF] // Length,
 Pick[LF, GL[#] &amp; /@ LF] // Length,
 Pick[LF, CR[#] &amp; /@ LF] // Length,
 Pick[LF, CS[#] &amp; /@ LF] // Length,
 Pick[LF, CL[#] &amp; /@ LF] // Length,
 Pick[LF, FR[#] &amp; /@ LF] // Length,
 Pick[LF, FS[#] &amp; /@ LF] // Length,
 Pick[LF, FL[#] &amp; /@ LF] // Length,
 Pick[LF, DR[#] &amp; /@ LF] // Length,
 Pick[LF, DS[#] &amp; /@ LF] // Length,
 Pick[LF, DL[#] &amp; /@ LF] // Length}

{852, 108, 0, 108, 168, 684, 174, 174, 612, 786, 102, 72}
</code></pre>
<p>So you can read off: The &quot;long&quot; rook goes leftwards in 72 cases, stays put in 102 cases and goes rightwards (jumps) in 786 cases. And so on. You can also combine ad libitum:</p>
<pre><code>SR[LL_] := (Position[LL, &quot;K&quot;] // First // First) == 6 &amp;&amp; 
           (Position[LL, &quot;R&quot;] // Last // First) == 7; (* OO in 1st move! *)
SL[LL_] := (Position[LL, &quot;K&quot;] // First // First) == 4 &amp;&amp; 
           (Position[LL, &quot;R&quot;] // First // First) == 3;(* OOO in 1st move! *)
{Pick[LF, SR[#] &amp; /@ LF] // Length,
Pick[LF, SL[#] &amp; /@ LF] // Length}

{90,72}
</code></pre>
<p>And finally, if the right rook stands in the way of castling left or vice versa, this means</p>
<pre><code>PR[LL_] := (Position[LL, &quot;R&quot;] // First // First) &gt;= 6; (* left rook must clear at least f to OO *)
PL[LL_] := (Position[LL, &quot;R&quot;] // Last // First) &lt;= 4; (* right rook must clear at least d to OOO *)
{Pick[LF, PR[#] &amp; /@ LF] // Length,
Pick[LF, PL[#] &amp; /@ LF] // Length}

{18,72}
</code></pre>
<p><strong>Conclusion</strong>: This means one rook obstructs castling with the other in <strong>90 cases</strong>.</p>
<ul>
<li>(Actually one can do this in the head: on the long side, the right rook has to be at &quot;d&quot; or left to it, giving RKRX,RKXR,RXKR,XRKR, on the short, &quot;f&quot;, so only ...XRKR works. Now always one B has 3 and the other 2 spots independently, and on the remaining the Q can be placed on 3 spots. Fill up with N. Altogether thus there are 5x3x2x3=90 positions where you can't castle before moving the other rook away.)</li>
</ul>
