<?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=Earxtutchap9</id>
	<title>Earxtutchap9 - 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=Earxtutchap9"/>
	<link rel="alternate" type="text/html" href="https://www.temlib.org/AtariForumWiki/index.php?title=Earxtutchap9&amp;action=history"/>
	<updated>2026-05-13T16:35:28Z</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=Earxtutchap9&amp;diff=13038&amp;oldid=prev</id>
		<title>&gt;Wongck at 15:31, 12 October 2011</title>
		<link rel="alternate" type="text/html" href="https://www.temlib.org/AtariForumWiki/index.php?title=Earxtutchap9&amp;diff=13038&amp;oldid=prev"/>
		<updated>2011-10-12T15:31:25Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 11:31, 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-l172&quot;&gt;Line 172:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 172:&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;Making optimized assembly code by Earx&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=Earxtutchap9&amp;diff=13037&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=Earxtutchap9&amp;diff=13037&amp;oldid=prev"/>
		<updated>2009-05-02T17:13:42Z</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 13:13, 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-l172&quot;&gt;Line 172:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 172:&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=Earxtutchap9&amp;diff=13036&amp;oldid=prev</id>
		<title>&gt;Zorro 2 at 08:14, 9 October 2006</title>
		<link rel="alternate" type="text/html" href="https://www.temlib.org/AtariForumWiki/index.php?title=Earxtutchap9&amp;diff=13036&amp;oldid=prev"/>
		<updated>2006-10-09T08:14:49Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 04:14, 9 October 2006&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-l170&quot;&gt;Line 170:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 170:&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;                        TTram.&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;                        TTram.&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 colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Back to [[ASM_Tutorial]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>&gt;Zorro 2</name></author>
	</entry>
	<entry>
		<id>https://www.temlib.org/AtariForumWiki/index.php?title=Earxtutchap9&amp;diff=13035&amp;oldid=prev</id>
		<title>&gt;Simonsunnyboy at 17:50, 6 October 2006</title>
		<link rel="alternate" type="text/html" href="https://www.temlib.org/AtariForumWiki/index.php?title=Earxtutchap9&amp;diff=13035&amp;oldid=prev"/>
		<updated>2006-10-06T17:50:10Z</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;
                       | |                          !___  |&lt;br /&gt;
                       | | CHAPTER 9 : USEFUL STUFF   __! |&lt;br /&gt;
                       | |                           |  __!&lt;br /&gt;
                       '-'                           '-'&lt;br /&gt;
                       .-.                           .-.&lt;br /&gt;
                       '-'                           '-'&lt;br /&gt;
&lt;br /&gt;
Just some tricks to help you on your way to make demos, games, whatever.&lt;br /&gt;
&lt;br /&gt;
EVEN directive:&lt;br /&gt;
&lt;br /&gt;
This is not for structurising or anything. This is used to put the following&lt;br /&gt;
data on a word-edge. The basic 68000 generates an error when it reads/writes&lt;br /&gt;
(long)words on byte boundaries. So when you use many single bytes or buffers&lt;br /&gt;
that contain an odd number of bytes, you should make sure all following&lt;br /&gt;
labels are word-aligned!&lt;br /&gt;
&lt;br /&gt;
The usage is very simple:&lt;br /&gt;
&lt;br /&gt;
byte:   DC.B    0&lt;br /&gt;
        EVEN&lt;br /&gt;
label:  DC.L    &amp;quot;THIS IS EVEN&amp;quot;&lt;br /&gt;
&lt;br /&gt;
In the TEXT section this isn't necessary. The assembler automaticly word-&lt;br /&gt;
aligns everything there.&lt;br /&gt;
&lt;br /&gt;
Assembler options:&lt;br /&gt;
&lt;br /&gt;
In for instance DEVPAC you have the OPT directive:&lt;br /&gt;
&lt;br /&gt;
        OPT     D-                              * Don't put labels in PRG.&lt;br /&gt;
&lt;br /&gt;
This is very handy for release versions of your stuff as well as for reducing&lt;br /&gt;
the size of your executable. The labels labels in the executable take up some&lt;br /&gt;
extra space.&lt;br /&gt;
&lt;br /&gt;
        OPT     P=68000                         * No CPU instructions &amp;gt;68000&lt;br /&gt;
&lt;br /&gt;
This is handy when you develop on a 68020 or higher and also want to make&lt;br /&gt;
executables for simple and plain 68000. Sometimes you don't even notice using&lt;br /&gt;
some 68020 addressing modes, when in fact these don't work on 68000. Now the&lt;br /&gt;
assembler will process error-messages when it encounters these.&lt;br /&gt;
&lt;br /&gt;
        COMMENT HEAD=%111                       * code, alloc and data in TT-RAM&lt;br /&gt;
&lt;br /&gt;
When you've got a TT, Falcon with TT-RAM or a clone, this is very nice stuff.&lt;br /&gt;
TT-RAM is always faster than using ST-RAM, especially so on the Falcon when the&lt;br /&gt;
VIDEL is in a high resolution and the SDMA is on.&lt;br /&gt;
&lt;br /&gt;
But beware!!! You should never put soundbuffers or screenbuffers in TT-RAM!&lt;br /&gt;
The videochip and soundchip can only access ST-RAM. They have 24-bit address-&lt;br /&gt;
space you can address from 0 to 16MB.&lt;br /&gt;
&lt;br /&gt;
This is come accross by using the Mxalloc gemdos call:&lt;br /&gt;
&lt;br /&gt;
        move.w  #0,-(sp)                        * Indicate ST-RAM only!&lt;br /&gt;
        move.l  #10000,-(sp)                    * Give buffersize.&lt;br /&gt;
        move.w  #$44,-(sp)                      * Give gemdos code.&lt;br /&gt;
        trap    #1                              * Execute gemdos-trap.&lt;br /&gt;
        addq    #8,sp                           * Get parameters off the stack.&lt;br /&gt;
&lt;br /&gt;
Random routines:&lt;br /&gt;
&lt;br /&gt;
A machine can't actually figure out some random number. It's not as chaotic as&lt;br /&gt;
the human mind and especially not as weird as mine =) but you can use simple&lt;br /&gt;
tricks for simulating random numbers.&lt;br /&gt;
&lt;br /&gt;
To initialize the random routine:&lt;br /&gt;
&lt;br /&gt;
        move.l  #$3e8f356b,d0                   * Just as a startvalue.&lt;br /&gt;
