Skip to content

Commit

Permalink
Merge branch 'working'
Browse files Browse the repository at this point in the history
  • Loading branch information
NormanDunbar committed Oct 7, 2016
2 parents 805f67f + cb83cd5 commit b904cfd
Show file tree
Hide file tree
Showing 17 changed files with 1,329 additions and 0 deletions.
162 changes: 162 additions & 0 deletions clean/KeywordsX.clean.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,162 @@

<H1><A name="XCHANGE" id="XCHANGE"></A>XCHANGE</H1>

<P>
Syntax: <SPAN style="font-style: italic;">XCHANGE (a1 TO a2, c1 TO c2)<BR></SPAN> Location: <SPAN style="font-style: italic;">BTool<BR></SPAN>
The function <SPAN style="font-style: italic;">XCHANGE</SPAN> replaces all occurrences of byte <SPAN style="font-style: italic;">c1</SPAN> by <SPAN style="font-style: italic;">c2<BR></SPAN> from memory locations <SPAN style="font-style: italic;">a1</SPAN> to <SPAN style="font-style: italic;">a2</SPAN> inclusive. The function counts
the exchanged bytes and returns the sum.


<H3>Example:</H3>

<P>
Provided that you have enough free memory, this small

program replaces line-feed characters <SPAN style="font-style: italic;">CHR$(10)</SPAN> by carriage

