<?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=Lattice_C</id>
	<title>Lattice C - 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=Lattice_C"/>
	<link rel="alternate" type="text/html" href="https://www.temlib.org/AtariForumWiki/index.php?title=Lattice_C&amp;action=history"/>
	<updated>2026-05-02T05:02:21Z</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=Lattice_C&amp;diff=14677&amp;oldid=prev</id>
		<title>&gt;Wongck at 04:16, 19 February 2012</title>
		<link rel="alternate" type="text/html" href="https://www.temlib.org/AtariForumWiki/index.php?title=Lattice_C&amp;diff=14677&amp;oldid=prev"/>
		<updated>2012-02-19T04:16:09Z</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 00:16, 19 February 2012&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-l865&quot;&gt;Line 865:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 865:&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;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&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;br&amp;gt;&amp;lt;br&amp;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;br /&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;&amp;lt;br /&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;Back to [[C]]&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;[[Category:C Development tools]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:C Development tools]]&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;[[Category:Atari ST software]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Atari ST software]]&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=Lattice_C&amp;diff=14676&amp;oldid=prev</id>
		<title>&gt;Wongck at 14:33, 13 October 2011</title>
		<link rel="alternate" type="text/html" href="https://www.temlib.org/AtariForumWiki/index.php?title=Lattice_C&amp;diff=14676&amp;oldid=prev"/>
		<updated>2011-10-13T14:33:10Z</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 10:33, 13 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-l866&quot;&gt;Line 866:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 866:&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;br&amp;gt;&amp;lt;br&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;br&amp;gt;&amp;lt;br&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;div&gt;[[Category:C Development tools]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:C Development tools]]&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:Atari ST software]]&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=Lattice_C&amp;diff=14675&amp;oldid=prev</id>
		<title>&gt;Wongck at 14:59, 12 October 2011</title>
		<link rel="alternate" type="text/html" href="https://www.temlib.org/AtariForumWiki/index.php?title=Lattice_C&amp;diff=14675&amp;oldid=prev"/>
		<updated>2011-10-12T14:59:52Z</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 10:59, 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-l865&quot;&gt;Line 865:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 865:&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;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&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;br&amp;gt;&amp;lt;br&amp;gt;&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;C Development tools&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=Lattice_C&amp;diff=14674&amp;oldid=prev</id>
		<title>&gt;Zorro 2 at 10:11, 3 November 2006</title>
		<link rel="alternate" type="text/html" href="https://www.temlib.org/AtariForumWiki/index.php?title=Lattice_C&amp;diff=14674&amp;oldid=prev"/>
		<updated>2006-11-03T10:11:12Z</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;
Lattice C ST 5.06.02 - 30 October 1990&lt;br /&gt;
======================================&lt;br /&gt;
&lt;br /&gt;
This is the READ.ME file for Lattice C version 5.06.02. Please write&lt;br /&gt;
this version number on your registration card and return it now. Please&lt;br /&gt;
note the zeroes are very important and allow us to work out exactly&lt;br /&gt;
which version you have should you require technical support. Without&lt;br /&gt;
this version number we will be less able to help you if you have&lt;br /&gt;
problems.&lt;br /&gt;
&lt;br /&gt;
Of the seven disks, only disk 1 is serialised, this is quite normal and&lt;br /&gt;
you may, if you wish, copy the serial number to your other disks.&lt;br /&gt;
Should you need to return your disks for any reason, then you MUST&lt;br /&gt;
return all seven disks. &lt;br /&gt;
&lt;br /&gt;
This file details the last minute changes which we have made to Lattice&lt;br /&gt;
C that did not make it into the manuals.&lt;br /&gt;
&lt;br /&gt;
Version 1.9 of the HiSoft File Selector can be found in the FSEL folder&lt;br /&gt;
of disk 2. The .TXT file contains its documentation.&lt;br /&gt;
&lt;br /&gt;
Version 1.1 of the HiSoft AES path patch program can be found in the&lt;br /&gt;
AESPATH folder of disk 3. The .TXT file contains its documentation.&lt;br /&gt;
&lt;br /&gt;
The file PRELINK.TXT contains some information for advanced users on the&lt;br /&gt;
pre-linkage features available in the linker.&lt;br /&gt;
&lt;br /&gt;
Re-installation for upgrade users&lt;br /&gt;
=================================&lt;br /&gt;
&lt;br /&gt;
If you are upgrading from an earlier Lattice 5 release, re-installation&lt;br /&gt;
can be performed safely by simply re-running the installation program&lt;br /&gt;
which will overwrite any old versions of the tools/libraries it finds.&lt;br /&gt;
Note that any files which you have added in the directory structure&lt;br /&gt;
will not be changed.&lt;br /&gt;
&lt;br /&gt;
Features of 5.06.02&lt;br /&gt;
===================&lt;br /&gt;
&lt;br /&gt;
Editor&lt;br /&gt;
------&lt;br /&gt;
A cycle windows command is available on the Options menu, or via Ctrl-V.&lt;br /&gt;
&lt;br /&gt;
Integrated compiler&lt;br /&gt;
-------------------&lt;br /&gt;
The left mouse button may be used as an alternative to a keyboard&lt;br /&gt;
key-press at any of the 'Press a key' prompts.&lt;br /&gt;
&lt;br /&gt;
Compiler&lt;br /&gt;
--------&lt;br /&gt;
A new option -Lq is available to add the QUIET option for CLink.&lt;br /&gt;
&lt;br /&gt;
The -cq option strengthens the aggregate equivalence type checker. When&lt;br /&gt;
disabled (the default), this option allows two aggregates with common&lt;br /&gt;
initial subsequences over the length of one of the aggregates to type&lt;br /&gt;
check equivalent. This option is automatically enabled by -ca.&lt;br /&gt;
&lt;br /&gt;
Bugs fixed for 5.06.02&lt;br /&gt;
======================&lt;br /&gt;
&lt;br /&gt;
Compiler&lt;br /&gt;
--------&lt;br /&gt;
A condition codes tracking problem was corrected.&lt;br /&gt;
Invalid dates are detected and ignored. If no valid date and time is&lt;br /&gt;
available for __DATE__ and __TIME__ the time and date of compiler build&lt;br /&gt;
is used.&lt;br /&gt;
Passing floats to prototyped functions was fixed up.&lt;br /&gt;
Register passing of volatile objects (meaningless concept) to functions&lt;br /&gt;
was changed to fix a CXERR 26.&lt;br /&gt;
-cl now generates the correct code for passed parameters.&lt;br /&gt;
&lt;br /&gt;
Integrated compiler&lt;br /&gt;
-------------------&lt;br /&gt;
Linking with the normal maths library was corrected.&lt;br /&gt;
&lt;br /&gt;
Linker&lt;br /&gt;
------&lt;br /&gt;
Absolute symbols are correctly re-exported when prelinking.&lt;br /&gt;
&lt;br /&gt;
Header Files&lt;br /&gt;
------------&lt;br /&gt;
assert.h:	Modified to conform to the ANSI definition.&lt;br /&gt;
&lt;br /&gt;
Library&lt;br /&gt;
-------&lt;br /&gt;
form_keybd() doesn't swap its parameters.&lt;br /&gt;
assert() changed to conform to the ANSI definition.&lt;br /&gt;
movmem() fixed in register passing mode.&lt;br /&gt;
_main() fixed so I/O redirection works again.&lt;br /&gt;
&lt;br /&gt;
Features of 5.06.01&lt;br /&gt;
===================&lt;br /&gt;
&lt;br /&gt;
Integrated Compiler&lt;br /&gt;
-------------------&lt;br /&gt;
Support now exists for using the -L option in the LC_OPT variable. This&lt;br /&gt;
enables additional libraries to be specified simply in the integrated&lt;br /&gt;
environment. HiSoft C users may simply specify -L+hc.lib to use the&lt;br /&gt;
HiSoft C library without needing to become involved in the intricasies&lt;br /&gt;
of WITH files.&lt;br /&gt;
&lt;br /&gt;
The -f8, -fa and -fi options now pull in the lcm8, lcma and lcmi&lt;br /&gt;
libraries for use with the 68881 maths co-processor libraries&lt;br /&gt;
(available separately).&lt;br /&gt;
&lt;br /&gt;
Library&lt;br /&gt;
-------&lt;br /&gt;
An additional function stime() is available for setting the system time&lt;br /&gt;
and date. It has the prototype:&lt;br /&gt;
&lt;br /&gt;
	int stime(const time_t *);&lt;br /&gt;
