<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://xc-basic.net/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://xc-basic.net/feed.php">
        <title>XC=BASIC</title>
        <description></description>
        <link>https://xc-basic.net/</link>
        <image rdf:resource="https://xc-basic.net/lib/exe/fetch.php?media=wiki:dokuwiki.svg" />
       <dc:date>2026-09-26T09:50:04+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=xor&amp;rev=1789756469&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=x16_copy_mv&amp;rev=1789756390&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=write&amp;rev=1789756332&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=word&amp;rev=1789756301&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=wait&amp;rev=1789756237&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=vscroll&amp;rev=1789756105&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=vpoke&amp;rev=1789756071&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=vpeek&amp;rev=1789756006&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=volume&amp;rev=1789755932&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=voice&amp;rev=1789755826&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=vmode&amp;rev=1789755420&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=vmemset&amp;rev=1789755246&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=variables&amp;rev=1789755171&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=val&amp;rev=1789755091&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=ucase&amp;rev=1789747484&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=ti&amp;rev=1789746544&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=this&amp;rev=1789746486&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=textat&amp;rev=1789746405&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=tan&amp;rev=1789745977&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=sys&amp;rev=1789745909&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://xc-basic.net/lib/exe/fetch.php?media=wiki:dokuwiki.svg">
        <title>XC=BASIC</title>
        <link>https://xc-basic.net/</link>
        <url>https://xc-basic.net/lib/exe/fetch.php?media=wiki:dokuwiki.svg</url>
    </image>
    <item rdf:about="https://xc-basic.net/doku.php?id=xor&amp;rev=1789756469&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-09-18T18:34:29+00:00</dc:date>
        <dc:creator>jjflash (jjflash@undisclosed.example.com)</dc:creator>
        <title>XOR - [Syntax] </title>
        <link>https://xc-basic.net/doku.php?id=xor&amp;rev=1789756469&amp;do=diff</link>
        <description>XOR

[pet] [vic20] [c64] [c16] [cplus4] [c128] [x16] [m65]

The XOR operator performs a bitwise exclusive-or operation.

Syntax


&lt;operand&gt; XOR &lt;operand&gt;


Both operands can be any type of numeric expression except FLOAT.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=x16_copy_mv&amp;rev=1789756390&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-09-18T18:33:10+00:00</dc:date>
        <dc:creator>jjflash (jjflash@undisclosed.example.com)</dc:creator>
        <title>X16_COPY_MV - [Example] </title>
        <link>https://xc-basic.net/doku.php?id=x16_copy_mv&amp;rev=1789756390&amp;do=diff</link>
        <description>X16_COPY_MV

[x16]

(Defined in x16.bas)

The X16_COPY_MV subroutine copies an area of RAM to the VRAM.

Subroutine header


SUB X16_COPY_MV (srcAddr AS WORD, targetAddr AS LONG, cntBytes AS WORD) _
SHARED STATIC


Where

	*  scrAddr is a number between 0 and 65535 and denotes the start of the memory area in RAM</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=write&amp;rev=1789756332&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-09-18T18:32:12+00:00</dc:date>
        <dc:creator>jjflash (jjflash@undisclosed.example.com)</dc:creator>
        <title>WRITE# - [WRITE#] </title>
        <link>https://xc-basic.net/doku.php?id=write&amp;rev=1789756332&amp;do=diff</link>
        <description>WRITE#

[vic20] [c16] [cplus4] [c64] [c128] [m65]

The WRITE# command is used for saving the contents of a variable to a file. The file must be opened first using OPEN.


WRITE #&lt;logical_file_no&gt;, &lt;expression&gt; [, &lt;exrpession&gt;, ... ]


The WRITE# command is similar to</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=word&amp;rev=1789756301&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-09-18T18:31:41+00:00</dc:date>
        <dc:creator>jjflash (jjflash@undisclosed.example.com)</dc:creator>
        <title>WORD</title>
        <link>https://xc-basic.net/doku.php?id=word&amp;rev=1789756301&amp;do=diff</link>
        <description>WORD

