<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.digitalmzx.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Commands</id>
	<title>Commands - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.digitalmzx.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Commands"/>
	<link rel="alternate" type="text/html" href="https://www.digitalmzx.com/wiki/index.php?title=Commands&amp;action=history"/>
	<updated>2026-10-29T04:00:00Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.digitalmzx.com/wiki/index.php?title=Commands&amp;diff=7660&amp;oldid=prev</id>
		<title>Old-Sckool at 02:50, 26 January 2011</title>
		<link rel="alternate" type="text/html" href="https://www.digitalmzx.com/wiki/index.php?title=Commands&amp;diff=7660&amp;oldid=prev"/>
		<updated>2011-01-26T02:50:01Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 02:50, 26 January 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&quot;&gt;&lt;div&gt;A '''command''' is a single, executed line of [[Robotic]] in a given [[robot]]. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; There are some minor exceptions that affect whether a line is actually executed and counts as a command.  But in &lt;/del&gt;general, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;all lines &lt;/del&gt;- including labels, comments, and even blank lines - &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;count &lt;/del&gt;as &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;commands &lt;/del&gt;when they are encountered.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&quot;&gt;&lt;div&gt;A '''command''' is a single, executed line of [[Robotic]] in a given [[robot]]. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;In &lt;/ins&gt;general, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;every line &lt;/ins&gt;- including labels, comments, and even blank lines - &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;is interpreted and treated &lt;/ins&gt;as &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a command &lt;/ins&gt;when they are encountered&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, save for some minor exceptions&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This is important because each robot in a [[Megazeux]] world is allowed to execute a certain number of commands per [[cycle]], before control automatically passes to the next robot on the board.  Historically, this number has been 40 since MZX version 2.00 (25 before that), but since [[MegaZeux#Exophase Versions|version 2.60]] Megazeux has provided the aptly named &amp;quot;commands&amp;quot; [[counter]] to set this number to something else.  In games with complex [[engines]] requiring a lot of computation, it is common to see this counter set to something high, in order allow the engine function in a reasonable amount of time.  Popular settings include 1000, 32767, (1000000), and the [[expression]] (-1&amp;gt;&amp;gt;1) that sets the value as high as possible.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This is important because each robot in a [[Megazeux]] world is allowed to execute a certain number of commands per [[cycle]], before control automatically passes to the next robot on the board.  Historically, this number has been 40 since MZX version 2.00 (25 before that), but since [[MegaZeux#Exophase Versions|version 2.60]] Megazeux has provided the aptly named &amp;quot;commands&amp;quot; [[counter]] to set this number to something else.  In games with complex [[engines]] requiring a lot of computation, it is common to see this counter set to something high, in order allow the engine function in a reasonable amount of time.  Popular settings include 1000, 32767, (1000000), and the [[expression]] (-1&amp;gt;&amp;gt;1) that sets the value as high as possible.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&quot;&gt;&lt;div&gt;However it is worth cautioning that while &amp;quot;commands&amp;quot; sets a software limit on what MZX is allowed to do, you &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;can &lt;/del&gt;still come up against a hardware limit on what MZX is ''able'' to do.  At a certain point (2^16 = 65536 average total commands per cycle on the average MZXer's Pentium II), attempting to actually execute as many commands as you're allowed to will start causing noticeably slow performance.  This can become much more pronounced for processor intensive commands like &amp;lt;tt&amp;gt;copy block&amp;lt;/tt&amp;gt;, which take more time to execute, to the point where MZX hangs and becomes completely unusable.  Therefore, while it is usually recommended to set &amp;quot;commands&amp;quot; much higher than you actually need, it is also strongly recommended that you make sure each robot only executes as many commands as it needs to per cycle, particularly when loops are involved.  When an engine incorporates a main program loop that is supposed to execute each cycle make sure the loop explicitly terminates with a cycle-ending command like &amp;lt;tt&amp;gt;[[cycle 1]]&amp;lt;/tt&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&quot;&gt;&lt;div&gt;However it is worth cautioning that while &amp;quot;commands&amp;quot; sets a software limit on what MZX is allowed to do, you &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;will &lt;/ins&gt;still come up against a hardware limit on what MZX is ''able'' to do.  At a certain point (2^16 = 65536 average total commands per cycle on the average MZXer's Pentium II), attempting to actually execute as many commands as you're allowed to will start causing noticeably slow performance.  This can become much more pronounced for processor intensive commands like &amp;lt;tt&amp;gt;copy block&amp;lt;/tt&amp;gt;, which take more time to execute, to the point where MZX hangs and becomes completely unusable.  Therefore, while it is usually recommended to set &amp;quot;commands&amp;quot; much higher than you actually need, it is also strongly recommended that you make sure each robot only executes as many commands as it needs to per cycle, particularly when loops are involved.  When an engine incorporates a main program loop that is supposed to execute each cycle make sure the loop explicitly terminates with a cycle-ending command like &amp;lt;tt&amp;gt;[[cycle 1]]&amp;lt;/tt&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Other than non cycle ending commands, there are cycle-ending and multi-cycle commands. Cycle ending commands, once executed, stop the processing of Robotic within the given robot. Usually any command that moves either the player or robot is cycle ending. Multi-cycle commands are unique in that they are executed over the course of 0 or more cycles before moving on to the next command. However, one downside to using multi-cycle commands is that if the robot is sent to a [[subroutine]] call by another robot, the command will be immediately interrupted to deal with the subroutine call, and on return the multi-cycle command will start over&lt;/ins&gt;.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:MegaZeux]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:MegaZeux]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Old-Sckool</name></author>
	</entry>
	<entry>
		<id>https://www.digitalmzx.com/wiki/index.php?title=Commands&amp;diff=7649&amp;oldid=prev</id>
		<title>Kuroneko at 01:07, 26 January 2011</title>
		<link rel="alternate" type="text/html" href="https://www.digitalmzx.com/wiki/index.php?title=Commands&amp;diff=7649&amp;oldid=prev"/>
		<updated>2011-01-26T01:07:45Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 01:07, 26 January 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l5&quot;&gt;Line 5:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 5:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;However it is worth cautioning that while &amp;quot;commands&amp;quot; sets a software limit on what MZX is allowed to do, you can still come up against a hardware limit on what MZX is ''able'' to do.  At a certain point (2^16 = 65536 average total commands per cycle on the average MZXer's Pentium II), attempting to actually execute as many commands as you're allowed to will start causing noticeably slow performance.  This can become much more pronounced for processor intensive commands like &amp;lt;tt&amp;gt;copy block&amp;lt;/tt&amp;gt;, which take more time to execute, to the point where MZX hangs and becomes completely unusable.  Therefore, while it is usually recommended to set &amp;quot;commands&amp;quot; much higher than you actually need, it is also strongly recommended that you make sure each robot only executes as many commands as it needs to per cycle, particularly when loops are involved.  When an engine incorporates a main program loop that is supposed to execute each cycle make sure the loop explicitly terminates with a cycle-ending command like &amp;lt;tt&amp;gt;[[cycle 1]]&amp;lt;/tt&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;However it is worth cautioning that while &amp;quot;commands&amp;quot; sets a software limit on what MZX is allowed to do, you can still come up against a hardware limit on what MZX is ''able'' to do.  At a certain point (2^16 = 65536 average total commands per cycle on the average MZXer's Pentium II), attempting to actually execute as many commands as you're allowed to will start causing noticeably slow performance.  This can become much more pronounced for processor intensive commands like &amp;lt;tt&amp;gt;copy block&amp;lt;/tt&amp;gt;, which take more time to execute, to the point where MZX hangs and becomes completely unusable.  Therefore, while it is usually recommended to set &amp;quot;commands&amp;quot; much higher than you actually need, it is also strongly recommended that you make sure each robot only executes as many commands as it needs to per cycle, particularly when loops are involved.  When an engine incorporates a main program loop that is supposed to execute each cycle make sure the loop explicitly terminates with a cycle-ending command like &amp;lt;tt&amp;gt;[[cycle 1]]&amp;lt;/tt&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&quot;&gt;&lt;div&gt;[[Category:MegaZeux&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]][[Category:Megazeux Commands&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&quot;&gt;&lt;div&gt;[[Category:MegaZeux]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key dmzx_wiki:diff::1.12:old-7646:rev-7649 --&gt;
&lt;/table&gt;</summary>
		<author><name>Kuroneko</name></author>
	</entry>
	<entry>
		<id>https://www.digitalmzx.com/wiki/index.php?title=Commands&amp;diff=7646&amp;oldid=prev</id>
		<title>Kuroneko at 01:04, 26 January 2011</title>
		<link rel="alternate" type="text/html" href="https://www.digitalmzx.com/wiki/index.php?title=Commands&amp;diff=7646&amp;oldid=prev"/>
		<updated>2011-01-26T01:04:28Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 01:04, 26 January 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A '''command''' is a single, executed line of [[Robotic]] in a given [[robot]].  There are some minor exceptions that affect whether a line is actually executed and counts as a command.  But in general, all lines - including labels, comments, and even blank lines - count as commands when they are encountered.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A '''command''' is a single, executed line of [[Robotic]] in a given [[robot]].  There are some minor exceptions that affect whether a line is actually executed and counts as a command.  But in general, all lines - including labels, comments, and even blank lines - count as commands when they are encountered.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&quot;&gt;&lt;div&gt;This is important because each robot in a [[Megazeux]] world is allowed to execute a certain number of commands per [[cycle]], before control automatically passes to the next robot on the board.  Historically, this number has been 40 since MZX version 2.00 (25 before that), but since [[MegaZeux#Exophase Versions|version 2.60]] Megazeux has provided the aptly named &amp;quot;commands&amp;quot; [[counter]] to set this number to something else.  In games with complex [[engines]] requiring a lot of computation, it is common to see this counter set to something high, in order allow the engine function in a reasonable amount of time.  Popular settings include 1000, 32767, and the [[expression]] (-1&amp;gt;&amp;gt;1) that sets the value as high as possible.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&quot;&gt;&lt;div&gt;This is important because each robot in a [[Megazeux]] world is allowed to execute a certain number of commands per [[cycle]], before control automatically passes to the next robot on the board.  Historically, this number has been 40 since MZX version 2.00 (25 before that), but since [[MegaZeux#Exophase Versions|version 2.60]] Megazeux has provided the aptly named &amp;quot;commands&amp;quot; [[counter]] to set this number to something else.  In games with complex [[engines]] requiring a lot of computation, it is common to see this counter set to something high, in order allow the engine function in a reasonable amount of time.  Popular settings include 1000, 32767&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, (1000000)&lt;/ins&gt;, and the [[expression]] (-1&amp;gt;&amp;gt;1) that sets the value as high as possible.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&quot;&gt;&lt;div&gt;However it is worth cautioning that while &amp;quot;commands&amp;quot; sets a software limit on what MZX is allowed to do, you can still come up against a hardware limit on what MZX is ''able'' to do.  At a certain point (2^16 = 65536 average total commands per cycle on &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a reasonably fast computer&lt;/del&gt;), attempting to actually execute as many commands as you're allowed to will start causing noticeably slow performance.  This can become much more pronounced for processor intensive commands like &amp;lt;tt&amp;gt;copy block&amp;lt;/tt&amp;gt;, which take more time to execute, to the point where MZX hangs and becomes completely unusable.  Therefore, while it is usually recommended to set &amp;quot;commands&amp;quot; much higher than you actually need, it is also strongly recommended that you make sure each robot only executes as many commands as it needs to per cycle, particularly when loops are involved.  When an engine incorporates a main program loop that is supposed to execute each cycle make sure the loop explicitly terminates with a cycle-ending command like &amp;lt;tt&amp;gt;[[cycle 1]]&amp;lt;/tt&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&quot;&gt;&lt;div&gt;However it is worth cautioning that while &amp;quot;commands&amp;quot; sets a software limit on what MZX is allowed to do, you can still come up against a hardware limit on what MZX is ''able'' to do.  At a certain point (2^16 = 65536 average total commands per cycle on &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the average MZXer's Pentium II&lt;/ins&gt;), attempting to actually execute as many commands as you're allowed to will start causing noticeably slow performance.  This can become much more pronounced for processor intensive commands like &amp;lt;tt&amp;gt;copy block&amp;lt;/tt&amp;gt;, which take more time to execute, to the point where MZX hangs and becomes completely unusable.  Therefore, while it is usually recommended to set &amp;quot;commands&amp;quot; much higher than you actually need, it is also strongly recommended that you make sure each robot only executes as many commands as it needs to per cycle, particularly when loops are involved.  When an engine incorporates a main program loop that is supposed to execute each cycle make sure the loop explicitly terminates with a cycle-ending command like &amp;lt;tt&amp;gt;[[cycle 1]]&amp;lt;/tt&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&quot;&gt;&lt;div&gt;[[Category:MegaZeux]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&quot;&gt;&lt;div&gt;[[Category:MegaZeux&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]][[Category:Megazeux Commands&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Kuroneko</name></author>
	</entry>
	<entry>
		<id>https://www.digitalmzx.com/wiki/index.php?title=Commands&amp;diff=6664&amp;oldid=prev</id>
		<title>Terryn at 21:59, 3 February 2009</title>
		<link rel="alternate" type="text/html" href="https://www.digitalmzx.com/wiki/index.php?title=Commands&amp;diff=6664&amp;oldid=prev"/>
		<updated>2009-02-03T21:59:35Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 21:59, 3 February 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A '''command''' is a single, executed line of [[Robotic]] in a given [[robot]].  There are some minor exceptions that affect whether a line is actually executed and counts as a command.  But in general, all lines - including labels, comments, and even blank lines - count as commands when they are encountered.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A '''command''' is a single, executed line of [[Robotic]] in a given [[robot]].  There are some minor exceptions that affect whether a line is actually executed and counts as a command.  But in general, all lines - including labels, comments, and even blank lines - count as commands when they are encountered.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&quot;&gt;&lt;div&gt;This is important because each robot in a [[Megazeux]] world is allowed to execute a certain number of commands per [[cycle]], before control automatically passes to the next robot on the board.  Historically, this number has been 40 since MZX version 2.00 (25 before that), but since &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the &lt;/del&gt;[[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Megazeux&lt;/del&gt;#&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;SDL Port&lt;/del&gt;|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;port&lt;/del&gt;]] Megazeux has provided the aptly named &amp;quot;commands&amp;quot; [[counter]] to set this number to something else.  In games with complex [[engines]] requiring a lot of computation, it is common to see this counter set to something high, in order allow the engine function in a reasonable amount of time.  Popular settings include 1000, 32767, and the [[expression]] (-1&amp;gt;&amp;gt;1) that sets the value as high as possible.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&quot;&gt;&lt;div&gt;This is important because each robot in a [[Megazeux]] world is allowed to execute a certain number of commands per [[cycle]], before control automatically passes to the next robot on the board.  Historically, this number has been 40 since MZX version 2.00 (25 before that), but since [[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;MegaZeux&lt;/ins&gt;#&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Exophase Versions&lt;/ins&gt;|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;version 2.60&lt;/ins&gt;]] Megazeux has provided the aptly named &amp;quot;commands&amp;quot; [[counter]] to set this number to something else.  In games with complex [[engines]] requiring a lot of computation, it is common to see this counter set to something high, in order allow the engine function in a reasonable amount of time.  Popular settings include 1000, 32767, and the [[expression]] (-1&amp;gt;&amp;gt;1) that sets the value as high as possible.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;However it is worth cautioning that while &amp;quot;commands&amp;quot; sets a software limit on what MZX is allowed to do, you can still come up against a hardware limit on what MZX is ''able'' to do.  At a certain point (2^16 = 65536 average total commands per cycle on a reasonably fast computer), attempting to actually execute as many commands as you're allowed to will start causing noticeably slow performance.  This can become much more pronounced for processor intensive commands like &amp;lt;tt&amp;gt;copy block&amp;lt;/tt&amp;gt;, which take more time to execute, to the point where MZX hangs and becomes completely unusable.  Therefore, while it is usually recommended to set &amp;quot;commands&amp;quot; much higher than you actually need, it is also strongly recommended that you make sure each robot only executes as many commands as it needs to per cycle, particularly when loops are involved.  When an engine incorporates a main program loop that is supposed to execute each cycle make sure the loop explicitly terminates with a cycle-ending command like &amp;lt;tt&amp;gt;[[cycle 1]]&amp;lt;/tt&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;However it is worth cautioning that while &amp;quot;commands&amp;quot; sets a software limit on what MZX is allowed to do, you can still come up against a hardware limit on what MZX is ''able'' to do.  At a certain point (2^16 = 65536 average total commands per cycle on a reasonably fast computer), attempting to actually execute as many commands as you're allowed to will start causing noticeably slow performance.  This can become much more pronounced for processor intensive commands like &amp;lt;tt&amp;gt;copy block&amp;lt;/tt&amp;gt;, which take more time to execute, to the point where MZX hangs and becomes completely unusable.  Therefore, while it is usually recommended to set &amp;quot;commands&amp;quot; much higher than you actually need, it is also strongly recommended that you make sure each robot only executes as many commands as it needs to per cycle, particularly when loops are involved.  When an engine incorporates a main program loop that is supposed to execute each cycle make sure the loop explicitly terminates with a cycle-ending command like &amp;lt;tt&amp;gt;[[cycle 1]]&amp;lt;/tt&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:MegaZeux]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:MegaZeux]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Terryn</name></author>
	</entry>
	<entry>
		<id>https://www.digitalmzx.com/wiki/index.php?title=Commands&amp;diff=6640&amp;oldid=prev</id>
		<title>Terryn at 21:14, 29 January 2009</title>
		<link rel="alternate" type="text/html" href="https://www.digitalmzx.com/wiki/index.php?title=Commands&amp;diff=6640&amp;oldid=prev"/>
		<updated>2009-01-29T21:14:40Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 21:14, 29 January 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l3&quot;&gt;Line 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This is important because each robot in a [[Megazeux]] world is allowed to execute a certain number of commands per [[cycle]], before control automatically passes to the next robot on the board.  Historically, this number has been 40 since MZX version 2.00 (25 before that), but since the [[Megazeux#SDL Port|port]] Megazeux has provided the aptly named &amp;quot;commands&amp;quot; [[counter]] to set this number to something else.  In games with complex [[engines]] requiring a lot of computation, it is common to see this counter set to something high, in order allow the engine function in a reasonable amount of time.  Popular settings include 1000, 32767, and the [[expression]] (-1&amp;gt;&amp;gt;1) that sets the value as high as possible.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This is important because each robot in a [[Megazeux]] world is allowed to execute a certain number of commands per [[cycle]], before control automatically passes to the next robot on the board.  Historically, this number has been 40 since MZX version 2.00 (25 before that), but since the [[Megazeux#SDL Port|port]] Megazeux has provided the aptly named &amp;quot;commands&amp;quot; [[counter]] to set this number to something else.  In games with complex [[engines]] requiring a lot of computation, it is common to see this counter set to something high, in order allow the engine function in a reasonable amount of time.  Popular settings include 1000, 32767, and the [[expression]] (-1&amp;gt;&amp;gt;1) that sets the value as high as possible.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&quot;&gt;&lt;div&gt;However it is worth cautioning that while &amp;quot;commands&amp;quot; sets a software limit on what MZX is allowed to do, you can still come up against a hardware limit on what MZX is ''able'' to do.  At a certain point (2^16 = 65536 average total commands per cycle on a reasonably fast computer), attempting to actually execute as many commands as you're allowed to will start causing noticeably slow performance.  This can become much more pronounced for processor intensive commands like &amp;lt;tt&amp;gt;copy block&amp;lt;/tt&amp;gt;, which take more time to execute, to the point where MZX hangs and becomes completely unusable.  Therefore, while it is usually recommended to set &amp;quot;commands&amp;quot; much higher than you actually need, it is also strongly recommended that you make sure each robot only executes as many commands as it needs to per cycle, particularly when loops are involved.  When an engine incorporates a main program loop that is supposed to execute each cycle make sure the loop explicitly terminates with a cycle ending command like &amp;lt;tt&amp;gt;[[cycle 1]]&amp;lt;/tt&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&quot;&gt;&lt;div&gt;However it is worth cautioning that while &amp;quot;commands&amp;quot; sets a software limit on what MZX is allowed to do, you can still come up against a hardware limit on what MZX is ''able'' to do.  At a certain point (2^16 = 65536 average total commands per cycle on a reasonably fast computer), attempting to actually execute as many commands as you're allowed to will start causing noticeably slow performance.  This can become much more pronounced for processor intensive commands like &amp;lt;tt&amp;gt;copy block&amp;lt;/tt&amp;gt;, which take more time to execute, to the point where MZX hangs and becomes completely unusable.  Therefore, while it is usually recommended to set &amp;quot;commands&amp;quot; much higher than you actually need, it is also strongly recommended that you make sure each robot only executes as many commands as it needs to per cycle, particularly when loops are involved.  When an engine incorporates a main program loop that is supposed to execute each cycle make sure the loop explicitly terminates with a cycle&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;-&lt;/ins&gt;ending command like &amp;lt;tt&amp;gt;[[cycle 1]]&amp;lt;/tt&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:MegaZeux]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:MegaZeux]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Terryn</name></author>
	</entry>
	<entry>
		<id>https://www.digitalmzx.com/wiki/index.php?title=Commands&amp;diff=6639&amp;oldid=prev</id>
		<title>Terryn at 21:14, 29 January 2009</title>
		<link rel="alternate" type="text/html" href="https://www.digitalmzx.com/wiki/index.php?title=Commands&amp;diff=6639&amp;oldid=prev"/>
		<updated>2009-01-29T21:14:25Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 21:14, 29 January 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&quot;&gt;&lt;div&gt;A '''command''' is a single, executed line of [[Robotic]] in a given [[robot]].  There are some minor exceptions that affect whether a line is actually executed and counts as a command.  But in general all lines&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/del&gt;including labels, comments, and even blank lines&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/del&gt;count as commands when they are encountered.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&quot;&gt;&lt;div&gt;A '''command''' is a single, executed line of [[Robotic]] in a given [[robot]].  There are some minor exceptions that affect whether a line is actually executed and counts as a command.  But in general&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/ins&gt;all lines &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;- &lt;/ins&gt;including labels, comments, and even blank lines &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;- &lt;/ins&gt;count as commands when they are encountered.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This is important because each robot in a [[Megazeux]] world is allowed to execute a certain number of commands per [[cycle]], before control automatically passes to the next robot on the board.  Historically, this number has been 40 since MZX version 2.00 (25 before that), but since the [[Megazeux#SDL Port|port]] Megazeux has provided the aptly named &amp;quot;commands&amp;quot; [[counter]] to set this number to something else.  In games with complex [[engines]] requiring a lot of computation, it is common to see this counter set to something high, in order allow the engine function in a reasonable amount of time.  Popular settings include 1000, 32767, and the [[expression]] (-1&amp;gt;&amp;gt;1) that sets the value as high as possible.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This is important because each robot in a [[Megazeux]] world is allowed to execute a certain number of commands per [[cycle]], before control automatically passes to the next robot on the board.  Historically, this number has been 40 since MZX version 2.00 (25 before that), but since the [[Megazeux#SDL Port|port]] Megazeux has provided the aptly named &amp;quot;commands&amp;quot; [[counter]] to set this number to something else.  In games with complex [[engines]] requiring a lot of computation, it is common to see this counter set to something high, in order allow the engine function in a reasonable amount of time.  Popular settings include 1000, 32767, and the [[expression]] (-1&amp;gt;&amp;gt;1) that sets the value as high as possible.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&quot;&gt;&lt;div&gt;However it is worth cautioning that while &amp;quot;commands&amp;quot; sets a software limit on what MZX is allowed to do, you can still come up against a hardware limit on what MZX is ''able'' to do.  At a certain point (2^16 = 65536 average total commands per cycle on a reasonably fast computer), attempting to actually execute as many commands as you're allowed to will start causing noticeably slow performance.  This can become much more pronounced for processor intensive commands like &amp;lt;tt&amp;gt;copy block&amp;lt;/tt&amp;gt;, which take more time to execute, to the point where MZX hangs and becomes completely unusable.  Therefore, while it is usually recommended to set &amp;quot;commands&amp;quot; much higher than you actually need, it is also strongly recommended that you make sure each robot only executes as many commands as it needs to per cycle, particularly when loops are involved.  When an engine incorporates a main program loop that is supposed to execute each cycle make sure the loop explicitly terminates with a cycle ending command like &amp;lt;tt&amp;gt;[[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;wait &lt;/del&gt;1]]&amp;lt;/tt&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&quot;&gt;&lt;div&gt;However it is worth cautioning that while &amp;quot;commands&amp;quot; sets a software limit on what MZX is allowed to do, you can still come up against a hardware limit on what MZX is ''able'' to do.  At a certain point (2^16 = 65536 average total commands per cycle on a reasonably fast computer), attempting to actually execute as many commands as you're allowed to will start causing noticeably slow performance.  This can become much more pronounced for processor intensive commands like &amp;lt;tt&amp;gt;copy block&amp;lt;/tt&amp;gt;, which take more time to execute, to the point where MZX hangs and becomes completely unusable.  Therefore, while it is usually recommended to set &amp;quot;commands&amp;quot; much higher than you actually need, it is also strongly recommended that you make sure each robot only executes as many commands as it needs to per cycle, particularly when loops are involved.  When an engine incorporates a main program loop that is supposed to execute each cycle make sure the loop explicitly terminates with a cycle ending command like &amp;lt;tt&amp;gt;[[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;cycle &lt;/ins&gt;1]]&amp;lt;/tt&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:MegaZeux]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:MegaZeux]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Terryn</name></author>
	</entry>
	<entry>
		<id>https://www.digitalmzx.com/wiki/index.php?title=Commands&amp;diff=6361&amp;oldid=prev</id>
		<title>Wervyn: New page.</title>
		<link rel="alternate" type="text/html" href="https://www.digitalmzx.com/wiki/index.php?title=Commands&amp;diff=6361&amp;oldid=prev"/>
		<updated>2008-10-23T17:40:35Z</updated>

		<summary type="html">&lt;p&gt;New page.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;A '''command''' is a single, executed line of [[Robotic]] in a given [[robot]].  There are some minor exceptions that affect whether a line is actually executed and counts as a command.  But in general all lines, including labels, comments, and even blank lines, count as commands when they are encountered.&lt;br /&gt;
&lt;br /&gt;
This is important because each robot in a [[Megazeux]] world is allowed to execute a certain number of commands per [[cycle]], before control automatically passes to the next robot on the board.  Historically, this number has been 40 since MZX version 2.00 (25 before that), but since the [[Megazeux#SDL Port|port]] Megazeux has provided the aptly named &amp;quot;commands&amp;quot; [[counter]] to set this number to something else.  In games with complex [[engines]] requiring a lot of computation, it is common to see this counter set to something high, in order allow the engine function in a reasonable amount of time.  Popular settings include 1000, 32767, and the [[expression]] (-1&amp;gt;&amp;gt;1) that sets the value as high as possible.&lt;br /&gt;
&lt;br /&gt;
However it is worth cautioning that while &amp;quot;commands&amp;quot; sets a software limit on what MZX is allowed to do, you can still come up against a hardware limit on what MZX is ''able'' to do.  At a certain point (2^16 = 65536 average total commands per cycle on a reasonably fast computer), attempting to actually execute as many commands as you're allowed to will start causing noticeably slow performance.  This can become much more pronounced for processor intensive commands like &amp;lt;tt&amp;gt;copy block&amp;lt;/tt&amp;gt;, which take more time to execute, to the point where MZX hangs and becomes completely unusable.  Therefore, while it is usually recommended to set &amp;quot;commands&amp;quot; much higher than you actually need, it is also strongly recommended that you make sure each robot only executes as many commands as it needs to per cycle, particularly when loops are involved.  When an engine incorporates a main program loop that is supposed to execute each cycle make sure the loop explicitly terminates with a cycle ending command like &amp;lt;tt&amp;gt;[[wait 1]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Category:MegaZeux]]&lt;/div&gt;</summary>
		<author><name>Wervyn</name></author>
	</entry>
</feed>