shithub: rgbds

ref: 114871d46de3e7c380e0fd1d27ef31badb70416e
dir: /doc/asm/history.htm/

View raw version
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
	<title>xAsm History</title>
        <link rel="stylesheet" type="text/css" href="../style.css">
</head>
<body>
<h1>xAsm History</h1>
<table>
	<caption>The history of xAsm</caption>
<thead>
<tr>
	<th scope="col">Version</th>
	<th scope="col">Dated</th>
	<th scope="col">Release notes</th>
</tr>
</thead>
<tr>
	<td>1.0</td>
	<td>1 Oct. 96</td>
	<td>First release</td>
</tr>
<tr>
	<td>1.01</td>
	<td>1 Dec. 96</td>
	<td><ul>
<li>Fixed  bug  in <a href="incbin.htm">INCBIN</a> (sometimes reported the section full)</li>
                 <li>Added <a href="miscfunc.htm">DEF()</a> function
</ul></td>
</tr>
<tr>
	<td>1.02</td>
	<td>12 Feb. 97</td>
	<td><ul>
<li>Added <a href="expr_str.htm">STRLEN(), STRCAT(), STRIN(), STRCMP(), STRSUB(), STRUPR() and STRLWR()</a> functions</li>
	<li><a href="export.htm">IMPORT/EXPORT/GLOBAL</a> takes multiple arguments now</li>
	<li><a href="section.htm">HRAM</a> sectiontype added</li>
	<li>ORG like features added to <a href="section.htm">SECTION</a></li>
	<li><a href="trg_gb.htm">LDIO</a> mnemonic added</li>
</ul></td>
</tr>
<tr>
	<td>1.03</td>
	<td>23 Mar. 97</td>
	<td><ul>
<li>The <a href="section.htm">HRAM section</a> was 128 bytes long instead of 127. potentially thrashing the interrupt enable register if you filled the HRAM.</li>
	<li>The <a href="miscfunc.htm">BANK() function</a>, when used on a symbol defined in the current sourcefile, returned the wrong bank ID. (reported by Harry P. Mulder)</li>
	<li>The <a href="miscfunc.htm">BANK() function</a> didn't check whether the argument was a properly defined symbol. (reported by Harry P. Mulder)</li>
	<li>Completely new lexical analyser module. This fixed several linenumber bugs and other macro/if/rept related bugs. Also fixed a bug which made it possible to have equated symbols with the same name as a reserved keyword (if you get a "parse error" with this release on some of your sources, this is probably what is going on)</li>
	<li><a href="fail.htm">FAIL and WARN</a> commands.</li>
	<li><a href="presym.htm">__LINE__, __FILE__, __TIME__, __DATE__</a> predefined symbols added.</li>
</ul>
</td>
</tr>
<tr>
	<td>1.04</td>
	<td>03 July 1997</td>
	<td><ul><li>First ASMotor release</li>
<li><a href="presym.htm">__TIME__ and __DATE__</a> give todays date instead of when the assembler was compiled.</li>
<li>Sometimes the first line of a file wouldn't assemble correctly. Reported by Jeff Frohwein.</li>
<li>Unrolling multiline <a href="equs.htm">string symbols</a> left the linecounter in a sorry state. Jeff Frohwein again.</li>
<li><a href="db.htm">DB and DW</a> can now (officially ;-) be used in BSS/HRAM/VRAM sections without any arguments to reserve a byte or a word respectively. Reported/suggested/inspired by Mr. Frohwein.</li>
<li>The character # can now be used as part of a <a href="symbols.htm">symbol name</A>. Jeff....</li>
<li>The <a href="rs.htm">RS</a> counter "_RS" is now defined from the very start of the assembly process instead of after the first RSSET or RSRESET.</li>
<li>Bug fixed: You couldn't use \0-\9 and \@ in <a href="expr_str.htm">{} constructs</a></li>
<li><a href="purge.htm">PURGE</a> pseudo-op added. Purges a symbol from the symboltable and memory. Use with extreme caution! Inspired by Harry P. Mulder</li>
<li><a href="macro.htm">MACRO</a> parameter passing method changed drastically. Read (and re-read) the manual for details. Suggested by Harry P. Mulder.</li>
</ul>
</td>
<tr>
	<td>1.05</td>
	<td>20 July 1997</td>
	<td><B>RGBDS fixes:</B><BR>
	RGBAsm supports the LDD and LDI syntax plus [HLD] and [HLI]. LDH is
	synonymous with LDIO.<BR>
	<B>General fixes:</B><BR>