The WORD keyword can be used in several statements to designate a variable or value as a 16-bit unsigned binary number. See Data Types and DIM for more information.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=wait&amp;rev=1789756237&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-09-18T18:30:37+00:00</dc:date>
        <dc:creator>jjflash (jjflash@undisclosed.example.com)</dc:creator>
        <title>WAIT - [Syntax] </title>
        <link>https://xc-basic.net/doku.php?id=wait&amp;rev=1789756237&amp;do=diff</link>
        <description>WAIT

[pet] [vic20] [c64] [c16] [cplus4] [c128] [x16] [m65]

The WAIT command is used to halt the program until the contents of a memory location changes in a specific way.

Syntax


WAIT &lt;address&gt;, &lt;mask&gt; [, &lt;trig&gt;]


The contents of the memory location are first exciusive-ORed with &lt;trig&gt; (if present), and then logically ANDed with &lt;mask&gt;. If the result is zero, the program goes back to that memory location and checks again. When the result is nonzero, the program continues with the next state…</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=vscroll&amp;rev=1789756105&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-09-18T18:28:25+00:00</dc:date>
        <dc:creator>jjflash (jjflash@undisclosed.example.com)</dc:creator>
        <title>VSCROLL - [Syntax] </title>
        <link>https://xc-basic.net/doku.php?id=vscroll&amp;rev=1789756105&amp;do=diff</link>
        <description>VSCROLL

[c64] [c16] [cplus4] [c128] [x16] [m65]

Sets the vertical smooth scrolling value.

Syntax


&#039; On all Commodore platforms:
VSCROLL &lt;px&gt;
&#039; On the Commander X16:
VSCROLL &lt;layer&gt;, &lt;px&gt; 


	*  On [c64] [c16] [cplus4] [c128] [m65], &lt;px&gt; is a value between 0 and 7. The default scroll value is 3. Values below this will move the screen upwards, values above this will move it downwards.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=vpoke&amp;rev=1789756071&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-09-18T18:27:51+00:00</dc:date>
        <dc:creator>jjflash (jjflash@undisclosed.example.com)</dc:creator>
        <title>VPOKE - [Example] </title>
        <link>https://xc-basic.net/doku.php?id=vpoke&amp;rev=1789756071&amp;do=diff</link>
        <description>VPOKE

[x16]

Defined in X16.BAS.

Set a byte in the video address space.

Subroutine header


SUB VPOKE (addr AS LONG, value AS BYTE) SHARED STATIC


Example


INCLUDE &quot;x16.bas&quot;
&#039; SET THE COLORS OF THE CHARACTER
&#039; AT (0,0) TO RED ON WHITE
CALL VPOKE($1B001, 18)</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=vpeek&amp;rev=1789756006&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-09-18T18:26:46+00:00</dc:date>
        <dc:creator>jjflash (jjflash@undisclosed.example.com)</dc:creator>
        <title>VPEEK - [Example] </title>
        <link>https://xc-basic.net/doku.php?id=vpeek&amp;rev=1789756006&amp;do=diff</link>
        <description>VPEEK

[x16]

Defined in X16.BAS.

The VPEEK() function returns the value stored in a VRAM address.

Function header


FUNCTION VPEEK AS BYTE (addr AS LONG) SHARED STATIC


Example


INCLUDE &quot;x16.bas&quot;
PRINT VPEEK($1B000)


See also

	*  VPOKE</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=volume&amp;rev=1789755932&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-09-18T18:25:32+00:00</dc:date>
        <dc:creator>jjflash (jjflash@undisclosed.example.com)</dc:creator>
        <title>VOLUME - [Examples] </title>
        <link>https://xc-basic.net/doku.php?id=volume&amp;rev=1789755932&amp;do=diff</link>
        <description>VOLUME

[vic20] [c64] [c16] [cplus4] [c128] [m65]

Sets the master volume for all voices.

Syntax


