<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.color64wiki.itchybutt.org/index.php?action=history&amp;feed=atom&amp;title=Ml_functions</id>
	<title>Ml functions - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.color64wiki.itchybutt.org/index.php?action=history&amp;feed=atom&amp;title=Ml_functions"/>
	<link rel="alternate" type="text/html" href="https://www.color64wiki.itchybutt.org/index.php?title=Ml_functions&amp;action=history"/>
	<updated>2026-05-16T00:47:14Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.0</generator>
	<entry>
		<id>https://www.color64wiki.itchybutt.org/index.php?title=Ml_functions&amp;diff=910&amp;oldid=prev</id>
		<title>Admin at 03:37, 1 March 2026</title>
		<link rel="alternate" type="text/html" href="https://www.color64wiki.itchybutt.org/index.php?title=Ml_functions&amp;diff=910&amp;oldid=prev"/>
		<updated>2026-03-01T03:37:10Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://www.color64wiki.itchybutt.org/index.php?title=Ml_functions&amp;amp;diff=910&amp;amp;oldid=825&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.color64wiki.itchybutt.org/index.php?title=Ml_functions&amp;diff=825&amp;oldid=prev</id>
		<title>Admin at 16:17, 20 February 2026</title>
		<link rel="alternate" type="text/html" href="https://www.color64wiki.itchybutt.org/index.php?title=Ml_functions&amp;diff=825&amp;oldid=prev"/>
		<updated>2026-02-20T16:17:56Z</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 16:17, 20 February 2026&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-l278&quot;&gt;Line 278:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 278:&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;See [[Undocumented_8.1_commands#at32|Undocumented features/commands: @32]]  &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;See [[Undocumented_8.1_commands#at32|Undocumented features/commands: @32]]  &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;|-&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;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| @33&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;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| &amp;lt;strong&amp;gt;@33 - Return 1-Byte Null String&amp;lt;/strong&amp;gt;&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 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;This is a newer function undocumented in the version 8.0 manuscript. This function returns a single chr$(0). &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;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;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;See [[Undocumented_8.1_commands#at33|Undocumented features/commands: @33]]&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;div&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;|}&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;!-- diff cache key wikidb:diff:1.41:old-823:rev-825:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.color64wiki.itchybutt.org/index.php?title=Ml_functions&amp;diff=823&amp;oldid=prev</id>
		<title>Admin at 15:00, 20 February 2026</title>
		<link rel="alternate" type="text/html" href="https://www.color64wiki.itchybutt.org/index.php?title=Ml_functions&amp;diff=823&amp;oldid=prev"/>
		<updated>2026-02-20T15:00:15Z</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 15:00, 20 February 2026&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-l272&quot;&gt;Line 272:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 272:&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;See [[Undocumented_8.1_commands#at31|Undocumented features/commands: @31]]  &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;See [[Undocumented_8.1_commands#at31|Undocumented features/commands: @31]]  &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;|-&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;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| @32&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;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| &amp;lt;strong&amp;gt;@32 - Retrieve Block Count&amp;lt;/strong&amp;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;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;This is a newer function undocumented in the version 8.0 manuscript. This function retrieves the block count of a selected filename.&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;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;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;See [[Undocumented_8.1_commands#at32|Undocumented features/commands: @32]] &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;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 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;|}&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;|}&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;!-- diff cache key wikidb:diff:1.41:old-820:rev-823:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.color64wiki.itchybutt.org/index.php?title=Ml_functions&amp;diff=820&amp;oldid=prev</id>
		<title>Admin at 13:52, 20 February 2026</title>
		<link rel="alternate" type="text/html" href="https://www.color64wiki.itchybutt.org/index.php?title=Ml_functions&amp;diff=820&amp;oldid=prev"/>
		<updated>2026-02-20T13:52: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 13:52, 20 February 2026&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-l265&quot;&gt;Line 265:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 265:&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 function is used in conjunction with the variables !49, !50, and !51. It returns the drive init command for one of the three boot drives: 0=Boot drive, 1=Program drive, 2=External drive.  &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 function is used in conjunction with the variables !49, !50, and !51. It returns the drive init command for one of the three boot drives: 0=Boot drive, 1=Program drive, 2=External drive.  &lt;/div&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;|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;}&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;|&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 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;| @31&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;| @31&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;div&gt;| &amp;lt;strong&amp;gt;@31 – Sequential Read (Enhanced)&amp;lt;/strong&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;| &amp;lt;strong&amp;gt;@31 – Sequential Read (Enhanced)&amp;lt;/strong&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikidb:diff:1.41:old-819:rev-820:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.color64wiki.itchybutt.org/index.php?title=Ml_functions&amp;diff=819&amp;oldid=prev</id>
		<title>Admin at 13:51, 20 February 2026</title>
		<link rel="alternate" type="text/html" href="https://www.color64wiki.itchybutt.org/index.php?title=Ml_functions&amp;diff=819&amp;oldid=prev"/>
		<updated>2026-02-20T13:51:24Z</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 13:51, 20 February 2026&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-l265&quot;&gt;Line 265:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 265:&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 function is used in conjunction with the variables !49, !50, and !51. It returns the drive init command for one of the three boot drives: 0=Boot drive, 1=Program drive, 2=External drive.  &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 function is used in conjunction with the variables !49, !50, and !51. It returns the drive init command for one of the three boot drives: 0=Boot drive, 1=Program drive, 2=External drive.  &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;|}&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;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| @31&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;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| &amp;lt;strong&amp;gt;@31 – Sequential Read (Enhanced)&amp;lt;/strong&amp;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;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;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;This is a newer function undocumented in the version 8.0 manuscript. Similar to #30, this function replaces the @5 function for use with merging messages in the bbs.msgs file. &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;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;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;See [[Undocumented_8.1_commands#at31|Undocumented features/commands: @31]] &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;div&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;|}&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;!-- diff cache key wikidb:diff:1.41:old-669:rev-819:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.color64wiki.itchybutt.org/index.php?title=Ml_functions&amp;diff=669&amp;oldid=prev</id>
		<title>Admin at 14:32, 13 December 2025</title>
		<link rel="alternate" type="text/html" href="https://www.color64wiki.itchybutt.org/index.php?title=Ml_functions&amp;diff=669&amp;oldid=prev"/>
		<updated>2025-12-13T14:32:34Z</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 14:32, 13 December 2025&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-l14&quot;&gt;Line 14:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 14:&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;* Then the routine tests to see if what was read in was numeric characters.  If it was then it will use the @1 function to print the value of the input without a leading space.    &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;* Then the routine tests to see if what was read in was numeric characters.  If it was then it will use the @1 function to print the value of the input without a leading space.    &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;div&gt;* The routine continues reading in data until the end of the file.  &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;* The routine continues reading in data until the end of the file.  &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;&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;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;All ML functions (@##) invoke address $4E21 for ML processing.&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;The table below lists the ML Functions and descriptions.  &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;The table below lists the ML Functions and descriptions.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.color64wiki.itchybutt.org/index.php?title=Ml_functions&amp;diff=608&amp;oldid=prev</id>
		<title>Admin at 21:35, 18 October 2025</title>
		<link rel="alternate" type="text/html" href="https://www.color64wiki.itchybutt.org/index.php?title=Ml_functions&amp;diff=608&amp;oldid=prev"/>
		<updated>2025-10-18T21:35:49Z</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:35, 18 October 2025&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 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;{{DISPLAYTITLE:ML Functions}}&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;div&gt;[[programming features|Programming Features]] - &amp;lt;strong&amp;gt;ML Functions&amp;lt;/strong&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;[[programming features|Programming Features]] - &amp;lt;strong&amp;gt;ML Functions&amp;lt;/strong&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;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.color64wiki.itchybutt.org/index.php?title=Ml_functions&amp;diff=326&amp;oldid=prev</id>
		<title>Admin: Protected &quot;Ml functions&quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))</title>
		<link rel="alternate" type="text/html" href="https://www.color64wiki.itchybutt.org/index.php?title=Ml_functions&amp;diff=326&amp;oldid=prev"/>
		<updated>2025-10-06T03:17:22Z</updated>

		<summary type="html">&lt;p&gt;Protected &amp;quot;&lt;a href=&quot;/index.php/Ml_functions&quot; title=&quot;Ml functions&quot;&gt;Ml functions&lt;/a&gt;&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&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 03:17, 6 October 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key wikidb:diff:1.41:old-325:rev-326 --&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.color64wiki.itchybutt.org/index.php?title=Ml_functions&amp;diff=325&amp;oldid=prev</id>
		<title>Admin: Created page with &quot;Programming Features - &lt;strong&gt;ML Functions&lt;/strong&gt;  The ML functions are used where the ML commands and ML variables will not be able to perform more complex operations.  Simply put, a function is like a variable that can perform a subroutine before returning a computed value.  Some functions also have parameters which are used to perform the function&#039;s specific operation.  Since the ML variables cannot return string values, the functions also...&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.color64wiki.itchybutt.org/index.php?title=Ml_functions&amp;diff=325&amp;oldid=prev"/>
		<updated>2025-10-06T03:17:05Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&lt;a href=&quot;/index.php/Programming_features&quot; title=&quot;Programming features&quot;&gt;Programming Features&lt;/a&gt; - &amp;lt;strong&amp;gt;ML Functions&amp;lt;/strong&amp;gt;  The ML functions are used where the ML commands and ML variables will not be able to perform more complex operations.  Simply put, a function is like a variable that can perform a subroutine before returning a computed value.  Some functions also have parameters which are used to perform the function&amp;#039;s specific operation.  Since the ML variables cannot return string values, the functions also...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[programming features|Programming Features]] - &amp;lt;strong&amp;gt;ML Functions&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ML functions are used where the ML commands and ML variables will not be able to perform more complex operations.  Simply put, a function is like a variable that can perform a subroutine before returning a computed value.  Some functions also have parameters which are used to perform the function&amp;#039;s specific operation.  Since the ML variables cannot return string values, the functions also take care of this need as well.  &lt;br /&gt;
&lt;br /&gt;
All functions begin with an &amp;quot;@&amp;quot; at sign, followed by one or two digits (the function number).  Functions are either string or numeric functions, as will be indicated.  Some functions have parameters that are required and/or optional; parameters are included in parenthesis after the function number.    &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 1000 a$=@5:sr=st:a=val(a$):ifa&amp;lt;&amp;gt;0thenprint@1(a) &lt;br /&gt;
 1010 ifsr=.then1000     &lt;br /&gt;
&lt;br /&gt;
The above example would perform the following: &lt;br /&gt;
* Use the function @5, which reads in a line of disk data like the .01 command and then returns the line of data as its value.   &lt;br /&gt;
* Then the routine tests to see if what was read in was numeric characters.  If it was then it will use the @1 function to print the value of the input without a leading space.   &lt;br /&gt;
* The routine continues reading in data until the end of the file. &lt;br /&gt;
&lt;br /&gt;
The table below lists the ML Functions and descriptions. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&lt;br /&gt;
|-&lt;br /&gt;
|+ML Function Descriptions &lt;br /&gt;
! Function&lt;br /&gt;
! Format and Description&lt;br /&gt;
|-&lt;br /&gt;
| @0 &lt;br /&gt;
| &amp;lt;strong&amp;gt;Format: @0 : STRING &amp;lt;/strong&amp;gt;&lt;br /&gt;
This is the equivalent of LEFT$(TX$,!40).  This is used for when lines are returned from disk input (.01) or from key input (.02). &lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;strong&amp;gt;.01:A$=@0 &amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| @1 &lt;br /&gt;
| &amp;lt;strong&amp;gt;Format: @1( &amp;lt;number&amp;gt; ) : STRING &amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This returns the equivalent of STR$(&amp;lt;number&amp;gt;), but it will not include the leading blank that accompanies positive numbers.   &lt;br /&gt;
&lt;br /&gt;
Examples:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;@1(500)&amp;lt;/strong&amp;gt; will return the string &amp;quot;500&amp;quot; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;@1(-10)&amp;lt;/strong&amp;gt; will return the string &amp;quot;-10&amp;quot; &lt;br /&gt;
&lt;br /&gt;
This is better than MID$(STR$(&amp;lt;number&amp;gt;),2) because it will not strip a negative sign. &lt;br /&gt;
|-&lt;br /&gt;
| @2 &lt;br /&gt;
| &amp;lt;strong&amp;gt;Format: @2( &amp;lt;string1&amp;gt; , &amp;lt;string2&amp;gt; [ , &amp;lt;number&amp;gt; ] ) : NUMERIC &amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will search for and return the position of &amp;lt;string1&amp;gt; inside &amp;lt;string2&amp;gt;, searching from the first character to the end of &amp;lt;string2&amp;gt;.  If &amp;lt;string1&amp;gt; cannot be found in &amp;lt;string2&amp;gt;, then 0 is returned.  If you include &amp;lt;number&amp;gt;, then the @2 function will return the position of the &amp;lt;number&amp;gt; occurrence of &amp;lt;string1&amp;gt; in &amp;lt;string2&amp;gt;.  If &amp;lt;number&amp;gt; is 0, then the @2 function will return the number of occurrencess of &amp;lt;string1&amp;gt; in &amp;lt;string2&amp;gt;.   &lt;br /&gt;
&lt;br /&gt;
Examples:  &lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;@2(&amp;quot;b&amp;quot;,&amp;quot;abc”)&amp;lt;/strong&amp;gt; would return 2, the position of b in abc &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;@2(&amp;quot;b&amp;quot;,&amp;quot;def&amp;quot;)&amp;lt;/strong&amp;gt; would return 0, because b is not in def &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;@2(&amp;quot;b&amp;quot;,&amp;quot;abcdabc&amp;quot;,2)&amp;lt;/strong&amp;gt; would return 6, the position of the second b &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;@2(&amp;quot;b&amp;quot;,&amp;quot;bobby&amp;quot;,0)&amp;lt;/strong&amp;gt; would return 3, the number of b&amp;#039;s in bobby &amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The !52 variable will contain the value of the most recent find but will be 0 if the find command was used to find the number of occurances of &amp;lt;string1&amp;gt;. &lt;br /&gt;
|-&lt;br /&gt;
| @3 &lt;br /&gt;
| &amp;lt;strong&amp;gt;Format: @3( &amp;lt;string&amp;gt; , &amp;lt;number&amp;gt; ) : STRING &amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function returns a string with &amp;lt;number&amp;gt; characters of the first character of &amp;lt;string&amp;gt;.  Example: @3(&amp;quot;A&amp;quot;,5) would return the string &amp;quot;AAAAA&amp;quot;.   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;number&amp;gt; can range from 0 to 255.  If the string is a null string, then a null will be returned. &lt;br /&gt;
|-&lt;br /&gt;
| @4 &lt;br /&gt;
| &amp;lt;strong&amp;gt;Format: @4 : STRING &amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function is for input from the modem and returns a character as if you had used a GET statement.   &lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;strong&amp;gt;A$=@4&amp;lt;/strong&amp;gt;.  If there are no characters in the modem input buffer, then a null (nu$) will be returned. &lt;br /&gt;
|-&lt;br /&gt;
| @5 &lt;br /&gt;
| &amp;lt;strong&amp;gt;Format: @5 : STRING &amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the same as the @0 function, except it executes a .01 (get line from disk) command before returning the string.   &lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;strong&amp;gt;A$=@5:SR=ST:PRINT#9,A$; &amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| @6 &lt;br /&gt;
| &amp;lt;strong&amp;gt;Format: @6( &amp;lt;string1&amp;gt; [ , &amp;lt;string2&amp;gt; ] ) : NUMERIC &amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is an extended ASC function.  Its operation varies depending on the number characters you use in each string (regardless of if you use two strings or not).  &lt;br /&gt;
&lt;br /&gt;
Here is a table of the possible outcomes: &lt;br /&gt;
&lt;br /&gt;
* One string, length of 0 or 1:  &lt;br /&gt;
::This will return the PET ASCII value of  &amp;lt;string1&amp;gt;, and will return 0 if it is a null string (not an error like ASC).   &lt;br /&gt;
::Example: &amp;lt;strong&amp;gt;GET#8,A$:I=@6(A$) &amp;lt;/strong&amp;gt;&lt;br /&gt;
* One string, length of 2:  &lt;br /&gt;
::This will return the 16-bit value of the string.  The formula is 256*&amp;lt;2nd char&amp;gt; + &amp;lt;first char&amp;gt; using the characters&amp;#039; appropriate PET ASCII values.   &lt;br /&gt;
::Example:  &amp;lt;strong&amp;gt;IFLEN(I$)=2THENL=@6(I$)  &amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::This version is not as useful as the next one: &lt;br /&gt;
* Two strings, any lengths:  &lt;br /&gt;
:: This is useful for when a GET# command reads from disk two characters which represent the low and high byte of a 16-bit value. &amp;lt;string1&amp;gt; represents the low-byte character, and &amp;lt;string2&amp;gt; represents the high-byte character.   &lt;br /&gt;
::Example: &amp;lt;strong&amp;gt;GET#8,A$,B$:L=@6(A$,B$) &amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::L would contain the 16-bit value of the 2-byte input.  Only the first character of each of these strings will be used in the calculation.  If a string is a null string, then its value is considered zero. &lt;br /&gt;
|-&lt;br /&gt;
| @7 &lt;br /&gt;
| &amp;lt;strong&amp;gt;Format: @7( &amp;lt;number&amp;gt; ) : STRING &amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is an extended CHR$ function. It will return a two-character string representing the low and high bytes of &amp;lt;number&amp;gt;, respectively.  This is useful for the relative file positioning command.   &lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;strong&amp;gt;PRINT#15,&amp;quot;p&amp;quot;CHR$(104)@7(RN)CHR$(1) &amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| @8 &lt;br /&gt;
| &amp;lt;strong&amp;gt;Format: @8 : STRING &amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the same as @0, except it executes an .02 (Get keyed line of input) command before returning the string.   &lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;strong&amp;gt;I$=@8:P=!01:IFP=0THENRETURN &amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| @9 &lt;br /&gt;
| &amp;lt;strong&amp;gt;Format: @9 : NUMERIC &amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An enhanced FRE function. This returns the amount of free memory as a positive number (unlike how FRE sometimes returns a negative number).  This routine does not perform a garbage collection (the slow delay often accompanying using the FRE function), but instead uses a routine that calculates free memory accurately.   &lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;strong&amp;gt;I=@9:IFI&amp;gt;3000THENRETURN &amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| @10 &lt;br /&gt;
| &amp;lt;strong&amp;gt;Format: @10( &amp;lt;string&amp;gt; [ , &amp;lt;number&amp;gt; ] ) : STRING &amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function returns &amp;lt;string&amp;gt;, but with all graphics control characters stripped from it.  This is useful for determining the exact width of the set of normal characters in the string (for centering, etc.).  If you include &amp;lt;number&amp;gt;, then only the first &amp;lt;number&amp;gt; characters will be returned, just like the LEFT$ function.  &amp;lt;number&amp;gt; can range from 0 to 255.  &lt;br /&gt;
Example: &amp;lt;strong&amp;gt;A$=@10(@0,15) &amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| @11 &lt;br /&gt;
| &amp;lt;strong&amp;gt;Format: @11 : STRING &amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function returns the current time in the format &amp;quot;HH:MM am&amp;quot; or &amp;quot;HH:MM pm&amp;quot;, where HH is the current hour and MM is the current minute.  The !45 and !44 variables are also changed. !45 will contain the hour, and !44 will be 0 if the time is AM, or non-zero if the time is PM. &lt;br /&gt;
|-&lt;br /&gt;
| @12 &lt;br /&gt;
| &amp;lt;strong&amp;gt;Format: @12( &amp;lt;string1&amp;gt; , &amp;lt;string2&amp;gt; , &amp;lt;number&amp;gt; ) : STRING &amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function returns a string that is &amp;lt;string2&amp;gt; with &amp;lt;string1&amp;gt; overlayed (replacing existing characters) at position &amp;lt;number&amp;gt;.  &amp;lt;number&amp;gt; can range from 1 to 255. If the strings do not overlap, then the space in between them will be padded with spaces.  &lt;br /&gt;
&lt;br /&gt;
Examples:  &lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none;&amp;quot;&amp;gt;&amp;lt;li&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;@12(&amp;quot;there&amp;quot;,&amp;quot;Hello&amp;quot;,7)&amp;lt;/strong&amp;gt; will return the string &amp;quot;Hello there&amp;quot; &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;@12(&amp;quot;*&amp;quot;,&amp;quot;++++++++&amp;quot;,4)&amp;lt;/strong&amp;gt; will return &amp;quot;+++*++++&amp;quot; &amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The @12 function can also be used in conjunction with the @2 and @25 search-string functions as a &amp;quot;search and replace&amp;quot; function.  If 0 is used for &amp;lt;number&amp;gt; in the @12 function, then the value of the MOST RECENT @2 or @25 function will be used.  If that value is 0, then an ILLEGAL QUANTITY error will occur.  Also, if the @2 or @25 function was used to find the number of occurrences of a string rather than the position, then an error will occur.   &lt;br /&gt;
&lt;br /&gt;
Example of the replace function:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;1000 IF @2(&amp;quot;.&amp;quot;,I$)&amp;gt;0 THEN I$=@12(&amp;quot;/&amp;quot;,I$,0):GOTO 1000 &amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above routine will keep replacing all the &amp;quot;.&amp;quot; characters in I$ with a “/&amp;quot; character until no more are found.  See lines 2400-2403 in √bbs.msgs  (the routine that sifts merged messages for unauthorized MCI usage) for an example of the use of the @12 function. &lt;br /&gt;
|-&lt;br /&gt;
| @13 &lt;br /&gt;
| &amp;lt;strong&amp;gt;Format: @13 : STRING &amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function is used in the crash routine to determine what the BASIC error message was at the crash. &lt;br /&gt;
|-&lt;br /&gt;
| @14 &lt;br /&gt;
| &amp;lt;strong&amp;gt;Format: @14 : STRING &amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function is also used in the crash routine. It returns the error line number as a string. &lt;br /&gt;
|-&lt;br /&gt;
| @15 &lt;br /&gt;
| &amp;lt;strong&amp;gt;Format: @15( &amp;lt;year&amp;gt; , &amp;lt;month&amp;gt; , &amp;lt;day&amp;gt; ) : NUMERIC &amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function returns an ADN (absolute day number) using the year, month, and day parameters. If either the year, month, or day is invalid, then negative one is returned. &lt;br /&gt;
|-&lt;br /&gt;
| @16 &lt;br /&gt;
| &amp;lt;strong&amp;gt;Format: @16( &amp;lt;number&amp;gt; ) : NUMERIC &amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function converts the ADN in &amp;lt;number&amp;gt; to a date and returns the YEAR of the date.  The month and day are returned in the !43 and !42 variables, respectively.  If the ADN is invalid, then the results will be unpredictable. &lt;br /&gt;
|-&lt;br /&gt;
| @17 &lt;br /&gt;
| &amp;lt;strong&amp;gt;Format: @17( &amp;lt;number&amp;gt; ) : NUMERIC &amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function returns the day of the week using the ADN in &amp;lt;number&amp;gt;.  The value will be 0 to 6 for Sunday through Saturday. &lt;br /&gt;
|-&lt;br /&gt;
| @18 &lt;br /&gt;
| &amp;lt;strong&amp;gt;Format: @18( &amp;lt;number&amp;gt; ) : STRING &amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function will return a string in the format &amp;quot;MM/DD/YYYY&amp;quot; using the AND in &amp;lt;number&amp;gt;. If the ADN is invalid, then the string &amp;quot;--/--/----&amp;quot; will be returned. &lt;br /&gt;
|-&lt;br /&gt;
| @19 &lt;br /&gt;
| &amp;lt;strong&amp;gt;Format: @19( &amp;lt;string&amp;gt; ) : NUMERIC &amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;string&amp;gt; is a date in the format &amp;quot;MM/DD/YYYY&amp;quot;. This function will return the ADN calculated from &amp;lt;string&amp;gt;. If the date is invalid, then the function will return negative 1. &lt;br /&gt;
|-&lt;br /&gt;
| @20 &lt;br /&gt;
| &amp;lt;strong&amp;gt;Format: @20 : STRING &amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function returns the file name of the BASIC overlay currently in memory. It is used by the crash routine to get the name of the current overlay. &lt;br /&gt;
|-&lt;br /&gt;
| @21 &lt;br /&gt;
| &amp;lt;strong&amp;gt;Format: @21( &amp;lt;string&amp;gt; ) : STRING &amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function returns a string that is &amp;lt;string&amp;gt; stripped of all characters that are not alphabetic.  It will also convert any uppercase letters to lowercase. &lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;strong&amp;gt;@21(&amp;quot;This Is A Test&amp;quot;)&amp;lt;/strong&amp;gt; would return &amp;quot;thisisatest&amp;quot;.   &lt;br /&gt;
&lt;br /&gt;
This function is used for the password file to enable a search for users who have uppercase characters and graphics in their username. &lt;br /&gt;
|-&lt;br /&gt;
| @22 &lt;br /&gt;
| &amp;lt;strong&amp;gt;Format: @22( &amp;lt;number&amp;gt; ) : STRING &amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function will return a special compressed version of &amp;lt;number&amp;gt; for writing to a disk file. It is like a STR$ function, but packs two digits into each byte, cutting the length of the string in half.  &lt;br /&gt;
&lt;br /&gt;
Programmer&amp;#039;s note: This does NOT convert the number to BCD (Binary Coded Decimal). Rather, it uses a special method to avoid ever creating a carriage return character in the string (because such a character would not enable the compressed number to be read in from disk). &lt;br /&gt;
&lt;br /&gt;
Example:  &amp;lt;strong&amp;gt;PRINT#8,@22(I) &amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| @23 &lt;br /&gt;
| &amp;lt;strong&amp;gt;Format: @23( &amp;lt;string&amp;gt; ) : NUMERIC &amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function performs the opposite of the @22 function and uncompresses the number stored in &amp;lt;string&amp;gt;.  An invalid string will cause unpredictable results. &lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;strong&amp;gt;INPUT#8,I$:I=@23(I$) &amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| @24 &lt;br /&gt;
| &amp;lt;strong&amp;gt;Format: @24( &amp;lt;string&amp;gt; , &amp;lt;number&amp;gt; ) : STRING &amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function is used to pad relative file records to get them ready to print to disk. &lt;br /&gt;
&lt;br /&gt;
If &amp;lt;string&amp;gt; is less than &amp;lt;number&amp;gt; characters in length, then &amp;lt;string&amp;gt; will be returned with enough carriage returns padded on the end to make it &amp;lt;number&amp;gt; characters in length. &lt;br /&gt;
&lt;br /&gt;
If &amp;lt;string&amp;gt; is the same as or more than &amp;lt;number&amp;gt; characters in length, then &amp;lt;string&amp;gt; will be truncated to &amp;lt;number&amp;gt; minus one character, and a carriage return will be added, so the resulting string will be &amp;lt;number&amp;gt; characters in length.  &lt;br /&gt;
&lt;br /&gt;
If &amp;lt;string&amp;gt; is a null, or &amp;lt;number&amp;gt; is less than 2 characters, then there will be unpredictable results:  &lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;strong&amp;gt;F$=F$+@24(&amp;quot;name&amp;quot;,15) &amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| @25 &lt;br /&gt;
| &amp;lt;strong&amp;gt;Format: @25( &amp;lt;string1&amp;gt; , &amp;lt;string2&amp;gt; [ , &amp;lt;number&amp;gt; ] ) : NUMERIC &amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This works the same as the @2 function, except the search for the string proceeds from the END of &amp;lt;string2&amp;gt; to the beginning (backwards). &lt;br /&gt;
|-&lt;br /&gt;
| @26 &lt;br /&gt;
| &amp;lt;strong&amp;gt;Format: @26( &amp;lt;string1&amp;gt; , &amp;lt;string2&amp;gt; , &amp;lt;number&amp;gt; ) : STRING &amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function returns the &amp;lt;number&amp;gt; section of &amp;lt;string2&amp;gt; separated by the character in &amp;lt;string1&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;strong&amp;gt;@26(&amp;quot;!&amp;quot;,&amp;quot;cp6!i6!cd//directory&amp;quot;,2)&amp;lt;/strong&amp;gt; would return &amp;quot;i6&amp;quot;, because the &amp;quot;!&amp;quot; is the separator character, and &amp;quot;i6&amp;quot; is the second section divided off by the &amp;quot;!&amp;quot; character. &lt;br /&gt;
&lt;br /&gt;
This function is used by the drive command routine for dividing up the drive command into its sections.  If &amp;lt;number&amp;gt; is 0, then an error will result. &lt;br /&gt;
|-&lt;br /&gt;
| @27 &lt;br /&gt;
| &amp;lt;strong&amp;gt;Format: @27( &amp;lt;number1&amp;gt; , &amp;lt;number2&amp;gt; ) : NUMERIC &amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function calculates the calendar age from two ADN&amp;#039;s.  The age is the number of calendar years from the ADN in &amp;lt;number2&amp;gt; to the ADN in &amp;lt;number1&amp;gt; (like subtracting &amp;lt;number2&amp;gt; from &amp;lt;number1&amp;gt;).   &lt;br /&gt;
&lt;br /&gt;
For example, to calculate someone&amp;#039;s age on the BBS system, the formula would be:  age=@27(DA,BD) where DA is the system date ADN, and BD is the birth date ADN. &lt;br /&gt;
|-&lt;br /&gt;
| @28 &lt;br /&gt;
| &amp;lt;strong&amp;gt;Format: @28( &amp;lt;string&amp;gt; , &amp;lt;array&amp;gt; ) : NUMERIC &amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function is a search function which will search through an array to find &amp;lt;string&amp;gt;.  &amp;lt;array&amp;gt; is the name of a one-dimensional string array, but the name should not include either the $ character or the array parenthesis (e.g. the string array &amp;quot;a$()&amp;quot; would simply be &amp;quot;a&amp;quot;).  The function will return the index of &amp;lt;array&amp;gt; where the string was found. If the string is not found, will return a negative one. The function will search through the entire array, and the string must match the array element exactly. If &amp;lt;array&amp;gt; is not found in memory or is more than one dimension, then an error will result. &lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;strong&amp;gt;I=@28(A$,A):IFI&amp;lt;0THEN#&amp;quot;not found!&amp;quot;&amp;lt;/strong&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| @29 &lt;br /&gt;
| &amp;lt;strong&amp;gt;Format: @29( &amp;lt;number&amp;gt; ) : STRING &amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function is like @5, except that &amp;lt;number&amp;gt; is how many characters you want read in. It is a viable alternative to the GET# command in some cases. It does not check for End of File and it does not stop at the End of Line character stored in !04. &lt;br /&gt;
|-&lt;br /&gt;
| @30 &lt;br /&gt;
| &amp;lt;strong&amp;gt;Format: @30( &amp;lt;number&amp;gt; ) : STRING &amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function is used in conjunction with the variables !49, !50, and !51. It returns the drive init command for one of the three boot drives: 0=Boot drive, 1=Program drive, 2=External drive. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Next section: [[basic variables|Basic Variables Table]]&lt;br /&gt;
&lt;br /&gt;
[[programming features|Programming Features]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>