http://beebwiki.mdfs.net/index.php?title=Immediate_operations&feed=atom&action=history
Immediate operations - Revision history
2024-03-29T04:41:27Z
Revision history for this page on the wiki
MediaWiki 1.30.0-rc.0
http://beebwiki.mdfs.net/index.php?title=Immediate_operations&diff=4339&oldid=prev
Jgharston: Minor typos and clarifications.
2022-10-28T10:53:00Z
<p>Minor typos and clarifications.</p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr style="vertical-align: top;" lang="en">
<td colspan="2" style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: white; color:black; text-align: center;">Revision as of 10:53, 28 October 2022</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l125" >Line 125:</td>
<td colspan="2" class="diff-lineno">Line 125:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Although interrupts are disabled in the remote machine, they should be</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Although interrupts are disabled in the remote machine, they should be</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>enabled if the routine is going to take much longer than <del class="diffchange diffchange-inline">1mS </del>to complete.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>enabled if the routine is going to take much longer than <ins class="diffchange diffchange-inline">1ms </ins>to complete.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>The maximum size of the argument block is 128 bytes.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>The maximum size of the argument block is 128 bytes.</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l202" >Line 202:</td>
<td colspan="2" class="diff-lineno">Line 202:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>This call inserts a byte into a remote machine's keyboard buffer and is used</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>This call inserts a byte into a remote machine's keyboard buffer and is used</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>by the 'send a line of text' command (OSWORD A=&14 Control byte=1), which</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>by the 'send a line of text' command (OSWORD A=&14 Control byte=1), which</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>should usually be used in preference to this <del class="diffchange diffchange-inline">calL </del>See section 10.15 for</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>should usually be used in preference to this <ins class="diffchange diffchange-inline">call </ins>See section 10.15 for</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>information on polling the transmit for success.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>information on polling the transmit for success.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l486" >Line 486:</td>
<td colspan="2" class="diff-lineno">Line 486:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>are shown below:</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>are shown below:</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Byte <del class="diffchange diffchange-inline">1</del></div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Byte <ins class="diffchange diffchange-inline">0</ins></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>This is defined by manufacturers and is intended to indicate the hardware</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>This is defined by manufacturers and is intended to indicate the hardware</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>design of the machine. The following are currently defined:</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>design of the machine. The following are currently defined:</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l530" >Line 530:</td>
<td colspan="2" class="diff-lineno">Line 529:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Other values Reserved</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Other values Reserved</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Byte <del class="diffchange diffchange-inline">2</del></div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Byte <ins class="diffchange diffchange-inline">1</ins></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>This byte indicates the manufacturer. The following are currently defined:</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>This byte indicates the manufacturer. The following are currently defined:</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>     Value        Manufacturer</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>     Value        Manufacturer</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>       00        Acorn</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>       00        Acorn</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>       01        Torch</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>       01        Torch</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l543" >Line 543:</td>
<td colspan="2" class="diff-lineno">Line 540:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>       FF        SJ Research</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>       FF        SJ Research</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Bytes 3 <del class="diffchange diffchange-inline">& 4</del></div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Bytes <ins class="diffchange diffchange-inline">2 & </ins>3</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>These contain the low and high bytes of the software release version in</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>These contain the low and high bytes of the software release version in</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>packed Binary Coded Decimal, byte 2 contains the version number and byte <del class="diffchange diffchange-inline">4</del></div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>packed Binary Coded Decimal, byte 2 contains the version number and byte <ins class="diffchange diffchange-inline">3</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>the release. The easiest way to display packed BCD is to print it as if it</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>the release. The easiest way to display packed BCD is to print it as if it</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>were hexadecimal.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>were hexadecimal.</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">Releases &00, &01 and &02 were development versions. Release &03 is 8-bit NFS</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">with no local buffering (eg, BBC, Electron), release &04 is 8-bit NFS with</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">local buffering (eg ANFS), release &05 is 32-bit NFS (eg RISC OS).</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">Examples:</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">byte 0,1: &0001 Acorn BBC</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">byte 2,3: &0360 Version 3.60</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div></pre></div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div></pre></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
</table>
Jgharston
http://beebwiki.mdfs.net/index.php?title=Immediate_operations&diff=3152&oldid=prev
Jgharston: Added category.
2018-11-08T00:14:19Z
<p>Added category.</p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr style="vertical-align: top;" lang="en">
<td colspan="2" style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: white; color:black; text-align: center;">Revision as of 00:14, 8 November 2018</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l1" >Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">[[Category:Networking]]</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div><pre></div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div><pre></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>10.9 Peek                                  OSWORD A=&10 (Control byte=&81)</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>10.9 Peek                                  OSWORD A=&10 (Control byte=&81)</div></td></tr>
</table>
Jgharston
http://beebwiki.mdfs.net/index.php?title=Immediate_operations&diff=3092&oldid=prev
Jgharston: Initial page.
2018-01-31T20:46:02Z
<p>Initial page.</p>
<p><b>New page</b></p><div><pre><br />
10.9 Peek OSWORD A=&10 (Control byte=&81)<br />
==========================================================================<br />
<br />
General description<br />
-------------------<br />
This returns a block of memory from a remote machine into the local machine. <br />
See section 10.15 for information on polling the transmit for success.<br />
<br />
On entry<br />
--------<br />
A=&10<br />
YX point to the address of the control block shown below:<br />
<br />
0 +-----------------------------+<br />
| &81 |<br />
1 +-----------------------------+<br />
| 0 |<br />
2 +-----------------------------+<br />
| Remote station |<br />
| (station number, network) |<br />
4 +-----------------------------+<br />
| Pointer to start of |<br />
| local buffer |<br />
8 +-----------------------------+<br />
| Pointer to end of |<br />
| local buffer |<br />
12 +-----------------------------+<br />
| Pointer to start of |<br />
| remote machine's buffer |<br />
16 +-----------------------------+<br />
<br />
On exit<br />
-------<br />
A,X,Y undefined<br />
<br />
0 +-----------------------------+<br />
| Modified |<br />
1 +-----------------------------+<br />
| Unchanged |<br />
16 +-----------------------------+<br />
<br />
<br />
Poke OSWORD A=&10 (Control byte=&82)<br />
==========================================================================<br />
<br />
General description<br />
-------------------<br />
This sends a block of memory from the local machine into the remote machine. <br />
See section 10.15 for information on polling the transmit for success.<br />
<br />
On entry<br />
--------<br />
A=&10<br />
YX point to the address of the control block shown below:<br />
<br />
0 +-----------------------------+<br />
| &82 |<br />
1 +-----------------------------+<br />
| 0 |<br />
2 +-----------------------------+<br />
| Remote station |<br />
| (station number, network) |<br />
4 +-----------------------------+<br />
| Pointer to start of |<br />
| local buffer |<br />
8 +-----------------------------+<br />
| Pointer to end of |<br />
| local buffer |<br />
12 +-----------------------------+<br />
| Pointer to start of |<br />
| remote machine's buffer |<br />
16 +-----------------------------+<br />
<br />
On exit<br />
-------<br />
A,X,Y undefined<br />
<br />
0 +-----------------------------+<br />
| Modified |<br />
1 +-----------------------------+<br />
| Unchanged |<br />
16 +-----------------------------+<br />
<br />
<br />
Remote JSR OSWORD A=&10 (Control byte=&83)<br />
==========================================================================<br />
<br />
General description<br />
-------------------<br />
This call sends an argument block to a remote machine, then jumps to a<br />
location in the remote machine. See section 10.15 for information on polling<br />
the transmit for success.<br />
<br />
On entry<br />
--------<br />
A=&10<br />
YX point to the address of the control block shown below:<br />
<br />
0 +-----------------------------+<br />
| &83 |<br />
1 +-----------------------------+<br />
| 0 |<br />
2 +-----------------------------+<br />
| Remote station |<br />
| (station number, network) |<br />
4 +-----------------------------+<br />
| Pointer to start of |<br />
| local buffer for arguments |<br />
8 +-----------------------------+<br />
| Pointer to end of |<br />
| local buffer for arguments |<br />
12 +-----------------------------+<br />
| Address to CALL in remote |<br />
| machine |<br />
16 +-----------------------------+<br />
<br />
After this call the remote machine is protected against procedure calls and<br />
OS procedure calls until the parameter block is read. The program in the<br />
remote machine must read the parameter block (OSWORD A=&12) before exiting<br />
(with a RTS), otherwise the remote machine will remain protected. If the<br />
remote machine is a BBC microcomputer then the address to call must be in<br />
the I/O processor.<br />
<br />
Although interrupts are disabled in the remote machine, they should be<br />
enabled if the routine is going to take much longer than 1mS to complete.<br />
<br />
The maximum size of the argument block is 128 bytes.<br />
<br />
On exit<br />
-------<br />
A,X,Y undefined<br />
<br />
0 +-----------------------------+<br />
| Modified |<br />
1 +-----------------------------+<br />
| Unchanged |<br />
16 +-----------------------------+<br />
<br />
<br />
Remote procedure OSWORD A=&10 (Control byte=&84)<br />
==========================================================================<br />
<br />
General description<br />
-------------------<br />
This passes a block of memory to a remote machine and causes an event<br />
(number 8) in that machine. The program in the remote machine must intercept<br />
the event number (procedure number held in YX) and read the argument block<br />
(OSWORD A=&12) before exiting with an RTS.<br />
<br />
Note that the argument block must be read even if there are no arguments,<br />
because the Rx control block will not be reopened until this has happened.<br />
<br />
Machines with Econet version 3.34 may crash, because stations greater than<br />
240 can override the machine protection, therefore they can overwrite the<br />
argument block before it is read. See section 10.15 for information on<br />
polling the transmit for success.<br />
<br />
On entry<br />
--------<br />
A=&10<br />
YX point to the address of the control block shown below:<br />
<br />
0 +-----------------------------+<br />
| &84 |<br />
1 +-----------------------------+<br />
| 0 |<br />
2 +-----------------------------+<br />
| Remote station |<br />
| (station number, network) |<br />
4 +-----------------------------+<br />
| Pointer to start of |<br />
| local buffer for arguments |<br />
8 +-----------------------------+<br />
| Pointer to end of |<br />
| local buffer for arguments |<br />
12 +-----------------------------+<br />
| Procedure number |<br />
16 +-----------------------------+<br />
<br />
In the remote machine the Accumulator (A register) holds the event number<br />
(which will be 8). X will hold the low byte of the procedure number and Y<br />
will hold the high byte.<br />
<br />
On exit<br />
-------<br />
A,X,Y undefined<br />
<br />
0 +-----------------------------+<br />
| Modified |<br />
1 +-----------------------------+<br />
| Unchanged |<br />
16 +-----------------------------+<br />
<br />
<br />
Remote Insert key OSWORD A=&10 (Control byte=&85)<br />
==========================================================================<br />
<br />
General description<br />
-------------------<br />
This call inserts a byte into a remote machine's keyboard buffer and is used<br />
by the 'send a line of text' command (OSWORD A=&14 Control byte=1), which<br />
should usually be used in preference to this calL See section 10.15 for<br />
information on polling the transmit for success.<br />
<br />
On entry<br />
--------<br />
A=&10<br />
YX point to the address of the control block shown below:<br />
<br />
0 +-----------------------------+<br />
| &85 |<br />
1 +-----------------------------+<br />
| 0 |<br />
2 +-----------------------------+<br />
| Remote station |<br />
| (station number, network) |<br />
4 +-----------------------------+<br />
| Pointer to buffer |<br />
8 +-----------------------------+<br />
| Pointer to buffer + 1 |<br />
12 +-----------------------------+<br />
| &00 |<br />
16 +-----------------------------+<br />
<br />
The buffer (which is 1 byte long) holds the byte to send to the remote station.<br />
<br />
On exit<br />
-------<br />
A,X,Y undefined<br />
<br />
0 +-----------------------------+<br />
| Modified |<br />
1 +-----------------------------+<br />
| Unchanged |<br />
16 +-----------------------------+<br />
<br />
<br />
Start REMOTE OSWORD A=&10 (Control byte=&85)<br />
==========================================================================<br />
<br />
General description<br />
-------------------<br />
This call is used to start a REMOTE. See section 10.15 for information on<br />
polling the transmit for success.<br />
<br />
On entry<br />
--------<br />
A=&10<br />
YX point to the address of the control block shown below:<br />
<br />
0 +-----------------------------+<br />
| &85 |<br />
1 +-----------------------------+<br />
| 0 |<br />
2 +-----------------------------+<br />
| Remote station |<br />
| (station number, network) |<br />
4 +-----------------------------+<br />
| Pointer to buffer |<br />
8 +-----------------------------+<br />
| Pointer to buffer + 1 |<br />
12 +-----------------------------+<br />
| &01 |<br />
16 +-----------------------------+<br />
<br />
On exit<br />
-------<br />
A,X,Y undefined<br />
<br />
0 +-----------------------------+<br />
| Modified |<br />
1 +-----------------------------+<br />
| Unchanged |<br />
16 +-----------------------------+<br />
<br />
<br />
Update workspace OSWORD A=&10 (Control byte=&85)<br />
==========================================================================<br />
<br />
General description<br />
-------------------<br />
This call causes a remote machine to write the state of its screen to a<br />
position in its Econet workspace (whence it can be read by the local machine<br />
by PEEKing this workspace). See section 10.15 for information on polling the<br />
transmit for success.<br />
<br />
On entry<br />
--------<br />
A=&10<br />
YX point to the address of the control block shown below:<br />
<br />
0 +-----------------------------+<br />
| &85 |<br />
1 +-----------------------------+<br />
| 0 |<br />
2 +-----------------------------+<br />
| Remote station |<br />
| (station number, network) |<br />
4 +-----------------------------+<br />
| Pointer to buffer |<br />
8 +-----------------------------+<br />
| Pointer to buffer + 1 |<br />
12 +-----------------------------+<br />
| &02 |<br />
16 +-----------------------------+<br />
<br />
On exit<br />
-------<br />
A,X,Y undefined<br />
<br />
0 +-----------------------------+<br />
| Modified |<br />
1 +-----------------------------+<br />
| Unchanged |<br />
16 +-----------------------------+<br />
<br />
In the remote machine the data is written to the address (in the I/O<br />
processor) pointed to by locations &9E and &9F plus &E9. This data is shown<br />
below:<br />
<br />
0 +-----------------------------+<br />
| Address of top of screen |<br />
2 +-----------------------------+<br />
| Palette (physical colours |<br />
| defined on screen) |<br />
18 +-----------------------------+<br />
| Mode number (0-7) |<br />
19 +-----------------------------+<br />
| Address of start of screen |<br />
21 +-----------------------------+<br />
| Mark/Space for colours |<br />
23 +-----------------------------+<br />
<br />
<br />
Fatal Error OSWORD A=&10 (Control byte=&85)<br />
==========================================================================<br />
<br />
General description<br />
-------------------<br />
This causes a fatal error in a remote machine. It is easier to use the high<br />
level fatal error call (OSWORD A=&14 Control byte=2). See section 10.15 for<br />
information on polling the transmit for success.<br />
<br />
On entry<br />
--------<br />
A=&10<br />
YX point to the address of the control block shown below:<br />
<br />
0 +-----------------------------+<br />
| &85 |<br />
1 +-----------------------------+<br />
| 0 |<br />
2 +-----------------------------+<br />
| Remote station |<br />
| (station number, network) |<br />
4 +-----------------------------+<br />
| Pointer to buffer |<br />
8 +-----------------------------+<br />
| Pointer to buffer + 1 |<br />
12 +-----------------------------+<br />
| &03 |<br />
16 +-----------------------------+<br />
<br />
On exit<br />
-------<br />
A,X,Y undefined<br />
<br />
0 +-----------------------------+<br />
| Modified |<br />
1 +-----------------------------+<br />
| Unchanged |<br />
16 +-----------------------------+<br />
<br />
<br />
Halt OSWORD A=&10 (Control byte=&86)<br />
==========================================================================<br />
<br />
General description<br />
-------------------<br />
Halts all non-interrupt operations in the I/O processor of a remote machine.<br />
If a Tube is running on the remote machine, then that will continue running<br />
until it tries to communicate with the I/O processor. See section 10.15 for<br />
information on polling the transmit for success.<br />
<br />
On entry<br />
--------<br />
A=&10<br />
YX point to the address of the control block shown below:<br />
<br />
0 +-----------------------------+<br />
| &86 |<br />
1 +-----------------------------+<br />
| 0 |<br />
2 +-----------------------------+<br />
| Remote station |<br />
| (station number, network) |<br />
4 +-----------------------------+<br />
<br />
On exit<br />
-------<br />
A,X,Y undefined<br />
<br />
0 +-----------------------------+<br />
| Modified |<br />
1 +-----------------------------+<br />
| Unchanged |<br />
16 +-----------------------------+<br />
<br />
<br />
Continue OSWORD A=&10 (Control byte=&87)<br />
==========================================================================<br />
<br />
General description<br />
-------------------<br />
Restarts the I/O processor of a remote machine after a Halt command (OSWORD<br />
A=&10 Control byte=&86). See section 10.15 for information on polling the<br />
transmit for success.<br />
<br />
On entry<br />
--------<br />
A=&10<br />
YX point to the address of the control block shown below:<br />
<br />
0 +-----------------------------+<br />
| &87 |<br />
1 +-----------------------------+<br />
| 0 |<br />
2 +-----------------------------+<br />
| Remote station |<br />
| (station number, network) |<br />
4 +-----------------------------+<br />
<br />
On exit<br />
-------<br />
A,X,Y undefined<br />
<br />
0 +-----------------------------+<br />
| Modified |<br />
1 +-----------------------------+<br />
| Unchanged |<br />
16 +-----------------------------+<br />
<br />
<br />
Identify Machine OSWORD A=&10 (Control byte=&88)<br />
==========================================================================<br />
<br />
General description<br />
-------------------<br />
This call interrogates a remote machine returning codes containing values to<br />
distinguish between manufacturers, machine types and software versions. See<br />
section 10.15 for information on polling the transmit for success.<br />
<br />
On entry<br />
--------<br />
A=&10<br />
YX point to the address of the control block shown below:<br />
<br />
0 +-----------------------------+<br />
| &88 |<br />
1 +-----------------------------+<br />
| 0 |<br />
2 +-----------------------------+<br />
| Remote station |<br />
| (station number, network) |<br />
4 +-----------------------------+<br />
| Pointer to start of local |<br />
| buffer |<br />
8 +-----------------------------+<br />
| Pointer to end of local |<br />
| buffer (start+4) |<br />
12 +-----------------------------+<br />
<br />
On exit<br />
-------<br />
A,X,Y undefined<br />
<br />
0 +-----------------------------+<br />
| Modified |<br />
1 +-----------------------------+<br />
| Unchanged |<br />
16 +-----------------------------+<br />
<br />
The first four bytes of the buffer are relevant. The meaning of these bytes<br />
are shown below:<br />
<br />
Byte 1<br />
<br />
This is defined by manufacturers and is intended to indicate the hardware<br />
design of the machine. The following are currently defined:<br />
<br />
Value Type of machine<br />
<br />
SJ Research<br />
FF Z80 CP/M<br />
FE SJ Research File Server<br />
FD RM480Z<br />
FC Nascom 2 (running CP/M)<br />
FB IBM Interface board<br />
FA SCSI Interface<br />
F9 SJ Research 80386 UNIX<br />
F8 SJ Research GP server<br />
<br />
Acorn<br />
00 Reserved<br />
01 BBC Microcomputer (OS 1 or 2)<br />
02 Atom<br />
03 System 3 or System 4<br />
04 System 5<br />
05 Master 128 (OS 3)<br />
06 Electron<br />
07 Archimedes (OS 6)<br />
08 Reserved for future machine<br />
09 Communicator<br />
0A Master 128 ET<br />
0B Filestore<br />
0C Master Compact (OS 5)<br />
0D EcoLink card for PCs<br />
0F UNIX workstation<br />
0F RISC PC<br />
10 Iyonix<br />
11 A9<br />
<br />
40 ZX Spectrum<br />
41 Amstrad CPC<br />
<br />
50 Econet-Ethernet Gateway<br />
<br />
Other values Reserved<br />
<br />
Byte 2<br />
<br />
This byte indicates the manufacturer. The following are currently defined:<br />
<br />
Value Manufacturer<br />
<br />
00 Acorn<br />
01 Torch<br />
02 Reuters<br />
40 J.G.Harston<br />
50 Phillip Blundell<br />
FF SJ Research<br />
<br />
Bytes 3 & 4<br />
<br />
These contain the low and high bytes of the software release version in<br />
packed Binary Coded Decimal, byte 2 contains the version number and byte 4<br />
the release. The easiest way to display packed BCD is to print it as if it<br />
were hexadecimal.<br />
</pre><br />
<br />
==See also==<br />
* [[OSWORD &10]]<br />
* [[MachinePeek types]]<br />
* http://mdfs.net/Docs/Books/SJMDFS/Chapter10<br />
{{Networking}}</div>
Jgharston