VOLUME [&lt;sid_number&gt;,] &lt;volume&gt;


	*  &lt;sid_number&gt; is optional and defines on which SID chip the filter values should be set. If it isn&#039;t provided, it defaults to 1. This parameter is useful on multi-SID systems, for example a C64 equipped with two SID chips, or the M65 that has four SID chips. The number must be between 1 and 4.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=voice&amp;rev=1789755826&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-09-18T18:23:46+00:00</dc:date>
        <dc:creator>jjflash (jjflash@undisclosed.example.com)</dc:creator>
        <title>VOICE - [VOICE VOLUME] </title>
        <link>https://xc-basic.net/doku.php?id=voice&amp;rev=1789755826&amp;do=diff</link>
        <description>VOICE

[vic20] [c64] [c16] [cplus4] [c128] [x16] [m65]

Selects various properties like waveform, tone, filters, etc. of a voice. The command is also used for turning a voice on or off. The command implements a uniform interface to the VIC, TED, SID and VERA chips, however differences between the sound capabilities of these chips must be considered as explained in more details below.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=vmode&amp;rev=1789755420&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-09-18T18:17:00+00:00</dc:date>
        <dc:creator>jjflash (jjflash@undisclosed.example.com)</dc:creator>
        <title>VMODE - [Examples] </title>
        <link>https://xc-basic.net/doku.php?id=vmode&amp;rev=1789755420&amp;do=diff</link>
        <description>VMODE

[c64] [c16] [cplus4] [c128] [x16] [m65]

Selects the video display mode.

Syntax

[c64] [c16] [cplus4] [c128] [m65]


VMODE [TEXT|BITMAP|EXT] [HIRES|MULTI] [ROWS &lt;rows&gt;] [COLS &lt;cols&gt;]


	*  TEXT selects text mode
	*  BITMAP selects bitmap mode</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=vmemset&amp;rev=1789755246&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-09-18T18:14:06+00:00</dc:date>
        <dc:creator>jjflash (jjflash@undisclosed.example.com)</dc:creator>
        <title>VMEMSET - [Example] </title>
        <link>https://xc-basic.net/doku.php?id=vmemset&amp;rev=1789755246&amp;do=diff</link>
        <description>VMEMSET

[x16]

Defined in X16.BAS

Fills an area in the VRAM with the given value.

Subroutine header


SUB VMEMSET (vAddr AS LONG, cntBytes AS WORD, value AS BYTE) SHARED STATIC


Example


INCLUDE &quot;x16.bas&quot;
&#039; Clear the bitmap
CALL VMEMSET(0, 11264, 0)


See also</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=variables&amp;rev=1789755171&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-09-18T18:12:51+00:00</dc:date>
        <dc:creator>jjflash (jjflash@undisclosed.example.com)</dc:creator>
        <title>Variables - [Fast Variables] </title>
        <link>https://xc-basic.net/doku.php?id=variables&amp;rev=1789755171&amp;do=diff</link>
        <description>Variables

XC=BASIC is a statically typed programming language which means that the type of a variable is known at compile time. All variables have a type and that type cannot change.

Defining Variables

In an XC=BASIC program, all variables must be defined before they&#039;re used. Either you define them using the</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=val&amp;rev=1789755091&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-09-18T18:11:31+00:00</dc:date>
        <dc:creator>jjflash (jjflash@undisclosed.example.com)</dc:creator>
        <title>VAL - [Examples] </title>
        <link>https://xc-basic.net/doku.php?id=val&amp;rev=1789755091&amp;do=diff</link>
        <description>VAL

The VAL() function converts a string to a floating point number.

Function header


DECLARE FUNCTION VAL AS FLOAT (instr$ AS STRING) SHARED STATIC INLINE


Examples


DIM pi AS FLOAT
pi = VAL(&quot;3.14159&quot;)</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=ucase&amp;rev=1789747484&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-09-18T16:04:44+00:00</dc:date>
        <dc:creator>jjflash (jjflash@undisclosed.example.com)</dc:creator>
        <title>UCASE$ - [Examples] </title>
        <link>https://xc-basic.net/doku.php?id=ucase&amp;rev=1789747484&amp;do=diff</link>
        <description>UCASE$

The UCASE$() function converts all lowercase letters in a string to their uppercase equivalent.



Function header


DECLARE FUNCTION UCASE$ AS STRING (instr$ AS STRING) SHARED STATIC INLINE


Examples