&lt;br /&gt;
and is passed a pointer to a time_t value as processed via time.&lt;br /&gt;
&lt;br /&gt;
Header Files&lt;br /&gt;
------------&lt;br /&gt;
time.h:		Includes the prototype for stime().&lt;br /&gt;
&lt;br /&gt;
Bugs fixed for 5.06.01&lt;br /&gt;
======================&lt;br /&gt;
&lt;br /&gt;
Compiler&lt;br /&gt;
--------&lt;br /&gt;
A minor problem with very long strings was corrected.&lt;br /&gt;
&lt;br /&gt;
Linker&lt;br /&gt;
------&lt;br /&gt;
A bus error introduced in 5.06.00 was eliminated. Pre-linkage was&lt;br /&gt;
reworked to improve coalescing of unmerged unnamed sections.&lt;br /&gt;
&lt;br /&gt;
Assembler&lt;br /&gt;
---------&lt;br /&gt;
A problem with using macros was corrected.&lt;br /&gt;
&lt;br /&gt;
Debugger&lt;br /&gt;
--------&lt;br /&gt;
Various incorrect dissasemblies were corrected.&lt;br /&gt;
&lt;br /&gt;
Installation Program&lt;br /&gt;
--------------------&lt;br /&gt;
This correctly from drive B.&lt;br /&gt;
&lt;br /&gt;
Ramdisk&lt;br /&gt;
-------&lt;br /&gt;
This now handles the initial reset correctly on the Atari TT030.&lt;br /&gt;
&lt;br /&gt;
Strip&lt;br /&gt;
-----&lt;br /&gt;
Re-linked with fixed stat() function.&lt;br /&gt;
&lt;br /&gt;
Library&lt;br /&gt;
-------&lt;br /&gt;
_dread() preserves d1 across GEMDOS calls.&lt;br /&gt;
_main() sets the file handle flag on handles 0,1 and 2 when redirected.&lt;br /&gt;
onbreak() works correctly in registerised parameter models.&lt;br /&gt;
open() doesn't do a disk access when opening a system device (prn:&lt;br /&gt;
etc.), also errno is preserved in the case where a file must be created&lt;br /&gt;
which didn't previously exist.&lt;br /&gt;
stat() corrects for timezone differences correctly.&lt;br /&gt;
&lt;br /&gt;
Header Files&lt;br /&gt;
------------&lt;br /&gt;
assert.h:	NULL definition removed in accordance with ANSI.&lt;br /&gt;
ctype.h:	NULL definition removed in accordance with ANSI.&lt;br /&gt;
errno.h:	NULL definition removed in accordance with ANSI.&lt;br /&gt;
limits.h:	SHRT_MIN (and INT_MIN in short integer mode) reduced to&lt;br /&gt;
		-32767 in in accordance with ANSI.&lt;br /&gt;