There was a bug in the macro parameter passing. Any whitespace after the
last parameter would be appended to the last parameter. Reported by Jeff Frohwein.<BR>
A section stack has been implemented. Look up <a href="pops.htm">POPS and PUSHS</A>. Jeff Frohweins doing again.<BR>
<a href="opt.htm">OPT</A> command added for defining and changing some options while assembling.<BR>
You can now define which characters are used for the <a href="expr_int.htm">Gameboy graphics
integer (`)</A> using the <a href="usage.htm">commandline</A> or the new <a href="opt.htm">OPT</A> command. Cool idea by (surprise surprise) Jeff Frohwein.<BR>
Also, an option stack has been added. Look up <a href="popo.htm">POPO and PUSHO</A> in the
manual.<BR>
Fixed yet another line number bug reported by Jeff Frohwein (when will this guy leave me alone? ;)<BR>
</td>
<tr>
	<td>1.06</td>
	<td>22 July 1997</td>
	<td><B>General fixes:</B><BR>
The lamest typo bug of all time has been fixed. RGBAsm would output a word defined with DW as 4 bytes instead of 2. Jeff Frohwein reported this.<BR>
The first line of an included file didn't assemble correctly.<BR>
<a href="usage.htm">-b option</A> added for setting the characters used for binary constants.<BR>
</td>
</tr>
<tr>
	<td>1.08</td>
	<td>21 September 1997</td>
	<td><B>General fixes:</B><BR>
A crash occured if you tried to use a macro symbol in an expression.
(Jeff Frohwein)<BR>
You couldn't use STRCMP, STRLEN and STRIN in relocatable expressions. (Harry
P. Mulder)<BR>
Relocatable symbols are no longer allowed as arguments to the DEF function.<BR>
Bug fixed in the assembler where it would sometimes write out too many bytes
for HRAM section definitions.<BR>
</td>
</tr>
	<tr>
		<td>1.08</td>
		<td>02 July 1999</td>
		<td>
			<B>Feature:</B>
			<BR>
			DQ directive added for defining 32-bit data constants. See operation of DW &amp; DB.
			<BR>
		</td>
	</tr>
	<tr>
		<td>1.08</td>
		<td>05 July 1999</td>
		<td>
			<B>Feature:</B>
			<BR>
			Allow only a part of a binary file to be included instead of the whole thing.
			<BR>
		</td>
	</tr>
	<tr>
		<td>1.08</td>
		<td>10 June 1999</td>
		<td>
			<B>Feature:</B>
			<BR>
			Added output of file dependency information for each file included/assembled. Enabled with a command line option.
			<BR>
		</td>
	</tr>
	<tr>
		<td>1.08</td>
		<td>?? ???? 1999</td>
		<td>
			<B>Feature:</B>
			<BR>
			Added ORG directive to allow anonymous sections.
			<BR>
		</td>
	</tr>
	<tr>
		<td>1.08</td>
		<td>?? ???? 1999</td>
		<td>
			<B>Feature:</B>
			<BR>
			Added ability to output error information in either RGBDS or Microsoft Developer Studio format.
			<BR>
		</td>
	</tr>
	<tr>
		<td>1.08</td>
		<td>?? ???? 1999</td>
		<td>
			<B>Feature:</B>
			<BR>
			Added pseudo-instructions to handle NE (not equal), EQ (equal), and LT (less than) on JR/JP/CALL instructions
			<BR>
		</td>
	</tr>
	<tr>
		<td>1.08</td>
		<td>?? ???? 1999</td>
		<td>
			<B>Feature:</B>
			<BR>
			Added STRTRIM, STRLTRIM, STRRTRIM directives to allow trimming of white space from strings in macro arguments.
			<BR>
		</td>
	</tr>
	<tr>
		<td>1.08</td>
		<td>?? ???? 1999</td>
		<td>
			<B>Bug Fix:</B>
			<BR>
			When an "unknown symbol" error was reported during the link phase the undefined symbol was not given.
			<BR>
		</td>
	</tr>
	<tr>
		<td>1.08</td>
		<td>?? ???? 1999</td>
		<td>
			<B>Bug Fix:</B>
			<BR>
			Declaring a symbol as GLOBAL in a header file and then referencing it in code but never defining it would crash the linker.
			<BR>
		</td>
	</tr>
	<tr>
		<td>1.09</td>
		<td>08 February 2000</td>
		<td>
			<B>Feature:</B>
			<BR>
			Can now use a command line option to set the number format between a slightly tweaked Motorola/RGBDS format and Zilog.
			<BR>
			Hex numbers can now be represented as $FF or FFh.
			<BR>
			Octal as &amp;77 or 77o.
			<BR>
			Binary as %10010110 or 10010110b.
			<BR>
			Gameboy graphics numbers as `1001 or 1001g.
			<BR>
			Decimal numbers remain unchanged.
			<BR>
		</td>
	</tr>

</TABLE>

<BR><HR>
<FONT SIZE="-1"><I><P ALIGN=RIGHT>Last updated 21 September 1997 by <a href="mailto:[email protected]">Carsten Sorensen</A></P></I></FONT>