PRINT CHR$($0e) &#039; switch to lowercase display
PRINT UCASE$(&quot;THE String in UpperCase&quot;) &#039; will output: &quot;THE STRING IN UPPERCASE&quot;</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=ti&amp;rev=1789746544&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-09-18T15:49:04+00:00</dc:date>
        <dc:creator>jjflash (jjflash@undisclosed.example.com)</dc:creator>
        <title>TI - [Examples] </title>
        <link>https://xc-basic.net/doku.php?id=ti&amp;rev=1789746544&amp;do=diff</link>
        <description>TI

[vic20] [c64] [c16] [cplus4] [c128]

The TI() function returns the total count of jiffies (1/60 second time increments) since power-on. It returns the same value as the system variable TI in CBM BASIC.

Header


DECLARE FUNCTION TI AS LONG () SHARED STATIC INLINE</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=this&amp;rev=1789746486&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-09-18T15:48:06+00:00</dc:date>
        <dc:creator>jjflash (jjflash@undisclosed.example.com)</dc:creator>
        <title>THIS - [Example] </title>
        <link>https://xc-basic.net/doku.php?id=this&amp;rev=1789746486&amp;do=diff</link>
        <description>THIS

[pet] [vic20] [c64] [c16] [cplus4] [c128] [x16] [m65]

THIS is a special variable that refers to the instance on which the method was called.

Example


TYPE vector
  x AS INT
  y AS INT
  SUB TRANSLATE(dx AS INT, dy AS INT)
    THIS.x = THIS.x + dx
    THIS.y = THIS.y + dy
  END SUB
END TYPE

DIM v AS vector
v.x = 10 : v.y = 10
CALL v.TRANSLATE(5, 5)
PRINT v.x, v.y</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=textat&amp;rev=1789746405&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-09-18T15:46:45+00:00</dc:date>
        <dc:creator>jjflash (jjflash@undisclosed.example.com)</dc:creator>
        <title>TEXTAT - [See Also] </title>
        <link>https://xc-basic.net/doku.php?id=textat&amp;rev=1789746405&amp;do=diff</link>
        <description>TEXTAT

[pet] [vic20] [c64] [c16] [cplus4] [c128] [x16] [m65]

The TEXTAT command outputs a string at the given X and Y position of the currently selected screen without affecting the cursor position.

Syntax


TEXTAT &lt;x_pos&gt;, &lt;y_pos&gt;, &lt;text&gt; [, &lt;color&gt;]</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=tan&amp;rev=1789745977&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-09-18T15:39:37+00:00</dc:date>
        <dc:creator>jjflash (jjflash@undisclosed.example.com)</dc:creator>
        <title>TAN - [Example] </title>
        <link>https://xc-basic.net/doku.php?id=tan&amp;rev=1789745977&amp;do=diff</link>
        <description>TAN

(Defined in TRIGONO.BAS)

The TAN() function returns the arctangent of the argument. The inverse function of TAN() is ATN.

Function header


DECLARE FUNCTION TAN AS FLOAT (x AS FLOAT) SHARED STATIC


TRIGONO.BAS

Example


INCLUDE &quot;trigono.bas&quot;
PRINT TAN(PI / 4) &#039; outputs a number very close to 1, see below note</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=sys&amp;rev=1789745909&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-09-18T15:38:29+00:00</dc:date>
        <dc:creator>jjflash (jjflash@undisclosed.example.com)</dc:creator>
        <title>SYS - [Examples] </title>
        <link>https://xc-basic.net/doku.php?id=sys&amp;rev=1789745909&amp;do=diff</link>
        <description>SYS

[pet] [vic20] [c64] [c16] [cplus4] [c128] [x16] [m65]

The SYS commands calls a machine language subroutine at the specified address.

Syntax


SYS &lt;address&gt; [FAST]


If used without the FAST directive, SYS will do the same as in CBM BASIC, that is, it will load the accumulator, the X and the Y register, and the status register from addresses $030C-$030F (on C64 and VIC-20) or $07F2-$07F5 (on CPlus/4 and C16) before the call. When the subroutine exits,</description>
    </item>
</rdf:RDF>