stdarg.h:	NULL definition removed in accordance with ANSI.&lt;br /&gt;
stdarg.h:	NULL definition removed in accordance with spirit of ANSI.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Features of 5.06.00&lt;br /&gt;
===================&lt;br /&gt;
&lt;br /&gt;
Compiler&lt;br /&gt;
--------&lt;br /&gt;
#pragma inline now hoists non-live variable saves to the head of the&lt;br /&gt;
function when possible. The code generated for short integer parameters&lt;br /&gt;
is better, and corrects a possible problem when passing a long value&lt;br /&gt;
to a a short parameter.&lt;br /&gt;
&lt;br /&gt;
When using #pragma inline, if the code generation sequence is omitted&lt;br /&gt;
then a call to the original function is made using the calling and&lt;br /&gt;
register kill conventions mentioned in the pragma, this is especially&lt;br /&gt;
useful for calling out to languages with different register conventions.&lt;br /&gt;
&lt;br /&gt;
Two new options, -b and -r, are available on LC2. Respectively these&lt;br /&gt;
allow the global data base register and frame register to be specified.&lt;br /&gt;
Note that code compiled using other than the default options (-b4 and -r6)&lt;br /&gt;
will *not* work with the standard run time libraries. The special option&lt;br /&gt;
-bn is also available, allowing register A4 to be placed on the register&lt;br /&gt;
selection list. Note that if this option is used and *any* reference&lt;br /&gt;
must be made to the global data register then a CXERR will be issued.&lt;br /&gt;
&lt;br /&gt;
68020 (and above) code generation now takes full advantage of the bit&lt;br /&gt;
field instructions available on these processors, when manipulating&lt;br /&gt;
bit fields at the C level.&lt;br /&gt;
&lt;br /&gt;
Both phases of the compiler have had substantial speed optimisations made&lt;br /&gt;
to them. This leads to approximately 35% faster compilation times.&lt;br /&gt;
&lt;br /&gt;
When using default short integer mode (-w), message 135, &amp;quot;Assignment to&lt;br /&gt;
shorter data type (precision may be lost)&amp;quot;, is automatically enabled.&lt;br /&gt;
&lt;br /&gt;
The behaviour of -f8 has been modified to support the 68881 libraries&lt;br /&gt;
(available separately from ourselves, at the address below). Note that&lt;br /&gt;
two additional options are available for these users, -fi (use ST I/O&lt;br /&gt;
only maths library) and -fa (use auto-detecting 68881 maths for TT/ST&lt;br /&gt;
I/O/software emulation only systems). All of these options require the&lt;br /&gt;
separate 68881 maths library pack.&lt;br /&gt;
&lt;br /&gt;
The pre-processor symbols available for detecting the model in use have&lt;br /&gt;
been greatly extended. The current list of symbols is:&lt;br /&gt;
&lt;br /&gt;
  Symbol		Enabling option&lt;br /&gt;
  ------		---------------&lt;br /&gt;
  DEBUG 		Any -d&lt;br /&gt;
  _BASEREL		-b1&lt;br /&gt;
  _ANSI 		-ca&lt;br /&gt;
  _UNSIGNEDCHAR 	-cu&lt;br /&gt;
  _M881 		-f8&lt;br /&gt;
  _MLATTICE		-fl&lt;br /&gt;
  _MMIXED		-fm&lt;br /&gt;
  _MSINGLE		-fs&lt;br /&gt;
  _MDOUBL		-fd&lt;br /&gt;
  _PCREL		-r1&lt;br /&gt;
  _REGARGS		-rr&lt;br /&gt;
  _SHORTINT		-w&lt;br /&gt;
  STPR 		-w&lt;br /&gt;
  LPTR 		without -w&lt;br /&gt;
&lt;br /&gt;
The set of static pre-processor symbols has also been extended, the&lt;br /&gt;
following additional symbols are now available:&lt;br /&gt;
&lt;br /&gt;
  Symbol	Value	Meaning&lt;br /&gt;
  ------	-----	-------&lt;br /&gt;
  LATTICE_56	1	Current compiler release.&lt;br /&gt;
  __VERSION__	5	Current major version number.&lt;br /&gt;
  __REVISION__	6	Current minor version number.&lt;br /&gt;