&lt;br /&gt;
When needing a new random value, execute this:&lt;br /&gt;
&lt;br /&gt;
        rol.l   d0,d0                           * Rotate it d0 MOD 32 times.&lt;br /&gt;
        addq.l  #7,d0                           * Add 7 to it.&lt;br /&gt;
&lt;br /&gt;
It's not very exact, but it's ideal for quick and dirty stuff. It's ideal stuff&lt;br /&gt;
for simple things like starfields, simple textures and more. I have the amiga&lt;br /&gt;
dude Azure to thank for this. It's dead smart.&lt;br /&gt;
&lt;br /&gt;
A more accurate approach would be this:&lt;br /&gt;
&lt;br /&gt;
        move.l  d0,d1                           * Store d0 temporarily.&lt;br /&gt;
        mulu.w  d0,d0                           * Multiply d0*d0.&lt;br /&gt;
        eor.l   d1,d0                           * Exclusive OR it.&lt;br /&gt;
        addq.l  #7,d0                           * Add constant to it.&lt;br /&gt;
&lt;br /&gt;
A bit more intensive, but far more exact noisegeneration.&lt;br /&gt;
&lt;br /&gt;
Triple buffering:&lt;br /&gt;
&lt;br /&gt;
How do coders achieve smoother framerates in flexible graphics engines? In&lt;br /&gt;
realtime graphics you want to move from 50fps straight down to 25 fps when&lt;br /&gt;
something more happens on screen. This is the problem with waiting for the VBL&lt;br /&gt;
to occur every animationframe.&lt;br /&gt;
&lt;br /&gt;
When your engine needs just over the interval between two VBLs. Say only 1.1&lt;br /&gt;
times that amount, the waiting for the VBL will increase this amount to 2.&lt;br /&gt;
That means that 50/2 = 25fps. Hhhhmmm. That's lousy. And it looks especially&lt;br /&gt;
jerky when it drops from 50fps downto 25. uGlY!&lt;br /&gt;
&lt;br /&gt;
Hhhmmm.. Wasting a relativily large amount of time sucks, but how do not wait&lt;br /&gt;
for the VBL to occur? Surely this means introducing flickering into our screen?&lt;br /&gt;
&lt;br /&gt;
Not true! By using an additional screenbuffer and swapping through your three&lt;br /&gt;
screens you won't overdraw the active physical screen =&amp;gt; no flickers!&lt;br /&gt;
&lt;br /&gt;
Doing this is easy and why some demo-coders still haven't implemented this&lt;br /&gt;
technique is a big question. Simply rotate through your screens like so and&lt;br /&gt;
don't wait for the VBL anymore!&lt;br /&gt;
&lt;br /&gt;
        move.l  screenaddress1,d0&lt;br /&gt;
        move.l  screenaddress2,d1&lt;br /&gt;
        move.l  screenaddress3,screenaddress&lt;br /&gt;
        move.l  d1,screenaddress3&lt;br /&gt;
        move.l  d0,screenaddress2&lt;br /&gt;
