Sourcecode combinatorics
Befunge-93 x4; n1=5, n2=5; 100 75 chars
I put the 4 programs into 1 file for debugging:  (it outputs a random one of the four programs)
 vv  |2345|2345|2345|2345|2345|2345|2345|2345|2345|2345|2345|2345|2345|2345|2345|2345|2345|2345|23
&gt;??#@&quot;oll&quot;&quot;eH&quot;   &gt;:#0#,_ @    #
     |2345|2345|2345|2345|2345|2345|2345|2345|2345|2345|2345|2345|2345|2345|2345|2345|2345|2345|23
&gt;? #@&quot;dlr&quot;&quot;ow&quot;        &gt;:#0#,_ @0&quot;!namuh olleH&quot;&gt;:#,_@#:&gt;&quot;Hello computer!&quot;
     |2345|2345|2345|2345|2345|2345|2345|2345|2345|2345|2345|2345|2345|2345|2345|2345|2345|2345|23
 &gt; #@&quot;oll&quot;&quot;dlr&quot;&quot;eH&quot; &quot;ow&quot;   &gt;:#     0#,_   &gt;:#@    0#,_ #@0&quot;!namuh olleH&quot;&gt;:#,_@#:&gt;&quot;Hello computer!&quot;
     |2345|2345|2345|2345|2345|2345|2345|2345|2345|2345|2345|2345|2345|2345|2345|2345|2345|2345|23
  &gt;#@&quot;!retupmoc olleH&quot;&gt;:#,_@#:&gt;&quot;Hello human!&quot;0@# _,#0    @#:&gt;   _,#0     #:&gt;   &quot;wo&quot; &quot;He&quot;&quot;rld&quot;&quot;llo&quot;

The separate programs are: (one per line)
&quot;oll&quot;&quot;eH&quot;   &gt;:#0#,_ @    #
&quot;dlr&quot;&quot;ow&quot;        &gt;:#0#,_ @0&quot;!namuh olleH&quot;&gt;:#,_@#:&gt;&quot;Hello computer!&quot;
&quot;oll&quot;&quot;dlr&quot;&quot;eH&quot; &quot;ow&quot;   &gt;:#     0#,_   &gt;:#@    0#,_ #@0&quot;!namuh olleH&quot;&gt;:#,_@#:&gt;&quot;Hello computer!&quot;
&quot;!retupmoc olleH&quot;&gt;:#,_@#:&gt;&quot;Hello human!&quot;0@# _,#0    @#:&gt;   _,#0     #:&gt;   &quot;wo&quot; &quot;He&quot;&quot;rld&quot;&quot;llo&quot;

Edit:  This time, I took advantage of the replacement rule and replaced two characters in the second combination.