&lt;br /&gt;
Several changes have been made to improve overall code quality.&lt;br /&gt;
&lt;br /&gt;
The macro buffer was extended to 4096 characters and the maximum number&lt;br /&gt;
of macro arguments increased to 32.&lt;br /&gt;
&lt;br /&gt;
Optimiser&lt;br /&gt;
---------&lt;br /&gt;
When generating code for the 68881 GO performs full global allocation&lt;br /&gt;
of floating point data registers.&lt;br /&gt;
&lt;br /&gt;
Assembler&lt;br /&gt;
---------&lt;br /&gt;
A GenST2 style INCBIN directive is available, using the normal DevpacST&lt;br /&gt;
syntax. Note that, in common with the current GenST2 release, the&lt;br /&gt;
section counter is not even aligned after an INCBIN and so a &amp;quot;CNOP 0,2&amp;quot;&lt;br /&gt;
should be used if required afterwards.&lt;br /&gt;
&lt;br /&gt;
Editor&lt;br /&gt;
------&lt;br /&gt;
Window overlap is now more intelligent, several minor bugs which could&lt;br /&gt;
cause window (but not text) corruption have been fixed.&lt;br /&gt;
&lt;br /&gt;
Bugs fixed for 5.06.00&lt;br /&gt;
======================&lt;br /&gt;
&lt;br /&gt;
Compiler&lt;br /&gt;
--------&lt;br /&gt;
__builtin_strcmp correctly predicts possible register spillage to allow&lt;br /&gt;
correct tracking of condition codes.&lt;br /&gt;
__builtin_max/__builtin_min kills the register used as a working register&lt;br /&gt;
prior to a possible reload.&lt;br /&gt;
-ca now removes the near, far and huge keywords from the compiler&lt;br /&gt;
keyword table.&lt;br /&gt;
Function assignments to candidates for post-increment addressing modes&lt;br /&gt;
now occurs correctly, potential problems with using an address register&lt;br /&gt;
as left and right operands whilst being a candidates for post-increment&lt;br /&gt;
addressing modes was corected.&lt;br /&gt;
Float parameters to prototyped functions now occur correctly.&lt;br /&gt;
Temporaries created as a result of calls to inline functions are correctly&lt;br /&gt;
killed at the virtual function call boundary.&lt;br /&gt;
Pre-compiled header files containing #pragma inline directives should&lt;br /&gt;
no longer cause &amp;quot;File too short&amp;quot; messages on reloading.&lt;br /&gt;
When generating prototypes, all modifiers and specialised keywords are&lt;br /&gt;
output correctly. Note that enumerated types will use an enum tag as the&lt;br /&gt;
parameter type, and so the definition of the enum tag must be in scope&lt;br /&gt;
at the time of prototype file inclusion.&lt;br /&gt;
__TIME__ and __DATE__ now return the correct time/date.&lt;br /&gt;
Builtin errors in phase 2, do not cause bus errors when line number info&lt;br /&gt;
is not available.&lt;br /&gt;
Several CXERR's 26, 22, 31 and 124 have been fixed&lt;br /&gt;
The INCLUDE variable may now be specified as a ; or , separated list.&lt;br /&gt;
A problem with __builtin_strcpy not preserving the status has been&lt;br /&gt;
fixed.&lt;br /&gt;
Pointer/pointer subtractions use the correct return register.&lt;br /&gt;
A bus error caused by not declaring a function used in error as a scalar&lt;br /&gt;
is corrected.&lt;br /&gt;
Multiplies by zero which are not eliminated by phase 1 are correctly&lt;br /&gt;
handled by lc2.&lt;br /&gt;
The -rb flag generates distinct names for the two external definitions&lt;br /&gt;
created.&lt;br /&gt;
A bus error caused by attempting to initialise arrays illegally was&lt;br /&gt;
eliminated.&lt;br /&gt;
The -j options to lc1 are more effective in their treatment of warnings.&lt;br /&gt;
Empty files may be compiled without causing an error.&lt;br /&gt;
__FILE__ scans filenames doubling up '\'s as required.&lt;br /&gt;
-f options may be specified in any order, this corrects the problem of&lt;br /&gt;
using -f8 from the integrated compiler.&lt;br /&gt;
Problems with long effective address calculations in 68020 mode have&lt;br /&gt;
been fixed.&lt;br /&gt;
&lt;br /&gt;
Optimiser&lt;br /&gt;
---------&lt;br /&gt;
In short integer mode GO correctly performs global register re-allocation.&lt;br /&gt;
In short integer mode, the computation of structure array accesses with&lt;br /&gt;
negative offsets occurs correctly.&lt;br /&gt;
In short integer mode, hoisting of constant induction variables occurs&lt;br /&gt;
correctly.&lt;br /&gt;
&lt;br /&gt;
Assembler&lt;br /&gt;
---------&lt;br /&gt;
The 68020 bit field instructions now follow the standard Motorola syntax,&lt;br /&gt;
and the BFINS instruction is now accepted in all forms.&lt;br /&gt;
The BKPT and FMOVECR instructions now allow all constant legal operands.&lt;br /&gt;
68020 addressing modes with implicit fields are assembled correctly.&lt;br /&gt;
fmove.p fpx,&amp;lt;ea&amp;gt;{#-k} is assembled correctly.&lt;br /&gt;
&lt;br /&gt;
Disassembler&lt;br /&gt;
------------&lt;br /&gt;
The 68020 bit field instructions are disassembled in the standard Motorola&lt;br /&gt;
syntax.&lt;br /&gt;
Line-A instructions are output as a single DC.W.&lt;br /&gt;
68881 FMOVEM instructions display the correct register list.&lt;br /&gt;
fmove.p fpx,&amp;lt;ea&amp;gt;{#-k} is dissasembled correctly.&lt;br /&gt;
&lt;br /&gt;
Integrated compiler&lt;br /&gt;
-------------------&lt;br /&gt;
The -ta option now works correctly when the link with GEM option is&lt;br /&gt;
selected (the normal case).&lt;br /&gt;
&lt;br /&gt;
Library&lt;br /&gt;
-------&lt;br /&gt;
chkml() now works correctly.&lt;br /&gt;
getclk() doesn't return the day two days out.&lt;br /&gt;
getmem() in short-integer stack based mode now works correctly.&lt;br /&gt;
modf() returns a fractional part of zero when the the accuracy of a&lt;br /&gt;
double is exceeded.&lt;br /&gt;
strtol() and atoi() now skip leading white space correctly.&lt;br /&gt;
iabs() appears in the normal libraries, not the floating point now.&lt;br /&gt;
_CXFERR() is passed correct values in short integer mode.&lt;br /&gt;
setvbuf() allocates a buffer correctly when passed a NULL pointer.&lt;br /&gt;
The _d...() family of functions ensure that D2/A2 is preserved.&lt;br /&gt;
realloc() copies the block correctly as the size increases.&lt;br /&gt;
stat() restores the system DTA pointer if an error occurs.&lt;br /&gt;
utime() takes the timezone into account when processing the time.&lt;br /&gt;
v_get_pixel() returns the pixel values correctly.&lt;br /&gt;
_ddup2() swaps its arguments prior to passing to GEMDOS Fforce().&lt;br /&gt;
dup() returns the internal, not the GEMDOS handle.&lt;br /&gt;
calloc() works correctly for large blocks.&lt;br /&gt;
stcgfe() and stcgfp() now copy 3 and 8 characters respectively.&lt;br /&gt;
Conversions from doubles to decimal strings occur correctly with no loss&lt;br /&gt;
of final digit precision.&lt;br /&gt;
mktime() fixed to give correct dates.&lt;br /&gt;
strftime() %I and %U conversions fixed in short integer mode.&lt;br /&gt;
rc_union() works correctly.&lt;br /&gt;
printf() using precision specifications and 0 padding requests works as&lt;br /&gt;
expected for floating point numbers.&lt;br /&gt;
&lt;br /&gt;
Header Files&lt;br /&gt;
------------&lt;br /&gt;
ctype.h:	_toupper() fixed.&lt;br /&gt;
fcntl.h:	Added opene() prototype.&lt;br /&gt;
float.h:	Changed to take advantage of _MMIXED, _MSINGLE, _MDOUBL.&lt;br /&gt;
limits.h:	Changed to use _SHORTINT and _UNSIGNEDCHAR.&lt;br /&gt;
math.h:		Prototype for _CXFERR added.&lt;br /&gt;
osbind.h:	Fdatime(), Frename() definition changed to long&lt;br /&gt;
		returning, definitions of prototype parameters changed&lt;br /&gt;
		to int. &lt;br /&gt;
stdio.h:	lprintf() prototype added.&lt;br /&gt;
stdlib.h:	bldmem() prototype added, min() and max() added.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Features of 5.04.01&lt;br /&gt;
===================&lt;br /&gt;
&lt;br /&gt;
Editor&lt;br /&gt;
------&lt;br /&gt;
If 'Wrap' is selected in the Preferences box, pressing Delete at the&lt;br /&gt;
end of a line now causes following text to be closed up.&lt;br /&gt;
The Find box is now the full screen width.&lt;br /&gt;
The vertical scroll bar arrows now scroll the window rather than the&lt;br /&gt;
cursor.&lt;br /&gt;
The position of the cursor after a find or goto line is more&lt;br /&gt;
intelligent.&lt;br /&gt;
&lt;br /&gt;
Linker&lt;br /&gt;
------ &lt;br /&gt;
CLink now searches the environment variable LIB for all files itself.&lt;br /&gt;
Previously the work was done by LC.PRG or LC.TTP. As a result of this&lt;br /&gt;
LIB may now be specified in terms of several ',' or ';' separated&lt;br /&gt;
strings.&lt;br /&gt;
&lt;br /&gt;
Two new keywords have been added, QUIET to suppress all output (other&lt;br /&gt;
than fatal errors) and VER &amp;lt;filename&amp;gt; which specifies a file to which&lt;br /&gt;
all output is to be directed.&lt;br /&gt;
&lt;br /&gt;
Unlimited length command lines are now permitted when running from a&lt;br /&gt;
shell supporting the Atari extended command line format (e.g. Craft).&lt;br /&gt;
&lt;br /&gt;
Note that the TO and MAP commands do not need full names for output&lt;br /&gt;
files. If the output file is specified as .PRG or .MAP (for example)&lt;br /&gt;
then a file name based on the second file linked is used (or first file&lt;br /&gt;
if only one file is available).&lt;br /&gt;
&lt;br /&gt;
lc.ttp&lt;br /&gt;
------&lt;br /&gt;
-N, has been added which supresses all compilations, this can be used&lt;br /&gt;
to force the building of a .LNK file when used with -L without the&lt;br /&gt;
neccessity of compiling any files.&lt;br /&gt;
&lt;br /&gt;
-Lb, may be used to force batch mode linking, previously all links were&lt;br /&gt;
done using batch mode.&lt;br /&gt;
&lt;br /&gt;
-Lf, may be used to force a file map to be generated in the map file.&lt;br /&gt;
&lt;br /&gt;
Libraries&lt;br /&gt;
---------&lt;br /&gt;
It is possible to turn on detection for Ctrl-C in all read and write&lt;br /&gt;
calls by setting the external variable __chkabort to a non-zero value.&lt;br /&gt;
This is easiest done by re-defining the external viz:&lt;br /&gt;
&lt;br /&gt;
	int __chkabort=1;&lt;br /&gt;
&lt;br /&gt;
Note that this variable has no effect on the normal GEMDOS checking.&lt;br /&gt;
Also it should not be used in GEM programs which expect to terminate and&lt;br /&gt;
clean up in a controlled manner. This code works by sending a \0 to the&lt;br /&gt;
GEMDOS console device, consequently it may interfere with any program&lt;br /&gt;
which uses VT52 codes, hence this is a powerful facility but must be&lt;br /&gt;
used with care.&lt;br /&gt;
&lt;br /&gt;
Startup Code&lt;br /&gt;
------------ &lt;br /&gt;
The main entry point is now named ___start which is externally visible&lt;br /&gt;
for those applications which wish to have some custom code before it&lt;br /&gt;
without having a complete new stub.&lt;br /&gt;
&lt;br /&gt;
Integrated compiler&lt;br /&gt;
-------------------&lt;br /&gt;
When displaying error messages, the whole of the status line is now&lt;br /&gt;
used if the screen width is 80 characters or less and the length of the&lt;br /&gt;
message is more than 40 characters.&lt;br /&gt;
&lt;br /&gt;
The -t and -L options are now available in the compiler options box,&lt;br /&gt;
although strictly these are functions of the linker. Please note that&lt;br /&gt;
the compiler in the integrated compiler is a big compiler, also the&lt;br /&gt;
options -B, -C, -E, -M, -N, -R and -z access special facilities of the&lt;br /&gt;
lc.ttp driver which are not normally needed in the integrated compiler,&lt;br /&gt;
and would cause a considerable overhead for 1Mb users.&lt;br /&gt;
&lt;br /&gt;
As a result of these extensions any options stored in old EDCTOOLS.INF&lt;br /&gt;
are ignored when loading. A new options table is saved when the tool&lt;br /&gt;
info is saved. This ensures that old tools and environment settings are&lt;br /&gt;
retained.&lt;br /&gt;
&lt;br /&gt;
Files&lt;br /&gt;
-----&lt;br /&gt;
A WITH for the linker (lib\hc.lnk) is supplied on disk 3 to aid users&lt;br /&gt;
of HiSoft C who are compiling their programs.&lt;br /&gt;
&lt;br /&gt;
Batcher&lt;br /&gt;
-------&lt;br /&gt;
The FORMAT command (described below) has been extended to provide a&lt;br /&gt;
volume label.&lt;br /&gt;
&lt;br /&gt;
e.g.&lt;br /&gt;
	FORMAT B: VOLID&lt;br /&gt;
&lt;br /&gt;
Formats a disk in drive B with a volume label of VOLID.&lt;br /&gt;
&lt;br /&gt;
The COPYWARN command lets you enable warnings when over-writing an&lt;br /&gt;
existing file using the COPY command. Use&lt;br /&gt;
&lt;br /&gt;
COPYWARN ON&lt;br /&gt;
&lt;br /&gt;
to enable this. If you are prompted, press Y to over-write this file,&lt;br /&gt;
N to leave this file and A to copy this and all subsequent files without&lt;br /&gt;
asking.&lt;br /&gt;
&lt;br /&gt;
The /D and /S flags used by the COPY and DIR commands have been&lt;br /&gt;
extended to give the files in reverse order using /D- and /S-.&lt;br /&gt;
&lt;br /&gt;
Installation program&lt;br /&gt;
--------------------&lt;br /&gt;
The installation program has been improved so that it now ensures that&lt;br /&gt;
the appropriate disk has been inserted by checking the volume label. If&lt;br /&gt;
you wish to over-ride this then press I when informed that you have&lt;br /&gt;
inserted the wrong disk.&lt;br /&gt;
&lt;br /&gt;
If you have a Single-sided drive A&lt;br /&gt;
----------------------------------&lt;br /&gt;
The installation program can now be used on systems with a single-sided&lt;br /&gt;
drive A and a double-sided drive B. Users with this configuration and&lt;br /&gt;
no hard disk should run the installation program as normal - this will&lt;br /&gt;
produce disks for a 'normal' system with a double-sided drive A and&lt;br /&gt;
then procede as follows:&lt;br /&gt;
&lt;br /&gt;
1. Half a megabyte of RAM: Use the bootdisk produced by the&lt;br /&gt;
   installation program in drive B and store your source files on&lt;br /&gt;
   drive A.&lt;br /&gt;
&lt;br /&gt;
2. One megabyte of RAM: Copy the AUTO, H and LIB folders from the&lt;br /&gt;
   bootdisk produced by the installation program to a single-sided disk&lt;br /&gt;
   that you will boot from. Also make a BIN folder and copy CLINK.TTP&lt;br /&gt;
   and lc1.lc from the BIN folder of the double-sided. You can now use&lt;br /&gt;
   the Work disk produced by the installation in Drive B. You will&lt;br /&gt;
   probably want to use the Environment editor command so that the PATH&lt;br /&gt;
   environment variable refers to B:\BIN. When the system has booted&lt;br /&gt;
   you can remove your single-sided bootdisk from drive A and use this&lt;br /&gt;
   for a disk to hold your source files.&lt;br /&gt;
&lt;br /&gt;
3. More than one megabyte of RAM. Use the Ramdisk installation program&lt;br /&gt;
   on disk 3 in the RAMDISK folder to inset B: in front of the files to&lt;br /&gt;
   be copied and save this to the AUTO folder of a single-sided boot&lt;br /&gt;
   disk. You can then boot using the bootdisk produced by the&lt;br /&gt;
   installation program in drive B.&lt;br /&gt;
&lt;br /&gt;
Ramdisk Installation program&lt;br /&gt;
----------------------------&lt;br /&gt;
The ramdisk installation program now has two extra buttons:&lt;br /&gt;
&lt;br /&gt;
1. Load driver. This loads just the ramdisk driver without the&lt;br /&gt;
   information on the files to be copied, disk size etc.&lt;br /&gt;
&lt;br /&gt;
2. Load info. This loads the just the latter information without the&lt;br /&gt;
   driver.&lt;br /&gt;
&lt;br /&gt;
These buttons can be used to upgrade an existing ramdisk set up to the&lt;br /&gt;
latest version of the driver without the need to re-enter the&lt;br /&gt;
information concerning the files to be copied.&lt;br /&gt;
&lt;br /&gt;
MonST2C version 2.08c&lt;br /&gt;
---------------------&lt;br /&gt;
Control-W is now Single-Step for the benefit of users with French&lt;br /&gt;
keyboards.&lt;br /&gt;
&lt;br /&gt;
The word, long and byte searches can now be made to only look for the&lt;br /&gt;
pattern starting on word or long word boundaries. To only search on&lt;br /&gt;
word boundaries finish the list of items to search for with ',W'. For&lt;br /&gt;
longwords use ',L'. For example:&lt;br /&gt;
&lt;br /&gt;
	G W&lt;br /&gt;
	1234,W&lt;br /&gt;
	&lt;br /&gt;
will look for $1234 only on word boundaries.&lt;br /&gt;
&lt;br /&gt;
The Textual and Instruction searches now ask further you wish the&lt;br /&gt;
search to be case sensitive. If you press Y then Test will match TEST&lt;br /&gt;
or TeSt.&lt;br /&gt;
&lt;br /&gt;
Bugs fixed for 5.04.01&lt;br /&gt;
======================&lt;br /&gt;
&lt;br /&gt;
Installation program&lt;br /&gt;
--------------------&lt;br /&gt;
The cautbin.tos archive no longer claims to extract two copies of&lt;br /&gt;
csnbaut.bin, in fact only one copy of csnbaut.bin was extracted, the&lt;br /&gt;
other was cnbaut.bin.&lt;br /&gt;
&lt;br /&gt;
Integrated compiler&lt;br /&gt;
-------------------&lt;br /&gt;
Non-base relative floating point maths now works correctly when linking&lt;br /&gt;
in the integrated environment.&lt;br /&gt;
&lt;br /&gt;
As a result of the change to CLink regarding library searching (see&lt;br /&gt;
above) longer path names are now possible for filenames.&lt;br /&gt;
&lt;br /&gt;
A problem caused by QuickST2 was fixed, error messages should now&lt;br /&gt;
appear correctly.&lt;br /&gt;
&lt;br /&gt;
Linker&lt;br /&gt;
------&lt;br /&gt;
The coalesce phase has been completely rewritten for use when&lt;br /&gt;
prelinking. This means that empty sections are no longer generated, and&lt;br /&gt;
sections are not merged unnecessarily. Also when prelinking, the&lt;br /&gt;
anonymous relocation sections are now correctly merged into a minimal&lt;br /&gt;
number of blocks.&lt;br /&gt;
&lt;br /&gt;
XNOALVS completely suppresses all (not most!) ALV generation, including&lt;br /&gt;
inter-section references. This is particularly useful when prelinking as&lt;br /&gt;
code sections are not necessarily merged during prelinking.&lt;br /&gt;
&lt;br /&gt;
Batcher&lt;br /&gt;
-------&lt;br /&gt;
Batcher has had all of its output modified so that it now uses Fwrite,&lt;br /&gt;
rather than Cxxxx. This means that redirection will now work correctly&lt;br /&gt;
under TOS 1.0. Note that any program which does not use only Fwrite for&lt;br /&gt;
output on TOS 1.0 will cause the machine to bomb if the output has been&lt;br /&gt;
redirected from Batcher. Any programs compiled with Lattice C 5 will&lt;br /&gt;
not suffer from this problem if only the UNIX or ANSI file routines are&lt;br /&gt;
used.&lt;br /&gt;
&lt;br /&gt;
Batcher has been improved so that it converts file specifications that&lt;br /&gt;
are missing drives or directories fully before prompting - this avoids&lt;br /&gt;
occassional copying of the same file onto itself. Batcher also handles&lt;br /&gt;
folder names contains full stops fully now.&lt;br /&gt;
&lt;br /&gt;
Ramdisk&lt;br /&gt;
-------&lt;br /&gt;
The ramdisk will now exit more cleanly if it runs out of space when copying&lt;br /&gt;
files on startup.&lt;br /&gt;
&lt;br /&gt;
The ramdisk is now more tolerant of a wider range of file&lt;br /&gt;
specifications. When specifying directories to copy there is no need to&lt;br /&gt;
include \*.*. Also there is no need to use, say,  A:\H just A:H will&lt;br /&gt;
work fine. &lt;br /&gt;
&lt;br /&gt;
WERCS&lt;br /&gt;
-----&lt;br /&gt;
The line draw feature in the icon editor now works correctly on TOS 1.4&lt;br /&gt;
and above.&lt;br /&gt;
&lt;br /&gt;
Startup Code&lt;br /&gt;
------------ &lt;br /&gt;
This correctly sizes the environment string area in the fixenv&lt;br /&gt;
function, consequently putenv should be more reliable now.&lt;br /&gt;
&lt;br /&gt;
The desk accessory register passing startup stub now calls @main rather&lt;br /&gt;
than _main.&lt;br /&gt;
&lt;br /&gt;
_setargv() now opens output redirection files in the correct mode. This&lt;br /&gt;
is mainly a cosmetic change as GEMDOS did not cause any problems in the&lt;br /&gt;
incorrect usage anyway.&lt;br /&gt;
&lt;br /&gt;
Library&lt;br /&gt;
-------&lt;br /&gt;
The v_ellipse, v_ellpie, v_arc and v_ellarc bindings now work correctly.&lt;br /&gt;
printf(&amp;quot;%p&amp;quot;) now works correctly, more complex variants already worked.&lt;br /&gt;
linea0() now preserves d2.&lt;br /&gt;
_mediach() now correctly validates the drive number in the Rwabs patch.&lt;br /&gt;
_AESglobal has been extended to the recommended 15 shorts.&lt;br /&gt;
strtol() is now named correctly in the registerised models.&lt;br /&gt;
swab() is now accessible in the library.&lt;br /&gt;
strspn() should now 'see' the last character in the spanning string.&lt;br /&gt;
memmove() now adds the correct offset in registerised models.&lt;br /&gt;
stccpy() now works in the limit case.&lt;br /&gt;
longjmp() now accounts for the function return address pushed by setjmp.&lt;br /&gt;
cprintf() now correctly calls cputs in the registerised model.&lt;br /&gt;
_dwrite/_dread now watch for zero length reads/writes and ignore them so&lt;br /&gt;
that TOS 1.0 doesn't die.&lt;br /&gt;
fputchar and putchar (function version) now work as expected.&lt;br /&gt;
fputc() no longer loses 1 character per buffer on mode w(b)+ files.&lt;br /&gt;
div() and ldiv now use the same layout, this corrects a problem in long&lt;br /&gt;
integer mode.&lt;br /&gt;
strftime(), setlocale() etc. recompiled to reflect the change in locale.h&lt;br /&gt;
strstr() now works as expected when string2 is the null string.&lt;br /&gt;
system() in the registerised models now calls via _shell_p correctly.&lt;br /&gt;
atof(), strtod() now indicate overflow correctly.&lt;br /&gt;
&lt;br /&gt;
Header Files&lt;br /&gt;
------------&lt;br /&gt;
aes.h:		definition of RSHDR made int size independent&lt;br /&gt;
dos.h:		_dwrite #define removed (for reason above)&lt;br /&gt;
locale.h	Definitions of LC_xxx corrected&lt;br /&gt;
osbind.h:	Frename, Xbtimer, Midiws fixed. Dfree redefined as (long *).&lt;br /&gt;
		Keytbl changed to use char * cf. void *.&lt;br /&gt;
stdio.h:	Now includes the definition for FOPEN_MAX, printf et al no&lt;br /&gt;
		longer __stdargs (implied via ellipsis).&lt;br /&gt;
stdlib.h:	bsearch added. Parameters of div_t transposed&lt;br /&gt;
string.h:	NULL definition added&lt;br /&gt;
time.h:		Now includes the definition for CLOCKS_PER_SEC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Disk Contents&lt;br /&gt;
=============&lt;br /&gt;
&lt;br /&gt;
The installation program on disk 2 is actually called INSTALL.PRG, not&lt;br /&gt;
INSTALL.TOS. This is so it may (optionally) auto-run Batcher after&lt;br /&gt;
creating the batch file. Sorry for this typo.&lt;br /&gt;
&lt;br /&gt;
The non-base relative maths libraries LCM?NB.LIB are not mentioned in&lt;br /&gt;
the installation guide, they exist however on disk 5. Similarly the&lt;br /&gt;
archived GST versions can be found on disk 7, LCMNBBIN.TOS.&lt;br /&gt;
&lt;br /&gt;
On disk 6 the installation guide fails to mention the C.LNK file in the&lt;br /&gt;
bin directory for use as a 'WITH' file for LinkST.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Documentation&lt;br /&gt;
=============&lt;br /&gt;
&lt;br /&gt;
On page 18 of volume one there is a small problem with the options&lt;br /&gt;
used, in particular the -w option should not be used. This is because&lt;br /&gt;
there is insufficient disk space for the short integer libraries on the&lt;br /&gt;
default work disks, note that this only applies to floppy based users,&lt;br /&gt;
hard disk users may still attempt the use of this flag. On the&lt;br /&gt;
following page the command line for 512K users has a small typo... the&lt;br /&gt;
-ih option (present on all other 512K command lines) was omitted. Hence&lt;br /&gt;
the full command line for 512K users should read:&lt;br /&gt;
&lt;br /&gt;
	-ih -csf -v -Lag wtest&lt;br /&gt;
&lt;br /&gt;
The documentation on csub (complex subtraction) was accidentally&lt;br /&gt;
omitted. Please refer to cadd substituting the word subtraction for&lt;br /&gt;
addition.&lt;br /&gt;
&lt;br /&gt;
The -c options, page 54 Volume I, are in fact toggle options, i.e.&lt;br /&gt;
specifying any such option twice will disable it.&lt;br /&gt;
&lt;br /&gt;
-ca, enable ANSI mode, has the following effects, it disables register&lt;br /&gt;
(-cr) and extra (-ck) keywords, also the warning messages 122 - &amp;quot;Missing&lt;br /&gt;
ellipsis&amp;quot;, 132 - &amp;quot;Extra tokens after valid preprocessor directive&amp;quot; and&lt;br /&gt;
135 - &amp;quot;Assignment to shorter data type (precision may be lost)&amp;quot; are&lt;br /&gt;
enabled.&lt;br /&gt;
&lt;br /&gt;
-cl is mis-documented, and is used to force long word alignment of&lt;br /&gt;
externals.&lt;br /&gt;
&lt;br /&gt;
-cr is mis-documented, it actually enables the register keywords __d0,&lt;br /&gt;
used in conjuction with the __asm directive.&lt;br /&gt;
&lt;br /&gt;
Page 321 of Volume II has the parameters to strstr transposed in the&lt;br /&gt;
synopsis. The returns section should say that: &amp;quot;If s2 points to a string&lt;br /&gt;
with zero length, the function returns s1.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Page 92 of Volume III incorrectly describes wind_calc as taking a handle.&lt;br /&gt;
This parameter is not required.&lt;br /&gt;
&lt;br /&gt;
Page 105 of Volume III describes the return values from the user function&lt;br /&gt;
wrongly. The user function should return 1 for success, 0 for failure.&lt;br /&gt;
&lt;br /&gt;
Page 213 of Volume III describes vsf_interior and vsf_style incorrectly,&lt;br /&gt;
the first parameter is to vsf_style, the second to vsf_interior.&lt;br /&gt;
&lt;br /&gt;
Page 265 of Volume III describes the info pointer of Dfree as being type&lt;br /&gt;
void *, this should be type long *.&lt;br /&gt;
&lt;br /&gt;
Page 289 of Volume III is inconsistent in the synopsis of Pexec, the cmd&lt;br /&gt;
parameter should be tail.&lt;br /&gt;
&lt;br /&gt;
Page 300 of Volume III omits the character 'c' in the synopsis of&lt;br /&gt;
Bconout. The call is of the form &amp;quot;error=Bconout(dev,c)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pages 313-358 of Volume III, the XBIOS section, contains several&lt;br /&gt;
references to vdi.h, these should, of course, be osbind.h.&lt;br /&gt;
&lt;br /&gt;
Page 316 of Volume III has the enable/disable blinking flags of Cursconf&lt;br /&gt;
transposed. 2 is used to enable blinking, 3 to disable it.&lt;br /&gt;
&lt;br /&gt;
Page 326 of Volume III is describes Giaccess incorrectly, bit 7 should&lt;br /&gt;
be *clear* to read and *set* to write, i.e. the opposite of that&lt;br /&gt;
described.&lt;br /&gt;
&lt;br /&gt;
Page 368 of Volume III describes linea4 incorrectly in the synopsis,&lt;br /&gt;
with reference to Y2, this should of course be X2. The remainder of the&lt;br /&gt;
description is correct.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Libraries&lt;br /&gt;
=========&lt;br /&gt;
&lt;br /&gt;
The _tzset function uses the _country variable when an environment&lt;br /&gt;
variable TZ cannot be found. All countries will have the correct number&lt;br /&gt;
of hours difference from GMT although the country codes may not be&lt;br /&gt;
correct as we were unable to find a reference for these.&lt;br /&gt;
&lt;br /&gt;
The codes 13 and 14 for _country (Saudi Arabia and Holland) *may* have&lt;br /&gt;
been transposed, although we are uncertain of this at the present time&lt;br /&gt;
and are attempting to resolve the issue.&lt;br /&gt;
&lt;br /&gt;
The variable 'long _MNEED' has been added and specifies the number of&lt;br /&gt;
bytes placed in the initial heap. It does not (unlike version 3) set&lt;br /&gt;
the maximum amount of RAM which may be used. We strongly recommend that&lt;br /&gt;
you do not adjust its value.&lt;br /&gt;
&lt;br /&gt;
When building Desk Accessories TOS does not support dynamic memory&lt;br /&gt;
allocation. To circumvent this problem Lattice C 5 allows one (or more)&lt;br /&gt;
static arrays to be linked into its heap. To do this the _addheap&lt;br /&gt;
function is used; note that the length of the heap *must* be a longword&lt;br /&gt;
multiple:&lt;br /&gt;
&lt;br /&gt;
	long heap[BYTES/sizeof(long)];&lt;br /&gt;
&lt;br /&gt;
	main()&lt;br /&gt;
	{&lt;br /&gt;
		_addheap(heap,sizeof(heap));&lt;br /&gt;
		...&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
Note that if you do not put any memory in the heap, any attempt to use&lt;br /&gt;
malloc will fail, which may or may not be important to you. The DA&lt;br /&gt;
example program chdiracc has no need of any malloc'd memory.&lt;br /&gt;
&lt;br /&gt;
There are some special startup stubs only touched on in the manual&lt;br /&gt;
which allow your program to detect how it is running. All you need to&lt;br /&gt;
do is link with the C?AUT.O startup code and the GEM library (LCG*.LIB)&lt;br /&gt;
so that the variable _XMODE will be magically set. The values used are:&lt;br /&gt;
&lt;br /&gt;
	0	Standard GEM program&lt;br /&gt;
	1	Standard TOS program&lt;br /&gt;
	2	GEM DA&lt;br /&gt;
	3	Auto folder TOS program&lt;br /&gt;
&lt;br /&gt;
A simple example program testaut.c is provided in the examples&lt;br /&gt;
directory.&lt;br /&gt;
&lt;br /&gt;
Assembler&lt;br /&gt;
=========&lt;br /&gt;
&lt;br /&gt;
ASM, the assembler, has been extended to support standard Motorola&lt;br /&gt;
style macros, although we recommend the use of the Lattice macro system&lt;br /&gt;
as this style is more readable.&lt;br /&gt;
&lt;br /&gt;
Note that ASM unlike DevpacST does not force word alignment of&lt;br /&gt;
instructions, hence if you have a byte table you should always follow it&lt;br /&gt;
with an even directive.&lt;br /&gt;
&lt;br /&gt;
Batcher&lt;br /&gt;
=======&lt;br /&gt;
&lt;br /&gt;
Several new commands were added to Batcher primarily to assist the&lt;br /&gt;
installation program, however these are also facilities which may be&lt;br /&gt;
useful to you:&lt;br /&gt;
&lt;br /&gt;
FORMAT command&lt;br /&gt;
--------------&lt;br /&gt;
This will format standard ST double-sided disks without any interleave.&lt;br /&gt;
It should be followed by the drive to format e.g.&lt;br /&gt;
&lt;br /&gt;
	FORMAT B:&lt;br /&gt;
&lt;br /&gt;
will format the disk in drive B.&lt;br /&gt;
&lt;br /&gt;
PAUSE command&lt;br /&gt;
-------------&lt;br /&gt;
PAUSE will wait for a single key to be pressed. This can be used in&lt;br /&gt;
batch files so that the user can read the previous output or change&lt;br /&gt;
disks.&lt;br /&gt;
&lt;br /&gt;
ECHO command&lt;br /&gt;
------------&lt;br /&gt;
If the parameter to ECHO is not ON or OFF (as described in the manual)&lt;br /&gt;
then the text will be echoed to the screen. For example:&lt;br /&gt;
&lt;br /&gt;
	ECHO This is a message&lt;br /&gt;
&lt;br /&gt;
will display 'This is a message'.&lt;br /&gt;
&lt;br /&gt;
VIRTUALDISK command&lt;br /&gt;
-------------------&lt;br /&gt;
This command is used by the installation program so that Batcher can&lt;br /&gt;
perform 'virtual disking' itself rather than using the operating system&lt;br /&gt;
routines, which do not work reliably. However, as all Batcher commands&lt;br /&gt;
do not support this facility, we do not recommend that it is used&lt;br /&gt;
interactively.&lt;br /&gt;
&lt;br /&gt;
HiSoft, 30 October 1990&lt;br /&gt;
The Old School&lt;br /&gt;
Greenfield&lt;br /&gt;
Bedford&lt;br /&gt;
MK45 5DE&lt;br /&gt;
ENGLAND.&lt;br /&gt;
&lt;br /&gt;
Phone:	+44 525 718181&lt;br /&gt;
Fax:	+44 525 713716&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Category:Programming]]&lt;/div&gt;</summary>
		<author><name>&gt;Zorro 2</name></author>
	</entry>
</feed>