<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.temlib.org/AtariForumWiki/index.php?action=history&amp;feed=atom&amp;title=Other_Miscellaneous_Useful_Tit-bits</id>
	<title>Other Miscellaneous Useful Tit-bits - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.temlib.org/AtariForumWiki/index.php?action=history&amp;feed=atom&amp;title=Other_Miscellaneous_Useful_Tit-bits"/>
	<link rel="alternate" type="text/html" href="https://www.temlib.org/AtariForumWiki/index.php?title=Other_Miscellaneous_Useful_Tit-bits&amp;action=history"/>
	<updated>2026-07-26T23:05:13Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.2</generator>
	<entry>
		<id>https://www.temlib.org/AtariForumWiki/index.php?title=Other_Miscellaneous_Useful_Tit-bits&amp;diff=15731&amp;oldid=prev</id>
		<title>&gt;Spiny at 12:04, 29 November 2016</title>
		<link rel="alternate" type="text/html" href="https://www.temlib.org/AtariForumWiki/index.php?title=Other_Miscellaneous_Useful_Tit-bits&amp;diff=15731&amp;oldid=prev"/>
		<updated>2016-11-29T12:04:42Z</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 08:04, 29 November 2016&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-l335&quot;&gt;Line 335:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 335:&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;Back to [[ASM_Tutorial]]&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;Back to [[ASM_Tutorial]]&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;[[Category:Tutorials by John Cove aka Tronic of &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;EfFeCt&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:Tutorials by John Cove aka Tronic of &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Effect&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>&gt;Spiny</name></author>
	</entry>
	<entry>
		<id>https://www.temlib.org/AtariForumWiki/index.php?title=Other_Miscellaneous_Useful_Tit-bits&amp;diff=15730&amp;oldid=prev</id>
		<title>&gt;Wongck at 15:27, 12 October 2011</title>
		<link rel="alternate" type="text/html" href="https://www.temlib.org/AtariForumWiki/index.php?title=Other_Miscellaneous_Useful_Tit-bits&amp;diff=15730&amp;oldid=prev"/>
		<updated>2011-10-12T15:27:29Z</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 11:27, 12 October 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-l335&quot;&gt;Line 335:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 335:&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;Back to [[ASM_Tutorial]]&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;Back to [[ASM_Tutorial]]&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;[[Category:&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Programming&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:&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Tutorials by John Cove aka Tronic of EfFeCt&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>&gt;Wongck</name></author>
	</entry>
	<entry>
		<id>https://www.temlib.org/AtariForumWiki/index.php?title=Other_Miscellaneous_Useful_Tit-bits&amp;diff=15729&amp;oldid=prev</id>
		<title>&gt;Wongck at 09:42, 30 August 2011</title>
		<link rel="alternate" type="text/html" href="https://www.temlib.org/AtariForumWiki/index.php?title=Other_Miscellaneous_Useful_Tit-bits&amp;diff=15729&amp;oldid=prev"/>
		<updated>2011-08-30T09:42:29Z</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 05:42, 30 August 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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;font color=&quot;red&quot; size=&quot;4&quot;&gt;'''TRANSFERRED TO LIVE WIKI'''&amp;lt;/font&gt;&amp;lt;br /&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;pre&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;pre&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>&gt;Wongck</name></author>
	</entry>
	<entry>
		<id>https://www.temlib.org/AtariForumWiki/index.php?title=Other_Miscellaneous_Useful_Tit-bits&amp;diff=15728&amp;oldid=prev</id>
		<title>&gt;Wongck at 09:41, 30 August 2011</title>
		<link rel="alternate" type="text/html" href="https://www.temlib.org/AtariForumWiki/index.php?title=Other_Miscellaneous_Useful_Tit-bits&amp;diff=15728&amp;oldid=prev"/>
		<updated>2011-08-30T09:41:33Z</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 05:41, 30 August 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 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;font color=&quot;red&quot; size=&quot;4&quot;&gt;'''TRANSFERRED TO LIVE WIKI'''&amp;lt;/font&gt;&amp;lt;br /&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;&amp;lt;pre&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;pre&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>&gt;Wongck</name></author>
	</entry>
	<entry>
		<id>https://www.temlib.org/AtariForumWiki/index.php?title=Other_Miscellaneous_Useful_Tit-bits&amp;diff=15727&amp;oldid=prev</id>
		<title>&gt;Silver Surfer: Added category</title>
		<link rel="alternate" type="text/html" href="https://www.temlib.org/AtariForumWiki/index.php?title=Other_Miscellaneous_Useful_Tit-bits&amp;diff=15727&amp;oldid=prev"/>
		<updated>2009-05-02T20:37:48Z</updated>

		<summary type="html">&lt;p&gt;Added category&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:37, 2 May 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-l335&quot;&gt;Line 335:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 335:&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;Back to [[ASM_Tutorial]]&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;Back to [[ASM_Tutorial]]&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;[[Category:Programming]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>&gt;Silver Surfer</name></author>
	</entry>
	<entry>
		<id>https://www.temlib.org/AtariForumWiki/index.php?title=Other_Miscellaneous_Useful_Tit-bits&amp;diff=15726&amp;oldid=prev</id>
		<title>&gt;Zorro 2 at 15:11, 2 October 2006</title>
		<link rel="alternate" type="text/html" href="https://www.temlib.org/AtariForumWiki/index.php?title=Other_Miscellaneous_Useful_Tit-bits&amp;diff=15726&amp;oldid=prev"/>
		<updated>2006-10-02T15:11:08Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                     Assembly Language, in Devpac, Tutorial&lt;br /&gt;
&lt;br /&gt;
                                       by&lt;br /&gt;
&lt;br /&gt;
                          John Cove (Tronic of Effect)&lt;br /&gt;
&lt;br /&gt;
                                      for&lt;br /&gt;
&lt;br /&gt;
                                     ICTARI&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
             Series 1, Part 2, Other Miscellaneous Useful Tit-bits&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     In this part I will cover  very  simple  routines,  just so I can then&lt;br /&gt;
     move onto the more difficult routines.&lt;br /&gt;
&lt;br /&gt;
     I will cover resolution, hertz changing, loops and picture displaying.&lt;br /&gt;
&lt;br /&gt;
     _________________________&lt;br /&gt;
     Section 1.1 - Resolutions&lt;br /&gt;
     Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿&lt;br /&gt;
     Right, first of all you  need  to  know  the  register that deals with&lt;br /&gt;
     resolution!! This register   is  the  $ffff8260  register.  There  are&lt;br /&gt;
     many different  ways  to alter the resolution, I will show you two.&lt;br /&gt;
&lt;br /&gt;
     ___________________________________________&lt;br /&gt;
     Section 1.11 - Using the $ffff8260 register&lt;br /&gt;
     Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿&lt;br /&gt;
     First of all, it is best to  alter  the resolution after one vbl cycle&lt;br /&gt;
     is complete otherwise, you may experience  a distorted screen, so here&lt;br /&gt;
     is a simple routine to achieve this:-&lt;br /&gt;
&lt;br /&gt;
                move.w  #37,-(sp)               ... line 1&lt;br /&gt;
                trap    #14                     ... line 2&lt;br /&gt;
                addq.l  #2,sp                   ... line 3&lt;br /&gt;
                move.b  #?,$ffff8260            ... line 4&lt;br /&gt;
&lt;br /&gt;
     Explanation&lt;br /&gt;
     Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿&lt;br /&gt;
     Lines 1 to 3  are  the  v_sync  routine,  otherwise  known  as the vbl&lt;br /&gt;
     synchronisation routine.&lt;br /&gt;
&lt;br /&gt;
     Line 4 is altering the resolution value. Here is the table of what the&lt;br /&gt;
     question mark represents:-&lt;br /&gt;
&lt;br /&gt;
                            0 - low resolution&lt;br /&gt;
                            1 - medium resolution&lt;br /&gt;
                            2 - high resolution&lt;br /&gt;
&lt;br /&gt;
     So, if  you  wanted to alter  the   resolution  to low, then you would&lt;br /&gt;
     write the following routine:-&lt;br /&gt;
&lt;br /&gt;
                move.w  #37,-(sp)               ... line 1&lt;br /&gt;
                trap    #14                     ... line 2&lt;br /&gt;
                addq.l  #2,sp                   ... line 3&lt;br /&gt;
                move.b  #0,$ffff8260            ... line 4&lt;br /&gt;
&lt;br /&gt;
     Here is  another  way  of  altering  the  resolution,  just  for  your&lt;br /&gt;
     information and so I cover resolution completely.&lt;br /&gt;
&lt;br /&gt;
     Before I continue, note well...Do  not  try  and set the resolution to&lt;br /&gt;
     high on a  colour  output!!!   It  won't  work,  unless  you are using&lt;br /&gt;
     overscan techniques!!!!!&lt;br /&gt;
&lt;br /&gt;
     Here's that other routine:-&lt;br /&gt;
&lt;br /&gt;
                move    #?,-(sp)                ... line 1&lt;br /&gt;
                pea     -1.w                    ... line 2&lt;br /&gt;
                pea     -1.w                    ... line 3&lt;br /&gt;
                move    #5,-(sp)                ... line 4&lt;br /&gt;
                trap    #14                     ... line 5&lt;br /&gt;
                lea     12(sp),sp               ... line 6&lt;br /&gt;
&lt;br /&gt;
     Explanation&lt;br /&gt;
     Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿&lt;br /&gt;
     Line 1 sets the  resolution  value,  so  see  the  above table for the&lt;br /&gt;
     value, and bear in mind that IT IS ALWAYS THE SAME!!!&lt;br /&gt;
&lt;br /&gt;
     Lines 2 to 6 are the system bits to implement the resolution change!!&lt;br /&gt;
&lt;br /&gt;
     ___________________&lt;br /&gt;
     Section 2.1 - Hertz&lt;br /&gt;
     Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿&lt;br /&gt;
     This is another very easy routine.  Again  all you really need to know&lt;br /&gt;
     is the  register  you  are  going  to  play  with!!   The  register is&lt;br /&gt;
     $ffff820a!!!&lt;br /&gt;
&lt;br /&gt;
     Here is a table of values you have to use to alter the hertz:-&lt;br /&gt;
&lt;br /&gt;
                            50 Hertz - 2&lt;br /&gt;
                            60 Hertz - 0&lt;br /&gt;
&lt;br /&gt;
     and you implement it in the following way:-&lt;br /&gt;
&lt;br /&gt;
                             move.b  #0,$ffff820a&lt;br /&gt;
&lt;br /&gt;
     The above line will set the  hertz  to  60,  and  if you do not have a&lt;br /&gt;
     monitor or a 60 hertz output device,  the  screen will look like it is&lt;br /&gt;
     very ill, basically it will look and sound very bad!!!&lt;br /&gt;
&lt;br /&gt;
     If you want to &amp;quot;flash&amp;quot;  the  hertz  to  make  a wicked effect, used by&lt;br /&gt;
     myself, STAX and most other coders, then  here is the source code, try&lt;br /&gt;
     it out!!!&lt;br /&gt;
&lt;br /&gt;
                *************&lt;br /&gt;
                program start&lt;br /&gt;
                *************&lt;br /&gt;
&lt;br /&gt;
                move.b  #0,$ffff820a.w&lt;br /&gt;
                jsr     v_sync&lt;br /&gt;
                move.b  #2,$ffff820a.w&lt;br /&gt;
                jsr     v_sync&lt;br /&gt;
                move.b  #0,$ffff820a.w&lt;br /&gt;
                jsr     v_sync&lt;br /&gt;
                move.b  #2,$ffff820a.w&lt;br /&gt;
&lt;br /&gt;
                ***********&lt;br /&gt;
                program end&lt;br /&gt;
                ***********&lt;br /&gt;
&lt;br /&gt;
        v_sync  movem.l d0-d7/a0-a7,-(sp)&lt;br /&gt;
                move.w  #$25,-(sp)&lt;br /&gt;
                trap    #14&lt;br /&gt;
                addq.l  #2,sp&lt;br /&gt;
                movem.l (sp)+,d0-d7/a0-a7&lt;br /&gt;
                rts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     There's a wicked effect if you use  it, please credit me!!!   The code&lt;br /&gt;
     will only work in supervisor mode,  so  if  you are not sure, refer to&lt;br /&gt;
     Series 1, Part 1 to  make  sure!!    Though,  you should not really be&lt;br /&gt;
     here if you have not got the basics perfected!!!&lt;br /&gt;
&lt;br /&gt;
     N.B.  When compiling, the labels  (for  example, in the above program,&lt;br /&gt;
     the   label  is  &amp;quot;v_sync&amp;quot;)   this   MUST   be   at  the  beginning  of&lt;br /&gt;
     the line, otherwise you WILL get an error!!!&lt;br /&gt;
     ___________________&lt;br /&gt;
     Section 3.1 - Loops&lt;br /&gt;
     Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿&lt;br /&gt;
     Loops, a very important part of any program!!!&lt;br /&gt;
&lt;br /&gt;
     Here is a key  loop  program.....remember  I  am  trying to make these&lt;br /&gt;
     articles as easy to read  as  possible,  so  do  not complain if I get&lt;br /&gt;
     straight   into   the   facts   instead    of   faffing   around   the&lt;br /&gt;
     topic........okay!!!!  (Rough justice, Rough LAW!)&lt;br /&gt;
&lt;br /&gt;
        key_loop        jsr     v_sync                  ... line 1&lt;br /&gt;
                        cmp.b   #$39,$fffffc02.w        ... line 2&lt;br /&gt;
                        bne.w   key_loop                ... line 3&lt;br /&gt;
&lt;br /&gt;
     Explanation&lt;br /&gt;
     Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿&lt;br /&gt;
     Line 1 - This has a  few  components  to  it,  first of all you need a&lt;br /&gt;
     label to call when the condition,  in  Line  3,  is not met, and it is&lt;br /&gt;
     also a good idea to have a  v_sync  in THIS kind of loop, basically so&lt;br /&gt;
     you do not overload the  keyboard  buffer  ($114.w - keyboard vector).&lt;br /&gt;
     The v_sync routine is the same as in Section 2.1.&lt;br /&gt;
&lt;br /&gt;
     Line 2 - This is the cOmpARE condition.  Basically it is comparing the&lt;br /&gt;
     keyboard buffer to  the  value  #$39,  which  is  the  space bar.  The&lt;br /&gt;
     $fffffc02.w is the keyboard handler.   So,  you are comparing $39 with&lt;br /&gt;
     the keyboard buffer which will  be  true  when  you have pressed space&lt;br /&gt;
     bar!!  The compare statement must  be  conditioned  as a &amp;quot;byte&amp;quot;, ie. a&lt;br /&gt;
     &amp;quot;.b&amp;quot;, not a &amp;quot;.w&amp;quot; etc, because this will never match the hex #$39!!!&lt;br /&gt;
&lt;br /&gt;
     Line 3 - If the cOmpARE condition  is  not true then it will branch to&lt;br /&gt;
     the key_loop label.  BNE is  the  mnemonic  for Branch Not Equal, just&lt;br /&gt;
     like CMP means COMPARE!! Lovely jubbly!!!&lt;br /&gt;
&lt;br /&gt;
     Here is another loop, using addition:-&lt;br /&gt;
&lt;br /&gt;
                        *************&lt;br /&gt;
                        program start&lt;br /&gt;
                        *************&lt;br /&gt;
&lt;br /&gt;
        add_loop        add.w   #1,counter              ... line 1&lt;br /&gt;
                        cmp.w   #1000,counter           ... line 2&lt;br /&gt;
                        bne.w   add_loop                ... line 3&lt;br /&gt;
&lt;br /&gt;
                        ***********&lt;br /&gt;
                        program end&lt;br /&gt;
                        ***********&lt;br /&gt;
&lt;br /&gt;
        counter         dc.w    0                       ... line 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     Remember what I was saying that you have the same declaration!!!  I.e.&lt;br /&gt;
     the &amp;quot;.w&amp;quot;, if you are using  an  &amp;quot;add.w&amp;quot;  to a declared store, then you&lt;br /&gt;
     must declare the store as a &amp;quot;dc.w&amp;quot;  and you must make all compares and&lt;br /&gt;
     mathematics use the &amp;quot;.w&amp;quot; declaration,  DO NOT MIX THE DECLARATIONS!!!!&lt;br /&gt;
     You program simply won't work!!!&lt;br /&gt;
&lt;br /&gt;
     Explanation&lt;br /&gt;
     Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿&lt;br /&gt;
     Line 1 - Again, you need a label to call if the condition is not met!!&lt;br /&gt;
&lt;br /&gt;
     This line also adds 1 to the  value in counter, which at the beginning&lt;br /&gt;
     is 0.&lt;br /&gt;
&lt;br /&gt;
     Line 2 - This compares the value in counter with 1000.&lt;br /&gt;
&lt;br /&gt;
     Line 3 - This compares  whether  the  condition, in the previous line,&lt;br /&gt;
     was met and if it was  then  the  loop  has ended and the program will&lt;br /&gt;
     continue on its course, past the  loop.   If  the condition is not met&lt;br /&gt;
     then it will simply return to the label &amp;quot;add_loop&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
     ______________________________________________________&lt;br /&gt;
     Section 4.1 - Displaying pictures of different formats&lt;br /&gt;
     Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿&lt;br /&gt;
     Time for a break to watch  Eastenders,  I think.........I will be back&lt;br /&gt;
     on this wonderful tour  into  the  ST very soon.....&amp;quot;Red alert....I've&lt;br /&gt;
     got mine!!!&amp;quot;.....&lt;br /&gt;
&lt;br /&gt;
     ________________________________________________&lt;br /&gt;
     Section 4.11 - Displaying a Degas Elite picture.&lt;br /&gt;
     Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿&lt;br /&gt;
     Here is a complete, and working, routine to display a Degas picture.&lt;br /&gt;
&lt;br /&gt;
                        clr.l   -(sp)                   ... line  1&lt;br /&gt;
                        move    #$20,-(sp)              ... line  2&lt;br /&gt;
                        trap    #1                      ... line  3&lt;br /&gt;
                        addq.l  #6,sp                   ... line  4&lt;br /&gt;
&lt;br /&gt;
                        jsr     v_sync                  ... line  5&lt;br /&gt;
                        move.b  #0,$ff8260              ... line  6&lt;br /&gt;
&lt;br /&gt;
                        lea     pic+34,a0               ... line  7&lt;br /&gt;
                        move.l  $44e,a1                 ... line  8&lt;br /&gt;
                        move    #(32000/4)-1,d0         ... line  9&lt;br /&gt;
        copypic         move.l  (a0)+,(a1)+             ... line 10&lt;br /&gt;
                        dbra    d0,copypic              ... line 11&lt;br /&gt;
&lt;br /&gt;
                        movem.l pic+2,d0-d7             ... line 12&lt;br /&gt;
                        movem.l d0-7,$ff8240            ... line 13&lt;br /&gt;
&lt;br /&gt;
                        move    #7,-(sp)                ... line 14&lt;br /&gt;
                        trap    #1                      ... line 15&lt;br /&gt;
                        addq.l  #2,sp                   ... line 16&lt;br /&gt;
&lt;br /&gt;
                        jsr     v_sync                  ... line 17&lt;br /&gt;
                        move.b  #1,$ff8260              ... line 18&lt;br /&gt;
&lt;br /&gt;
                        clr.w   -(sp)                   ... line 19&lt;br /&gt;
                        trap    #1                      ... line 20&lt;br /&gt;
&lt;br /&gt;
        pic             incbin  degas.pi1               ... line 21&lt;br /&gt;
&lt;br /&gt;
     ____________________________&lt;br /&gt;
     The rather LARGE explanation&lt;br /&gt;
     Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿Ã¿&lt;br /&gt;
     Lines 1 to 4 - This opens the supervisor mode.&lt;br /&gt;
&lt;br /&gt;
     Line 5 - This waits until a vbl cycle is complete.&lt;br /&gt;
&lt;br /&gt;
     Line 6 - This alters  the  screen  mode  to  low  resolution, as a PI1&lt;br /&gt;
     picture file will only  display   correctly  in  low resolution, a PI2&lt;br /&gt;
     picture file  will  only  display  correctly    in  medium  resolution&lt;br /&gt;
     and  a PI3   picture   file  will   only   display  correctly  in high&lt;br /&gt;
     resolution.&lt;br /&gt;
&lt;br /&gt;
     Line 7 - This points to the  picture  data in the picture file &amp;amp; moves&lt;br /&gt;
     the contents into the data  register,  a0.  The  processor  knows when&lt;br /&gt;
     it has reached the end of  the  picture   data  because after the file&lt;br /&gt;
     is  loaded,  a  pointer  is   placed,  in  memory,  at  the end of the&lt;br /&gt;
     picture data and the data will   stop  being loaded into the  register&lt;br /&gt;
     a0.  The  actual  picture data  starts  at   the   offset  +34, or the&lt;br /&gt;
     seventeenth byte in the file.&lt;br /&gt;
&lt;br /&gt;
     Line 8 - The logic screen address is stored at address $44e.   So  all&lt;br /&gt;
     that  is  happening is the screen  address, the  final  destination of&lt;br /&gt;
     the  picture data, is being copied into the register a1.&lt;br /&gt;
&lt;br /&gt;
     Line 9 - The actual number  of  bytes  that  the  picture  data  takes&lt;br /&gt;
     up is 32000, which is  also  the  same  as  the standard sized  ST Low&lt;br /&gt;
     resolution  screen. So, you are  loading  that number of bytes, 32000,&lt;br /&gt;
     into the register d0.&lt;br /&gt;
&lt;br /&gt;
     Line 10 - This serves   a   few   functions. First  a  label,  because&lt;br /&gt;
     you  will be performing a conditional  loop  on  Line 11, and  this is&lt;br /&gt;
     where  you  will jump to. The   second   is  the moving of the data in&lt;br /&gt;
     a0  and  literally  moving  it  onto  the  screen.   The plus   symbol&lt;br /&gt;
     after the (a0) register,  and  (a1),is  simply telling the computer to&lt;br /&gt;
     take the next part of picture data, and so on!!&lt;br /&gt;
&lt;br /&gt;
     Line 11 - This is  a  condition,  and  when  all  the picture has been&lt;br /&gt;
     displayed, this is when the condition is met, and basically, when  you&lt;br /&gt;
     jump  back  to the  loop,  the  pointer  of  the  picture data will be&lt;br /&gt;
     implemented by one and in EFFECT will  jump  to the  next byte of  the&lt;br /&gt;
     picture  data, to be displayed.  God that was DIFFICULT to explain...&lt;br /&gt;
&lt;br /&gt;
     Line 12 - This  is   implementing   the   palette,  from  the  picture&lt;br /&gt;
     data, on  the screen. The palette is also contained within the picture&lt;br /&gt;
     file, at the offset of +2. So,  the  data starts at the second byte in&lt;br /&gt;
     the file. The palette data uses 16 bytes and is picked up in registers&lt;br /&gt;
     d0-d7.&lt;br /&gt;
&lt;br /&gt;
     Line 13 - This  puts   the  palette  values, from  the  picture  file,&lt;br /&gt;
     in d0-d7 and implements it onto the screen.&lt;br /&gt;
&lt;br /&gt;
     Line 14 to 16 - This waits for the user to  press  any  key, before it&lt;br /&gt;
     continues.&lt;br /&gt;
&lt;br /&gt;
     Line 17 - This waits until a vbl cycle is complete.&lt;br /&gt;
&lt;br /&gt;
     Line 18 - This sets  the  screen  mode to  medium  resolution,  really&lt;br /&gt;
     used  for the returning to GENst.&lt;br /&gt;
&lt;br /&gt;
     Line 19 to 20 - This is  the  standard exit routine, out of supervisor&lt;br /&gt;
     mode.&lt;br /&gt;
&lt;br /&gt;
     Line 21 - This is  the  incLUDE  binARY  command,  that loads  a  file&lt;br /&gt;
     from the disk and is then present at that label.&lt;br /&gt;
&lt;br /&gt;
     In the next part  we  will   look   at  how  to  display  a  Neochrome&lt;br /&gt;
     picture  and the different structures  of the picture formats....watch&lt;br /&gt;
     out man!!&lt;br /&gt;
     ----------------------------------------------------------------------&lt;br /&gt;
     Tronic of Effect, aka John  Cove,  [C]opyright 1995 .. Started: 14-11-&lt;br /&gt;
     1995.  Finished: 14-11-1995&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
            &amp;quot;I reserve the right to publish these tutorial series&lt;br /&gt;
             wherever  i  choose...   Only,  with express written&lt;br /&gt;
             confirmation,  is  this  to  be  published by anyone&lt;br /&gt;
             other than myself.   These  series  were written for&lt;br /&gt;
             st world, but if i feel that the series is not being&lt;br /&gt;
             taken advantage of in the way that most st users are&lt;br /&gt;
             able  to read  the  series, then  i will publish the&lt;br /&gt;
             series in my own, and other  peoples, disk magazines&lt;br /&gt;
             and products.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Back to [[ASM_Tutorial]]&lt;/div&gt;</summary>
		<author><name>&gt;Zorro 2</name></author>
	</entry>
</feed>