&lt;br /&gt;
If you drew to screenaddress1 this frame, then you can use d0 to install the&lt;br /&gt;
new physical screen:&lt;br /&gt;
&lt;br /&gt;
        lsr.w   #8,d0                           * Get mid byte in low byte.&lt;br /&gt;
        move.l  d0,$ffff8200.w                  * Kick in the new screen.&lt;br /&gt;
&lt;br /&gt;
Illegal instruction:&lt;br /&gt;
&lt;br /&gt;
This is for debugging purposes only! When you want to be absolutely sure&lt;br /&gt;
about your programflow not getting into any nasty corners, illegal&lt;br /&gt;
instructions are a must! When the CPU encounters the &amp;quot;illegal&amp;quot; opcode it&lt;br /&gt;
executes an exception. Normally this throws four ugly boms on your tube =)&lt;br /&gt;
&lt;br /&gt;
Illegal instructions can (should) be used like this:&lt;br /&gt;
&lt;br /&gt;
        bsr     DO_NASTYSTUFF                   * Call a routine.&lt;br /&gt;
        tst.w   d0                              * Test if returned ok.&lt;br /&gt;
        bpl.s   all_clear                       * If positive -&amp;gt; ok!&lt;br /&gt;
        illegal                                 * Unexpected result!&lt;br /&gt;
all_clear:&lt;br /&gt;
&lt;br /&gt;
Take note that bombing your machine doesn't have to cause anything bad, but&lt;br /&gt;
when you've replaced all kinds of interrupt routines and taken you own&lt;br /&gt;
screen this might not be real nice. The 4boms exception doesn't restore&lt;br /&gt;
screenaddresses or interrupt-routines, so watch out!&lt;br /&gt;
&lt;br /&gt;
Also, when you've debugged your code, you should ultimately replace the use&lt;br /&gt;
of &amp;quot;illegal&amp;quot; with error-handling calls.&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
&lt;br /&gt;
Even directive:        Allows the coder to always make data word-aligned.&lt;br /&gt;
Opcode:                Short for &amp;quot;operation code&amp;quot;. This is the code a&lt;br /&gt;
                       certain instruction is assembled into.&lt;br /&gt;
OPT:                   Assembler directive that can be used to enable/&lt;br /&gt;
                       disable certain assembler options.&lt;br /&gt;
Random routine:        More like pseudo-random actually. This is a way of&lt;br /&gt;
                       simulating chaos. One specific &amp;quot;seed&amp;quot; value inputted&lt;br /&gt;
                       in the random routine always results in the same&lt;br /&gt;
                       result.&lt;br /&gt;
Triple buffering:      Often used in realtime games or demo-effects. This&lt;br /&gt;
                       is flickerless and gives a smoother display than&lt;br /&gt;
                       double buffering. Triple buffering owes it's name to&lt;br /&gt;
                       the use of three screenbuffers.&lt;br /&gt;
TTram:                 Happy owners of an Atari TT (hence the &amp;quot;TT&amp;quot; in TTram)&lt;br /&gt;
                       or a good Falcon-accelerator can be souped up with&lt;br /&gt;
                       fast-ram. This RAM is free from accesses by the video&lt;br /&gt;
                       and soundchips and can be accessed with full 32 bits&lt;br /&gt;
                       at once. Atari has provided some bits in the&lt;br /&gt;
                       executable-header that enables to use or neglect the&lt;br /&gt;
                       TTram.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>&gt;Simonsunnyboy</name></author>
	</entry>
</feed>