returns <SPAN style="font-style: italic;">CHR$(13)</SPAN> in ram1_test_txt as quickly as possible:
<SPAN style="font-style: italic;">100 ch=FILE_OPEN("ram1_test_txt",0)
110 IF ch&lt;0 THEN REPORT ch: STOP
120 length=FLEN(#3)
130 memory=ALCHP(length)
140 IF NOT memory THEN REPORT -3: STOP
150 x=LOAD_FILE(#ch,memory,length)
160 IF XCHANGE(memory,memory+length-1,13,10) THEN
170 GET#ch\0
180 SAVE_FILE#ch,memory,x
190 TRUNCATE#ch
200 END IF
210 CLOSE#ch: RECHP memory<BR></SPAN>

<H3>CROSS-REFERENCE:</H3>

<P>
<A style="font-style: italic;" href="KeywordsS.html#SEARCH">SEARCH</A>, <A style="font-style: italic;" href="KeywordsC.html#COPY_B">COPY_B</A>, <A style="font-style: italic;" href="KeywordsC.html#COPY_W">COPY_W</A>, <A style="font-style: italic;" href="KeywordsC.html#COPY_L">COPY_L</A>
<HR style="width: 100%; height: 2px;">

<H1><A name="XDRAW" id="XDRAW"></A>XDRAW</H1>

<P>
Syntax: <SPAN style="font-style: italic;">XDRAW x1,y1 TO x2,y2<BR></SPAN> Location: <SPAN style="font-style: italic;">HCO<BR></SPAN>
The command <SPAN style="font-style: italic;">XDRAW</SPAN> draws lines, just like <SPAN style="font-style: italic;">LDRAW</SPAN>, but it draws
the lines in white ink, using the <SPAN style="font-style: italic;">XOR</SPAN> mode; so drawing the same
line will remove it again without changing the background.


<H3>Example:</H3>

<P><SPAN style="font-style: italic;">100 REPeat scan
110 w% = RND(1 TO 200)
120 FOR x% = 0 TO 511 + w%
130 IF x% &lt; 512 THEN
140 XDRAW x%,0 TO x%,255
150 END IF
160 IF x% &gt; w% - 1 THEN
170 XDRAW x%-w%,0 TO x%-w%,255
180 END IF
190 IF KEYROW(1)&amp;&amp;8 THEN EXIT scan
200 END FOR x%
210 END REPeat scan<BR></SPAN>

<H3>CROSS-REFERENCE:</H3>

<P>
<A style="font-style: italic;" href="KeywordsL.html#LDRAW">LDRAW</A>, <A style="font-style: italic;" href="KeywordsL.html#LINE">LINE</A> with <A style="font-style: italic;" href="KeywordsO.html#OVER">OVER</A>.
<HR style="width: 100%; height: 2px;">

<H1><A name="XLIM" id="XLIM"></A>XLIM</H1>

<P>
Syntax: <SPAN style="font-style: italic;">XLIM<BR></SPAN>
or <SPAN style="font-style: italic;">XLIM #ch (v2.08+)<BR></SPAN> Location: <SPAN style="font-style: italic;">ATARI_REXT (v1.29+)<BR></SPAN>
This function returns the horizontal size of the screen in
pixels. It can therefore be used to ascertain if the Extended
Mode-4 is present, and if so, the size of the screen available
to the program (ie. 512x256, 768x280 or larger!).

The second variant makes this function the same as <SPAN style="font-style: italic;">SCR_XLIM</SPAN>.


<H3>Example:</H3>

<P>
A program may wish to use the whole of the screen for its

output, adapting itself accordingly:-
<SPAN style="font-style: italic;">100 MAX_WIDTH=XLIM
110 MAX_HEIGHT=YLIM
120 OPEN #1,'CON_'&amp;MAX_WIDTH&amp;'x'&amp;MAX_HEIGHT&amp;'a0x0'<BR></SPAN>

<H3>NOTE:</H3>

<P>
The Pointer Interface must be present in order for <SPAN style="font-style: italic;">XLIM</SPAN> to
work.


<H3>CROSS-REFERENCE:</H3>

<P>
<A style="font-style: italic;" href="KeywordsY.html#YLIM">YLIM</A> returns the maximum screen height.

<A style="font-style: italic;" href="KeywordsQ.html#QFLIM">QFLIM</A> and <A style="font-style: italic;" href="KeywordsS.html#SCR_XLIM">SCR_XLIM</A> are very similar.

Use <A style="font-style: italic;" href="KeywordsQ.html#QRAM$">QRAM$</A> or <A style="font-style: italic;" href="KeywordsW.html#WMAN$">WMAN$</A> to see if the Pointer Environment is
available.
<HR style="width: 100%; height: 2px;">

<H1><A name="XOR" id="XOR"></A>XOR</H1>

<P>
Syntax: <SPAN style="font-style: italic;">condition1 XOR condition2<BR></SPAN> Location: <SPAN style="font-style: italic;">QL ROM<BR></SPAN>
This combination operator combines two condition tests
together and will have the value 0 if both <SPAN style="font-style: italic;">condition1</SPAN> and <SPAN style="font-style: italic;">condition2<BR></SPAN> are true or both are false or 1 if either <SPAN style="font-style: italic;">condition1</SPAN> or <SPAN style="font-style: italic;">condition2<BR></SPAN> are true (but not both).

Please note the difference between this and the bitwise <SPAN style="font-style: italic;">XOR<BR></SPAN> operator: <SPAN style="font-style: italic;">x^^y</SPAN>, which compares <SPAN style="font-style: italic;">x</SPAN> and <SPAN style="font-style: italic;">y</SPAN> bit by bit.


<H3>Examples:</H3>

<P>
<SPAN style="font-style: italic;">PRINT 1 XOR 0</SPAN> Returns 1.

<SPAN style="font-style: italic;">PRINT 2 XOR 10</SPAN> Returns 0.

Compare <SPAN style="font-style: italic;">PRINT 2^^10</SPAN> which returns 8.
<SPAN style="font-style: italic;">10 FOR x=1 TO 5
20 FOR y=1 TO 5
30 IF x=3 XOR y&gt;1 AND y&lt;3:PRINT x;'=&gt;';y,
40 END FOR y
50 END FOR x<BR></SPAN>
produces the following output:

1=&gt;2 2=&gt;2 3=&gt;1 3=&gt;3 3=&gt;4 3=&gt;5 4=&gt;2

5=&gt;2


<H3>CROSS-REFERENCE:</H3>

<P>
<A style="font-style: italic;" href="KeywordsA.html#AND">AND</A>, <A style="font-style: italic;" href="KeywordsO.html#OR">OR</A> and <A style="font-style: italic;" href="KeywordsN.html#NOT">NOT</A> are the other combination operators.
<HR style="width: 100%; height: 2px;">

<H1><A name="X_PTR%" id="X_PTR%"></A>X_PTR%</H1>

<P>
Syntax: <SPAN style="font-style: italic;">X_PTR%<BR></SPAN> Location: <SPAN style="font-style: italic;">KMOUSE, MOUSE (DIY Toolkit - Vol I), Amiga QDOS
v3.20+<BR></SPAN>
This function will return the x co-ordinate of the pointer
which is controlled by the mouse. The value is given in
absolute pixel co-ordinates, with the point 0,0 being the top
left hand corner of the screen.


<H3>CROSS-REFERENCE:</H3>

<P>
See <A style="font-style: italic;" href="KeywordsP.html#PTR_LIMITS">PTR_LIMITS</A> and <A style="font-style: italic;" href="KeywordsP.html#PTR_ON">PTR_ON</A>.

<A style="font-style: italic;" href="KeywordsY.html#Y_PTR%">Y_PTR%</A> reads the y co-ordinate.
</BODY>
</HTML>
45 changes: 45 additions & 0 deletions clean/KeywordsY.clean.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@

<H1><A name="YLIM" id="YLIM"></A>YLIM</H1>

<P>
Syntax: <SPAN style="font-style: italic;">YLIM
<BR></SPAN> or <SPAN style="font-style: italic;">YLIM #ch (v2.08+)<BR></SPAN> Location: <SPAN style="font-style: italic;">ATARI_REXT (v1.29+)<BR></SPAN>
This function returns the vertical size of the screen in
pixels.

The second variant makes this function the same as
<SPAN style="font-style: italic;">SCR_YLIM</SPAN>.


<H3>NOTE:</H3>

<P>
The Pointer Interface must be present for this function to
work.


<H3>CROSS-REFERENCE:</H3>

<P>
See <A style="font-style: italic;" href="KeywordsX.html#XLIM">XLIM</A> for details.
<HR style="width: 100%; height: 2px;">

<H1><A name="Y_PTR%" id="Y_PTR%"></A>Y_PTR%</H1>

<P>
Syntax: <SPAN style="font-style: italic;">Y_PTR%<BR></SPAN> Location: <SPAN style="font-style: italic;">KMOUSE, MOUSE (DIY Toolkit - Vol I), Amiga QDOS
v3.20+<BR></SPAN>
This function will return the y co-ordinate of the pointer
which is controlled by the mouse. The value is given in
absolute pixel co-ordinates, with the point 0,0 being the top
left hand corner of the screen.


<H3>CROSS-REFERENCE:</H3>

<P>
See <A style="font-style: italic;" href="KeywordsP.html#PTR_POS">PTR_POS</A> and <A style="font-style: italic;" href="KeywordsP.html#PTR_MAX">PTR_MAX</A>.

<A style="font-style: italic;" href="KeywordsX.html#X_PTR%">X_PTR%</A> reads the x co-ordinate.
</BODY>
</HTML>
52 changes: 52 additions & 0 deletions clean/KeywordsZ.clean.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@

<H1><A name="ZAP" id="ZAP"></A>ZAP</H1>

<P>
Syntax: <SPAN style="font-style: italic;">ZAP keyword$<BR></SPAN> Location: <SPAN style="font-style: italic;">TinyToolkit<BR></SPAN>
This command removes a given keyword from the name table so
that SuperBASIC is no longer aware of its existence. The code
remains in memory so no memory is freed. A <SPAN style="font-style: italic;">ZAP</SPAN>ped keyword
cannot be recovered without re-loading the code or resetting
the system.


<H3>Example:</H3>

<P>
You try to run a SuperBASIC program but it stops at the

following line:

<SPAN style="font-style: italic;">1120 er=2: es=.9: ET=1.4: eu=0<BR></SPAN>
with error -17. The author used et as a variable because

the <SPAN style="font-style: italic;">ET</SPAN> command was not present when (s)he wrote that

program. The more resident keywords that are present, the

more it is likely that such collisions may occur. <SPAN style="font-style: italic;">ZAP "ET"<BR></SPAN>
and re-loading the program will cure the problem.


<H3>NOTE:</H3>

<P>
It is okay to <SPAN style="font-style: italic;">ZAP</SPAN> incompatible and bug-ridden keywords, but
removing essential keywords like <SPAN style="font-style: italic;">ED</SPAN>, <SPAN style="font-style: italic;">EDIT</SPAN>, <SPAN style="font-style: italic;">AUTO</SPAN>, <SPAN style="font-style: italic;">LIST</SPAN> to stop the
user from editing a program will decrease the QL's
multitasking abilities. Yes, multitasking depends on this
general rule: the more a program influences the whole system
and may affect other programs, the less the computer can
multitask.


<H3>CROSS-REFERENCE:</H3>

<P>
Keywords can be renamed with <A style="font-style: italic;" href="KeywordsN.html#NEW_NAME">NEW_NAME</A>.

<A style="font-style: italic;" href="KeywordsK.html#KEY_RMV">KEY_RMV</A> works in the same way as <A style="font-style: italic;" href="KeywordsZ.html#ZAP">ZAP</A>.

See also <A style="font-style: italic;" href="KeywordsT.html#TINY_RMV">TINY_RMV</A>.
</BODY>
</HTML>
99 changes: 99 additions & 0 deletions clean/Keywords_.clean.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@

<H1><A name="_DEF%" id="_DEF%"></A>_DEF%</H1>

<P>
Syntax: <SPAN style="font-style: italic;">_DEF%</SPAN> [ <SPAN style="font-style: italic;">(#channel)</SPAN> ] Location: <SPAN style="font-style: italic;">DEFS (DIY Toolkit - Vol A)<BR></SPAN>
This function creates a table of all of the SuperBASIC
<SPAN style="font-style: italic;">PROCedure</SPAN>s and <SPAN style="font-style: italic;">FuNction</SPAN>s used within the program currently in
memory. The table appears in the specified CONsole <SPAN style="font-style: italic;">channel</SPAN>, if
any (default #2). You can use the cursor keys to highlight
the required <SPAN style="font-style: italic;">PROCedure</SPAN> or <SPAN style="font-style: italic;">FuNction</SPAN> name and then press &lt;ENTER&gt;, in
which case the function will return the line number of the
program line which contains the relevant <SPAN style="font-style: italic;">DEFine PROCedure</SPAN> or <SPAN style="font-style: italic;">DEFine
FuNction</SPAN>.

If you press the &lt;ESC&gt; key an 'Incomplete' error is caused.
If no <SPAN style="font-style: italic;">PROCedure</SPAN>s or <SPAN style="font-style: italic;">FuNction</SPAN>s are defined, then a 'Not Found' error
is reported.


<H3>Example:</H3>

<P>
<SPAN style="font-style: italic;">ED _DEF%<BR></SPAN>

<H3>CROSS-REFERENCE:</H3>

<P>
<A style="font-style: italic;" href="Keywords_.html#_DEF$">_DEF$</A> and <A style="font-style: italic;" href="Keywords_.html#_NAME$">_NAME$</A> are similar.

<A style="font-style: italic;" href="KeywordsC.html#CODEVEC">CODEVEC</A> returns the machine code base address of a Machine
Code Procedure or Funtion.
<HR style="width: 100%; height: 2px;">

<H1><A name="_DEF$" id="_DEF$"></A>_DEF$</H1>

<P>
Syntax: <SPAN style="font-style: italic;">_DEF$</SPAN> [ <SPAN style="font-style: italic;">(#channel)</SPAN> ] Location: <SPAN style="font-style: italic;">DEFS (DIY Toolkit - Vol A)<BR></SPAN>
This function is similar to <SPAN style="font-style: italic;">_DEF%</SPAN> in that it creates a table
of all of the SuperBASIC <SPAN style="font-style: italic;">PROCedure</SPAN>s and <SPAN style="font-style: italic;">FuNction</SPAN>s used within the
program currently in memory. The table appears in the
specified CONsole <SPAN style="font-style: italic;">channel</SPAN> (if any - default #2). You can use the
cursor keys to highlight the required <SPAN style="font-style: italic;">PROCedure</SPAN> or <SPAN style="font-style: italic;">FuNction</SPAN> name and
then press &lt;ENTER&gt;, in which case the function will return the
selected name of the <SPAN style="font-style: italic;">PROCedure</SPAN> or <SPAN style="font-style: italic;">FuNction</SPAN>.

If you press the &lt;ESC&gt; key an 'Incomplete' error is caused.
If no <SPAN style="font-style: italic;">PROCedure</SPAN>s or <SPAN style="font-style: italic;">FuNction</SPAN>s are defined, then a 'Not Found' error
is reported.


<H3>CROSS-REFERENCE:</H3>

<P>
See <A style="font-style: italic;" href="Keywords_.html#_DEF%">_DEF%</A>

<H3></H3>

<P>
<HR style="width: 100%; height: 2px;">

<H1><A name="_NAME$" id="_NAME$"></A>_NAME$</H1>

<P>
Syntax: <SPAN style="font-style: italic;">_NAME$(offset)<BR></SPAN> Location: <SPAN style="font-style: italic;">DEFS (DIY Toolkit - Vol A)<BR></SPAN>
This function can be used to examine the SuperBASIC name
list, which contains the names of all machine code Procedures,
Functions, variables, SuperBASIC <SPAN style="font-style: italic;">PROCedure</SPAN>s and SuperBASIC <SPAN style="font-style: italic;">FuNction</SPAN>s
which are available to SuperBASIC.


<H3>Example:</H3>

<P>
A program to print out the full name list (this only works

on Minerva and SMSQ/E):
<SPAN style="font-style: italic;">100 nlist_start=PEEK_L (\\ HEX('20'))
110 nlist_end=PEEK_L (\\ HEX('24'))
120 nlist_len=nlist_end-nlist_start
125 names=0
130 FOR i=0 TO nlist_len
140 x$=_NAME$(i)
150 names=names+1+LEN(x$)
155 IF names&gt;nlist_len:EXIT i
160 PRINT i,x$
165 PAUSE
170 END FOR i<BR></SPAN>

<H3>CROSS-REFERENCE:</H3>

<P>
The name list can be tidied up with <A style="font-style: italic;" href="KeywordsC.html#CLEAR">CLEAR</A>.

<A style="font-style: italic;" href="KeywordsE.html#EXTRAS">EXTRAS</A> will list all the machine code Procedures and
Functions.

See also <A style="font-style: italic;" href="KeywordsL.html#LOOKUP%">LOOKUP%</A>.
</BODY>
</HTML>
25 changes: 25 additions & 0 deletions errors/KeywordsX.errors.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
line 22 column 13 - Warning: discarding unexpected </hr>
line 50 column 13 - Warning: discarding unexpected </hr>
line 96 column 265 - Warning: <a> discarding newline in URI reference
line 115 column 25 - Warning: unescaped & which should be written as &amp;
line 115 column 26 - Warning: unescaped & or unknown entity "&8"
line 134 column 23 - Warning: unescaped & or unknown entity "&MAX_WIDTH"
line 134 column 33 - Warning: unescaped & which should be written as &amp;
line 134 column 37 - Warning: unescaped & or unknown entity "&MAX_HEIGHT"
line 134 column 48 - Warning: unescaped & which should be written as &amp;
line 2 column 1 - Warning: <html> proprietary attribute "xmlns:v"
Info: Doctype given is "-//W3C//DTD HTML 4.0 Transitional//EN"
Info: Document content looks like HTML 4.01 Strict
Info: No system identifier in emitted doctype
Tidy found 10 warnings and 0 errors!

About HTML Tidy: https://github.com/htacg/tidy-html5
Bug reports and comments: https://github.com/htacg/tidy-html5/issues
Official mailing list: https://lists.w3.org/Archives/Public/public-htacg/
Latest HTML specification: http://dev.w3.org/html5/spec-author-view/
Validate your HTML documents: http://validator.w3.org/nu/
Lobby your company to join the W3C: http://www.w3.org/Consortium

Do you speak a language other than English, or a different variant of
English? Consider helping us to localize HTML Tidy. For details please see
https://github.com/htacg/tidy-html5/blob/master/README/LOCALIZE.md

0 comments on commit b904cfd

Please sign in to comment.