<?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 v3</title>
        <description></description>
        <link>https://xc-basic.net/</link>
        <image rdf:resource="https://xc-basic.net/lib/tpl/writr/images/favicon.ico" />
       <dc:date>2026-04-07T08:01:03+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:abs&amp;rev=1685466280&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:address-of&amp;rev=1685367513&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:and&amp;rev=1685367533&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:as&amp;rev=1637674305&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:asc&amp;rev=1685466292&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:asm&amp;rev=1685367571&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:atn&amp;rev=1685466302&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:background&amp;rev=1685367858&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:border&amp;rev=1685367949&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:byte&amp;rev=1637744610&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:call&amp;rev=1685367974&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:cbyte&amp;rev=1685466316&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:cfloat&amp;rev=1685466345&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:charat&amp;rev=1685380720&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:charset&amp;rev=1685381168&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:chr&amp;rev=1685466356&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:cint&amp;rev=1685466366&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:clock_day&amp;rev=1672401730&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:clock_hour&amp;rev=1672401912&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:clock_min&amp;rev=1672403007&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:clock_month&amp;rev=1672400970&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:clock_sec&amp;rev=1672403035&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:clock_year&amp;rev=1672400481&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:clong&amp;rev=1685466378&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:close&amp;rev=1635055128&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:code_modules&amp;rev=1642782947&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:commanderx16_support&amp;rev=1672511018&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:const&amp;rev=1685381646&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:continue&amp;rev=1685381663&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:cos&amp;rev=1685466396&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:csrlin&amp;rev=1685466414&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:cword&amp;rev=1685466426&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:data&amp;rev=1685381681&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:datatypes&amp;rev=1656101121&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:decimal&amp;rev=1637672811&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:declare&amp;rev=1685381728&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:deek&amp;rev=1685466992&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:dim&amp;rev=1691067291&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:do&amp;rev=1685381819&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:doke&amp;rev=1685381834&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:else&amp;rev=1637675251&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:end&amp;rev=1685381884&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:entropy&amp;rev=1672396191&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:err&amp;rev=1685466448&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:error_handling&amp;rev=1662907317&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:error&amp;rev=1685381964&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:exit&amp;rev=1637744194&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:exp&amp;rev=1685466461&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:expressions&amp;rev=1722372682&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:fast&amp;rev=1633977737&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:fileio&amp;rev=1685367270&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:filter&amp;rev=1685383042&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:float&amp;rev=1637744709&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:flowcontrol&amp;rev=1642792021&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:for&amp;rev=1685383086&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:function&amp;rev=1685383101&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:functionref&amp;rev=1692703979&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:functions&amp;rev=1644223862&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:get_hash&amp;rev=1685383269&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:get&amp;rev=1685383134&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:gosub&amp;rev=1685384755&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:goto&amp;rev=1685384784&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:hscroll&amp;rev=1685384824&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:if&amp;rev=1685384880&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:incbin&amp;rev=1637747293&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:include&amp;rev=1637747178&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:inline&amp;rev=1637747292&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:input_hash&amp;rev=1685385000&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:input&amp;rev=1685384981&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:installation_and_usage&amp;rev=1647158386&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:int_keyword&amp;rev=1637744825&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:int&amp;rev=1692703952&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:interrupts&amp;rev=1685367463&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:joy&amp;rev=1685466688&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:key&amp;rev=1685466779&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:keyboard_scancodes&amp;rev=1774379524&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:keywordref&amp;rev=1678910166&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:keywordtemp&amp;rev=1629821783&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:lcase&amp;rev=1685466796&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:left&amp;rev=1685466805&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:len&amp;rev=1685466815&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:let&amp;rev=1685385062&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:libraryref&amp;rev=1703059403&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:load&amp;rev=1685385103&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:locate&amp;rev=1685385164&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:log&amp;rev=1685466826&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:long&amp;rev=1637744972&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:memcpy&amp;rev=1685385379&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:memcpymv&amp;rev=1672347607&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:memcpyvm&amp;rev=1672347634&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:memory_model&amp;rev=1720029140&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:memset&amp;rev=1685385365&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:memshift&amp;rev=1685385348&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:mid&amp;rev=1685466843&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:mod&amp;rev=1685385392&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:mousebtn&amp;rev=1672395873&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:mouseoff&amp;rev=1672395917&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:mouseon&amp;rev=1672395888&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:mousex&amp;rev=1672395981&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:mousey&amp;rev=1672400482&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:not&amp;rev=1685387975&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:on&amp;rev=1685385473&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:open&amp;rev=1685385501&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:operators&amp;rev=1688457200&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:option&amp;rev=1685385562&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:or&amp;rev=1685385604&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:origin&amp;rev=1685385631&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:overload&amp;rev=1685385655&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:peek&amp;rev=1685467188&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:petscii_escape_sequences&amp;rev=1643187701&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:poke&amp;rev=1685386611&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:pos&amp;rev=1685466968&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:pow&amp;rev=1685466979&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:preprocessing&amp;rev=1647951089&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:print_hash&amp;rev=1685387438&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:print&amp;rev=1685387380&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:private&amp;rev=1685387505&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:put&amp;rev=1634825276&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:randomize&amp;rev=1685387520&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:read&amp;rev=1685387945&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:rem&amp;rev=1685387974&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:return&amp;rev=1637749797&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:right&amp;rev=1685467202&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:rnd&amp;rev=1685467213&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:rndb&amp;rev=1685467230&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:rndi&amp;rev=1685467239&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:rndl&amp;rev=1685467250&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:rndw&amp;rev=1685467263&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:save&amp;rev=1685388004&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:scan&amp;rev=1685467279&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:screen&amp;rev=1672337982&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:select&amp;rev=1685388020&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:setclock&amp;rev=1672347175&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:sgn&amp;rev=1685467292&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:shared&amp;rev=1685388126&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:shl&amp;rev=1685467315&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:showcase&amp;rev=1717914700&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:shr&amp;rev=1685467344&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:sidebar&amp;rev=1672515841&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:sin&amp;rev=1685467354&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:sound_clear&amp;rev=1685388312&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:sprite_clear_hit&amp;rev=1685388280&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:sprite_multicolor&amp;rev=1685388294&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:sprite&amp;rev=1685815671&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:spritebghit&amp;rev=1685467368&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:spritehit&amp;rev=1685467431&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:sprites&amp;rev=1658463887&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:sqr&amp;rev=1685467442&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:st&amp;rev=1635054308&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:start&amp;rev=1771661949&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:static&amp;rev=1637834671&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:str&amp;rev=1685467457&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:string&amp;rev=1637748142&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:strings&amp;rev=1644659133&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:sub&amp;rev=1685388349&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:subroutines&amp;rev=1722372191&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:swap&amp;rev=1685388362&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:syntax&amp;rev=1678910863&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:sys&amp;rev=1685465633&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:tan&amp;rev=1685467467&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:textat&amp;rev=1685465616&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:this&amp;rev=1685465654&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:ti&amp;rev=1672517381&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:trigono.bas&amp;rev=1634417460&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:type&amp;rev=1685465675&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:ucase&amp;rev=1685467490&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:udt&amp;rev=1637563608&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:val&amp;rev=1685467532&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:variables&amp;rev=1672336436&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:vmemset&amp;rev=1672389874&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:vmode&amp;rev=1685448215&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:voice&amp;rev=1685460149&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:volume&amp;rev=1685466180&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:vpeek&amp;rev=1672403199&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:vpoke&amp;rev=1672347816&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:vscroll&amp;rev=1685466214&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:wait&amp;rev=1685466233&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:word&amp;rev=1637744912&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:write&amp;rev=1685466251&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:x16_copy_mv&amp;rev=1672051751&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:x16.bas&amp;rev=1672346446&amp;do=diff"/>
                <rdf:li rdf:resource="https://xc-basic.net/doku.php?id=v3:xor&amp;rev=1685466266&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://xc-basic.net/lib/tpl/writr/images/favicon.ico">
        <title>XC=BASIC</title>
        <link>https://xc-basic.net/</link>
        <url>https://xc-basic.net/lib/tpl/writr/images/favicon.ico</url>
    </image>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:abs&amp;rev=1685466280&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:04:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ABS</title>
        <link>https://xc-basic.net/doku.php?id=v3:abs&amp;rev=1685466280&amp;do=diff</link>
        <description>ABS

The ABS() function returns the absolute value of the passed numeric parameter.

Function Header
DECLARE FUNCTION ABS AS BYTE (num AS BYTE) SHARED STATIC INLINE
DECLARE FUNCTION ABS AS INT (num AS INT) OVERLOAD SHARED STATIC INLINE
DECLARE FUNCTION ABS AS WORD (num AS WORD) OVERLOAD SHARED STATIC INLINE
DECLARE FUNCTION ABS AS LONG (num AS LONG) OVERLOAD SHARED STATIC INLINE
DECLARE FUNCTION ABS AS FLOAT (num AS FLOAT) OVERLOAD SHARED STATIC INLINE</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:address-of&amp;rev=1685367513&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T15:38:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>@ (address of)</title>
        <link>https://xc-basic.net/doku.php?id=v3:address-of&amp;rev=1685367513&amp;do=diff</link>
        <description>@ (address of)

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

@ (address of) is a unary operator that resolves the memory address of a variable or label. The address is returned as a WORD.

Examples
DIM x AS INT
PRINT &quot;x resides at address &quot;; @x

DIM y(3) AS LONG
PRINT &quot;array member addresses: &quot;; @y(0), @y(1), @y(2)

mylab:
PRINT &quot;this code piece starts at &quot;; @mylab</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:and&amp;rev=1685367533&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T15:38:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>AND</title>
        <link>https://xc-basic.net/doku.php?id=v3:and&amp;rev=1685367533&amp;do=diff</link>
        <description>AND

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

The AND operator performs a bitwise AND operation.

Syntax
&lt;operand&gt; AND &lt;operand&gt;
Both operands can be any type of numeric expression, except FLOAT.

Examples
PRINT 1 AND 0 : REM outputs 0
IF x &gt;= 0 AND x &lt;= 10 THEN PRINT &quot;x is between 0 and 10&quot;</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:as&amp;rev=1637674305&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-23T14:31:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>AS</title>
        <link>https://xc-basic.net/doku.php?id=v3:as&amp;rev=1637674305&amp;do=diff</link>
        <description>AS

The AS keyword is generally used to define the type of a variable or parameter. It may appear as part of the below commands:

	*  DATA
	*  DIM
	*  FOR
	*  FUNCTION
	*  SUB</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:asc&amp;rev=1685466292&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:04:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ASC</title>
        <link>https://xc-basic.net/doku.php?id=v3:asc&amp;rev=1685466292&amp;do=diff</link>
        <description>ASC

The ASC() function takes the first char of a string and returns its numeric PETSCII code. If an empty string is provided, the function will return 0.

The inverse function of ASC() is CHR$.

Function Header
DECLARE FUNCTION ASC AS BYTE (char$ AS STRING) SHARED STATIC INLINE</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:asm&amp;rev=1685367571&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T15:39:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ASM</title>
        <link>https://xc-basic.net/doku.php?id=v3:asm&amp;rev=1685367571&amp;do=diff</link>
        <description>ASM

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

Syntax
ASM 
  &lt;assembly code&gt;
  &lt;assembly code&gt;
END ASM
The ASM directive injects bare 6502 assembly code into the compiled XC=BASIC code without any modification. As XC=BASIC itself produces</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:atn&amp;rev=1685466302&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:05:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ATN</title>
        <link>https://xc-basic.net/doku.php?id=v3:atn&amp;rev=1685466302&amp;do=diff</link>
        <description>ATN

(Defined in TRIGONO.BAS)

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

Function header
DECLARE FUNCTION ATN AS FLOAT (x AS FLOAT) SHARED STATIC
TRIGONO.BAS

Example
INCLUDE &quot;trigono.bas&quot;
PRINT ATN(0.5) : REM will output 0.464088</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:background&amp;rev=1685367858&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T15:44:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>BACKGROUND</title>
        <link>https://xc-basic.net/doku.php?id=v3:background&amp;rev=1685367858&amp;do=diff</link>
        <description>BACKGROUND

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

Sets the background color.

Syntax
BACKGROUND &lt;color&gt;
BACKGROUND &lt;color&gt;, &lt;luminance&gt;
	*  &lt;color&gt; is the color code. The accepted values are:
		*  0 - 7 for [vic20]
		*  0 - 15 for [c64] [c16] [cplus4]</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:border&amp;rev=1685367949&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T15:45:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>BORDER</title>
        <link>https://xc-basic.net/doku.php?id=v3:border&amp;rev=1685367949&amp;do=diff</link>
        <description>BORDER

[v3.1] [vic20] [c64] [c16] [cplus4] [c128] [x16] [m65]

Sets the border color.

Syntax
BORDER &lt;color&gt;
BORDER &lt;color&gt;, &lt;luminance&gt;
	*  &lt;color&gt; is the color code. The accepted values are:
		*  0 - 7 for [vic20]
		*  0 - 15 for [c64] [c16] [cplus4]</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:byte&amp;rev=1637744610&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-24T10:03:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>BYTE</title>
        <link>https://xc-basic.net/doku.php?id=v3:byte&amp;rev=1637744610&amp;do=diff</link>
        <description>BYTE

The BYTE keyword can be used in several statements to designate a variable or value as an 8-bit unsigned binary number. See Data Types and DIM for more information.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:call&amp;rev=1685367974&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T15:46:14+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>CALL</title>
        <link>https://xc-basic.net/doku.php?id=v3:call&amp;rev=1685367974&amp;do=diff</link>
        <description>CALL

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

The CALL command executes a subroutine.

Syntax
CALL &lt;subroutine_name&gt; ([&lt;param&gt; [, &lt;param&gt;, ...]])
The called subroutine must be defined or forward declared before it can be called. See the Subroutines page for more information.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:cbyte&amp;rev=1685466316&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:05:16+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>CBYTE</title>
        <link>https://xc-basic.net/doku.php?id=v3:cbyte&amp;rev=1685466316&amp;do=diff</link>
        <description>CBYTE

The CBYTE() function converts its argument to an unsigned 8-bit byte value.

Function header
DECLARE FUNCTION CBYTE AS BYTE (arg AS INT) SHARED STATIC INLINE
DECLARE FUNCTION CBYTE AS BYTE (arg AS WORD) OVERLOAD SHARED STATIC INLINE
DECLARE FUNCTION CBYTE AS BYTE (arg AS LONG) OVERLOAD SHARED STATIC INLINE
DECLARE FUNCTION CBYTE AS BYTE (arg AS FLOAT) OVERLOAD SHARED STATIC INLINE</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:cfloat&amp;rev=1685466345&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:05:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>CFLOAT</title>
        <link>https://xc-basic.net/doku.php?id=v3:cfloat&amp;rev=1685466345&amp;do=diff</link>
        <description>CFLOAT

The CFLOAT() function converts its argument to a floating point value.

Function header
DECLARE FUNCTION CFLOAT AS FLOAT (number AS BYTE) SHARED STATIC INLINE
DECLARE FUNCTION CFLOAT AS FLOAT (number AS INT) OVERLOAD SHARED STATIC INLINE
DECLARE FUNCTION CFLOAT AS FLOAT (number AS WORD) OVERLOAD SHARED STATIC INLINE
DECLARE FUNCTION CFLOAT AS FLOAT (number AS LONG) OVERLOAD SHARED STATIC INLINE</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:charat&amp;rev=1685380720&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T19:18:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>CHARAT</title>
        <link>https://xc-basic.net/doku.php?id=v3:charat&amp;rev=1685380720&amp;do=diff</link>
        <description>CHARAT

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

The CHARAT command outputs a single character at the given X and Y position of the currently selected screen without affecting the cursor position.

Syntax
CHARAT &lt;x_pos&gt;, &lt;y_pos&gt;, &lt;screencode&gt; [, &lt;color&gt;]</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:charset&amp;rev=1685381168&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T19:26:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>CHARSET</title>
        <link>https://xc-basic.net/doku.php?id=v3:charset&amp;rev=1685381168&amp;do=diff</link>
        <description>CHARSET

[v3.1] [vic20] [c64] [c16] [cplus4] [c128] [x16] [m65]

The CHARSET command tells the display chip where to look for the character set. 

Syntax
CHARSET [RAM|ROM] &lt;value&gt;
Changing the character set is slightly different on each platform.

Commodore 64 and 128</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:chr&amp;rev=1685466356&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:05:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>CHR$</title>
        <link>https://xc-basic.net/doku.php?id=v3:chr&amp;rev=1685466356&amp;do=diff</link>
        <description>CHR$

The CHR$() function converts a number between 0 and 255 to its matching PETSCII character (as string).

The inverse function of CHR$() is ASC.

Function header
DECLARE FUNCTION CHR$ AS STRING (charcode AS BYTE) SHARED STATIC INLINE
Examples
PRINT CHR$(147): REM clear the screen</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:cint&amp;rev=1685466366&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:06:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>CINT</title>
        <link>https://xc-basic.net/doku.php?id=v3:cint&amp;rev=1685466366&amp;do=diff</link>
        <description>CINT

The CINT() function converts its argument to a signed 16-bit value.

Function header
DECLARE FUNCTION CINT AS INT (number AS BYTE) SHARED STATIC INLINE
DECLARE FUNCTION CINT AS INT (number AS WORD) OVERLOAD SHARED STATIC INLINE
DECLARE FUNCTION CINT AS INT (number AS LONG) OVERLOAD SHARED STATIC INLINE
DECLARE FUNCTION CINT AS INT (number AS FLOAT) OVERLOAD SHARED STATIC INLINE</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:clock_day&amp;rev=1672401730&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-30T13:02:10+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>CLOCK_DAY</title>
        <link>https://xc-basic.net/doku.php?id=v3:clock_day&amp;rev=1672401730&amp;do=diff</link>
        <description>CLOCK_DAY

[x16]

Defined in X16.BAS.

Returns the day portion of the current date/time, a number between 1 and 31.

Function header
FUNCTION CLOCK_DAY AS BYTE () SHARED STATIC
Example
INCLUDE &quot;x16.bas&quot;
day = CLOCK_DAY()
PRINT &quot;today is the &quot;; day;
IF d = 1 THEN PRINT &quot;st&quot; : END
IF d = 2 THEN PRINT &quot;nd&quot; : END
IF d = 3 THEN PRINT &quot;rd&quot; : END
PRINT &quot;th&quot; : END</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:clock_hour&amp;rev=1672401912&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-30T13:05:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>CLOCK_HOUR</title>
        <link>https://xc-basic.net/doku.php?id=v3:clock_hour&amp;rev=1672401912&amp;do=diff</link>
        <description>CLOCK_HOUR

[x16]

Defined in X16.BAS.

Returns the hour portion of the current date/time, a number between 0 and 23.

Function header
FUNCTION CLOCK_HOUR AS BYTE () SHARED STATIC
Example
INCLUDE &quot;x16.bas&quot;

DIM k AS BYTE
DECLARE FUNCTION PAD$ AS STRING * 2 (num AS BYTE) STATIC

' Set clock to 2022-12-30 12:56:00
CALL SETCLOCK(122, 12, 30, 12, 56, 0)

PRINT &quot;{CLR}&quot;
PRINT &quot;displaying clock. press any key to exit&quot;
  
DO
  PRINT &quot;{HOME}&quot;; PAD$(CLOCK_HOUR());
  PRINT &quot;:&quot;; PAD$(CLOCK_MIN());
  PRINT &quot;…</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:clock_min&amp;rev=1672403007&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-30T13:23:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>CLOCK_MIN</title>
        <link>https://xc-basic.net/doku.php?id=v3:clock_min&amp;rev=1672403007&amp;do=diff</link>
        <description>CLOCK_MIN

[x16]

Defined in X16.BAS.

Returns the minutes portion of the current date/time, a number between 0 and 59.

Function header
FUNCTION CLOCK_MIN AS BYTE () SHARED STATIC
Example
INCLUDE &quot;x16.bas&quot;

DIM k AS BYTE
DECLARE FUNCTION PAD$ AS STRING * 2 (num AS BYTE) STATIC

' Set clock to 2022-12-30 12:56:00
CALL SETCLOCK(122, 12, 30, 12, 56, 0)

PRINT &quot;{CLR}&quot;
PRINT &quot;displaying clock. press any key to exit&quot;
  
DO
  PRINT &quot;{HOME}&quot;; PAD$(CLOCK_HOUR());
  PRINT &quot;:&quot;; PAD$(CLOCK_MIN());
  PRINT …</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:clock_month&amp;rev=1672400970&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-30T12:49:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>CLOCK_MONTH</title>
        <link>https://xc-basic.net/doku.php?id=v3:clock_month&amp;rev=1672400970&amp;do=diff</link>
        <description>CLOCK_MONTH

[x16]

Defined in X16.BAS.

Returns the month portion of the current date/time, a number between 1 and 12.

Function header
FUNCTION CLOCK_MONTH AS BYTE () SHARED STATIC
Example
INCLUDE &quot;x16.bas&quot;
DIM monthname$(12) AS STRING * 9 @strdata
PRINT &quot;it is &quot;; monthname$(CLOCK_MONTH() - 1)
END

strdata:
DATA AS STRING * 9 &quot;january&quot;, &quot;february&quot;, &quot;march&quot;, _
                   &quot;april&quot;, &quot;may&quot;, &quot;june&quot;, &quot;july&quot;, _
                   &quot;august&quot;, &quot;september&quot;, &quot;october&quot;, _
                   &quot;november…</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:clock_sec&amp;rev=1672403035&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-30T13:23:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>CLOCK_SEC</title>
        <link>https://xc-basic.net/doku.php?id=v3:clock_sec&amp;rev=1672403035&amp;do=diff</link>
        <description>CLOCK_SEC

[x16]

Defined in X16.BAS.

Returns the seconds portion of the current date/time, a number between 0 and 59.

Function header
FUNCTION CLOCK_SEC AS BYTE () SHARED STATIC
Example
INCLUDE &quot;x16.bas&quot;

DIM k AS BYTE
DECLARE FUNCTION PAD$ AS STRING * 2 (num AS BYTE) STATIC

' Set clock to 2022-12-30 12:56:00
CALL SETCLOCK(122, 12, 30, 12, 56, 0)

PRINT &quot;{CLR}&quot;
PRINT &quot;displaying clock. press any key to exit&quot;
  
DO
  PRINT &quot;{HOME}&quot;; PAD$(CLOCK_HOUR());
  PRINT &quot;:&quot;; PAD$(CLOCK_MIN());
  PRINT …</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:clock_year&amp;rev=1672400481&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-30T12:41:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>CLOCK_YEAR</title>
        <link>https://xc-basic.net/doku.php?id=v3:clock_year&amp;rev=1672400481&amp;do=diff</link>
        <description>CLOCK_YEAR

[x16]

Defined in X16.BAS.

Returns the year (1900-based) portion of the current date/time.

Function header
FUNCTION CLOCK_YEAR AS BYTE () SHARED STATIC
Example
INCLUDE &quot;x16.bas&quot;
PRINT &quot;the year is &quot;; CLOCK_YEAR() + 1900
See also

	*  SETCLOCK
	*  CLOCK_MONTH
	*</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:clong&amp;rev=1685466378&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:06:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>CLONG</title>
        <link>https://xc-basic.net/doku.php?id=v3:clong&amp;rev=1685466378&amp;do=diff</link>
        <description>CLONG

The CLONG() function converts its argument to a signed 24-bit value.

Function header
DECLARE FUNCTION CLONG AS LONG (number AS BYTE) SHARED STATIC INLINE
DECLARE FUNCTION CLONG AS LONG (number AS INT) OVERLOAD SHARED STATIC INLINE
DECLARE FUNCTION CLONG AS LONG (number AS WORD) OVERLOAD SHARED STATIC INLINE
DECLARE FUNCTION CLONG AS LONG (number AS FLOAT) OVERLOAD SHARED STATIC INLINE</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:close&amp;rev=1635055128&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-24T07:58:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>CLOSE</title>
        <link>https://xc-basic.net/doku.php?id=v3:close&amp;rev=1635055128&amp;do=diff</link>
        <description>CLOSE

The CLOSE command is used for closing a currently opened file.

Syntax
CLOSE &lt;logical_file_no&gt;
See also

	*  OPEN</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:code_modules&amp;rev=1642782947&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-01-21T17:35:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Code Modules</title>
        <link>https://xc-basic.net/doku.php?id=v3:code_modules&amp;rev=1642782947&amp;do=diff</link>
        <description>Code Modules

A Code Module (or simply module) is a file containing XC=BASIC statements. An XC=BASIC program consists of one or more modules.

.bas.bas

Although completely optional, it is a good idea to organize code in multiple modules for better readability and maintainability if the program is growing exceedingly large.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:commanderx16_support&amp;rev=1672511018&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-31T19:23:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Commander X16 support</title>
        <link>https://xc-basic.net/doku.php?id=v3:commanderx16_support&amp;rev=1672511018&amp;do=diff</link>
        <description>Commander X16 support

XC=BASIC can compile programs to the Commander X16 from version 3.2.x16-beta. Mostly everything that has been part of the core language is ported to the [x16], including sprites, sound and interrupts. In addition, a new library is available to the user to exploit some of the additional features that this machine offers.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:const&amp;rev=1685381646&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T19:34:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>CONST</title>
        <link>https://xc-basic.net/doku.php?id=v3:const&amp;rev=1685381646&amp;do=diff</link>
        <description>CONST

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

The const directive defines a constant. Constants are named values that exist in compile-time only and are replaced with their numeric value in runtime.

Syntax
[SHARED] CONST &lt;name&gt; = &lt;value&gt;</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:continue&amp;rev=1685381663&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T19:34:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>CONTINUE</title>
        <link>https://xc-basic.net/doku.php?id=v3:continue&amp;rev=1685381663&amp;do=diff</link>
        <description>CONTINUE

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

The CONTINUE keyword is used for skipping the rest of a FOR ... NEXT or DO ... LOOP block and go to the next iteration.

Syntax
CONTINUE [FOR|DO]

When used without the FOR or DO keyword,</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:cos&amp;rev=1685466396&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:06:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>COS</title>
        <link>https://xc-basic.net/doku.php?id=v3:cos&amp;rev=1685466396&amp;do=diff</link>
        <description>COS

(Defined in TRIGONO.BAS)

The COS() function returns the cosine of the argument.

Function Header
DECLARE FUNCTION COS AS FLOAT (arg AS FLOAT) SHARED STATIC

TRIGONO.BAS

Examples
INCLUDE &quot;trigono.bas&quot;
PRINT COS(0) : REM outputs .999403
PRINT COS(0.785398) : REM outputs .707704</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:csrlin&amp;rev=1685466414&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:06:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>CSRLIN</title>
        <link>https://xc-basic.net/doku.php?id=v3:csrlin&amp;rev=1685466414&amp;do=diff</link>
        <description>CSRLIN

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

The CSRLIN() function returns the current row position of the cursor.

Function header
DECLARE FUNCTION CSRLIN AS BYTE () SHARED STATIC INLINE
Example
PRINT &quot;the cursor is currently in row &quot;; CSRLIN()</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:cword&amp;rev=1685466426&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:07:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>CWORD</title>
        <link>https://xc-basic.net/doku.php?id=v3:cword&amp;rev=1685466426&amp;do=diff</link>
        <description>CWORD

The CWORD() function converts its argument to an unsigned 16-bit value.

Function header
DECLARE FUNCTION CWORD AS WORD (number AS BYTE) SHARED STATIC INLINE
DECLARE FUNCTION CWORD AS WORD (number AS INT) OVERLOAD SHARED STATIC INLINE
DECLARE FUNCTION CWORD AS WORD (number AS LONG) OVERLOAD SHARED STATIC INLINE
DECLARE FUNCTION CWORD AS WORD (number AS FLOAT) OVERLOAD SHARED STATIC INLINE</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:data&amp;rev=1685381681&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T19:34:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>DATA</title>
        <link>https://xc-basic.net/doku.php?id=v3:data&amp;rev=1685381681&amp;do=diff</link>
        <description>DATA

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

The DATA directive marks an area where numeric or string literal values are stored.

Syntax
DATA AS &lt;type&gt; &lt;value&gt; [, &lt;value&gt; ...]
The DATA statement in XC=BASIC is different from the one in CBM BASIC. In XC=BASIC, there's no</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:datatypes&amp;rev=1656101121&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-06-24T22:05:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Data Types</title>
        <link>https://xc-basic.net/doku.php?id=v3:datatypes&amp;rev=1656101121&amp;do=diff</link>
        <description>Data Types

XC=BASIC offers 7 built-in data types (also called primitive types):
Type   Numeric range                                        Size in bytesBYTE   0 to 255                                              1          INT -32,768 to 32,767</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:decimal&amp;rev=1637672811&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-23T14:06:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>DECIMAL</title>
        <link>https://xc-basic.net/doku.php?id=v3:decimal&amp;rev=1637672811&amp;do=diff</link>
        <description>DECIMAL

The DECIMAL keyword can be used in several statements to designate a variable or value as a 4-digit binary-coded decimal (BCD) number. See Data Types and DIM for more information.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:declare&amp;rev=1685381728&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T19:35:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>DECLARE</title>
        <link>https://xc-basic.net/doku.php?id=v3:declare&amp;rev=1685381728&amp;do=diff</link>
        <description>DECLARE

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

The declare keyword forward-declares a subroutine or function.

Syntax
DECLARE SUB &lt;name&gt; ([arg1 AS &lt;type&gt; [, arg2 AS &lt;type&gt;, ... ]]) [OVERRIDE] [STATIC] [SHARED]
DECLARE FUNCTION &lt;name&gt; AS &lt;type&gt; ([arg1 AS &lt;type&gt; [, arg2 AS &lt;type&gt;, ... ]]) [OVERRIDE] [STATIC] [SHARED]</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:deek&amp;rev=1685466992&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:16:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>DEEK</title>
        <link>https://xc-basic.net/doku.php?id=v3:deek&amp;rev=1685466992&amp;do=diff</link>
        <description>DEEK

The DEEK() function returns the content of the specified memory address plus one, as a 16-bit WORD. The return value is a number between 0 and 65535.

Function declaration
DECLARE FUNCTION DEEK AS WORD (address AS WORD) SHARED STATIC INLINE
' MEGA65 only
DECLARE FUNCTION DEEK AS WORD (address AS LONG) OVERLOAD SHARED STATIC INLINE</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:dim&amp;rev=1691067291&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-03T14:54:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>DIM</title>
        <link>https://xc-basic.net/doku.php?id=v3:dim&amp;rev=1691067291&amp;do=diff</link>
        <description>DIM

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

DIM is used for defining variables and arrays.

Syntax
DIM|STATIC [SHARED] [FAST] _
&lt;variable name&gt;[(&lt;array dimensions&gt;)] AS &lt;type&gt; [@&lt;address&gt;] _
[, &lt;variable name&gt;[(&lt;array dimensions&gt;)] AS &lt;type&gt; [@&lt;address&gt;] ... ] _
[SHARED] [FAST]</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:do&amp;rev=1685381819&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T19:36:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>DO</title>
        <link>https://xc-basic.net/doku.php?id=v3:do&amp;rev=1685381819&amp;do=diff</link>
        <description>DO

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

The DO ... LOOP block defines a pre-test or post-test loop.

Pre-test syntax
DO WHILE|UNTIL &lt;condition&gt;
  &lt;statements&gt;
LOOP
Post-test syntax
DO
  &lt;statements&gt;
LOOP WHILE|UNTIL &lt;condition&gt;
The former is used to test the condition before entering the loop body and the latter is used to test the condition after each iteration. This effectively means that post-test loop will be executed at least once, whereas in a pre-test loop the condition…</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:doke&amp;rev=1685381834&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T19:37:14+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>DOKE</title>
        <link>https://xc-basic.net/doku.php?id=v3:doke&amp;rev=1685381834&amp;do=diff</link>
        <description>DOKE

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

Syntax
DOKE &lt;address&gt;, &lt;value&gt;
The DOKE command stores a 16-bit value (WORD or INT) in two consecutive bytes at the given memory address.

Examples
DOKE $C000, 1986 ' Will store the value to $C000-$C001
PRINT DEEK($C000)</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:else&amp;rev=1637675251&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-23T14:47:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ELSE</title>
        <link>https://xc-basic.net/doku.php?id=v3:else&amp;rev=1637675251&amp;do=diff</link>
        <description>ELSE

ELSE marks the fail branch of an IF block. See IF.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:end&amp;rev=1685381884&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T19:38:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>END</title>
        <link>https://xc-basic.net/doku.php?id=v3:end&amp;rev=1685381884&amp;do=diff</link>
        <description>END

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

Syntax
END
END ASM
END FUNCTION
END IF
END SUB
END TYPE
The END command terminates the execution of the program immediately. It can be used within the normal program flow and/or (optionally) at the very end of the program.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:entropy&amp;rev=1672396191&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-30T11:29:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ENTROPY</title>
        <link>https://xc-basic.net/doku.php?id=v3:entropy&amp;rev=1672396191&amp;do=diff</link>
        <description>ENTROPY

[x16]

Defined in X16.BAS.

Returns a (somewhat) random 24-bit number that can serve as the seed for the RANDOMIZE command.

Function header
FUNCTION ENTROPY AS LONG () SHARED STATIC
Example
' Display a sequence of 10 random numbers
RANDOMIZE ENTROPY()
FOR i AS BYTE = 1 TO 10
  PRINT RND()
NEXT</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:err&amp;rev=1685466448&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:07:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ERR</title>
        <link>https://xc-basic.net/doku.php?id=v3:err&amp;rev=1685466448&amp;do=diff</link>
        <description>ERR

The ERR() function returns the code of the last emitted error. It can be used in an error handling routine.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:error_handling&amp;rev=1662907317&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-11T16:41:57+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Error Handling</title>
        <link>https://xc-basic.net/doku.php?id=v3:error_handling&amp;rev=1662907317&amp;do=diff</link>
        <description>Error Handling

Defining an error handling routine

Starting from XC=BASIC version 3, certain runtime errors are trappable using the ON ERROR GOTO statement. You can specify a custom error handling routine that makes it possible to recover from errors when needed. The following example demonstrates this functionality:</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:error&amp;rev=1685381964&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T19:39:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ERROR</title>
        <link>https://xc-basic.net/doku.php?id=v3:error&amp;rev=1685381964&amp;do=diff</link>
        <description>ERROR

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

The ERROR command triggers a runtime error. Errors can be trapped using the ON ERROR GOTO statement.

Syntax
ERROR &lt;error_code&gt;
Where &lt;error_code&gt; is a number between 0 and 255.

See also</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:exit&amp;rev=1637744194&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-24T09:56:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>EXIT</title>
        <link>https://xc-basic.net/doku.php?id=v3:exit&amp;rev=1637744194&amp;do=diff</link>
        <description>EXIT

The EXIT keyword has multiple usages:

	*  EXIT DO exits a DO loop
	*  EXIT FOR exits a FOR loop
	*  EXIT FUNCTION exits a FUNCTION
	*  EXIT SUB exits a SUB</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:exp&amp;rev=1685466461&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:07:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>EXP</title>
        <link>https://xc-basic.net/doku.php?id=v3:exp&amp;rev=1685466461&amp;do=diff</link>
        <description>EXP

EXP() is a mathematical function that evaluates the inverse natural logarithm of the argument, that is, the constant e (approx. 2.71828) raised to the power of the number given.

Function header
DECLARE FUNCTION EXP AS FLOAT (num AS FLOAT) SHARED STATIC INLINE</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:expressions&amp;rev=1722372682&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-07-30T22:51:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Arithmetic expressions</title>
        <link>https://xc-basic.net/doku.php?id=v3:expressions&amp;rev=1722372682&amp;do=diff</link>
        <description>Arithmetic expressions

When no parentheses are present, arithmetic expressions are evaluated from left to right, with multiplication and division having a higher priority than addition and subtraction.

The following table explains operator precedence in XC=BASIC:</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:fast&amp;rev=1633977737&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-11T20:42:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>FAST</title>
        <link>https://xc-basic.net/doku.php?id=v3:fast&amp;rev=1633977737&amp;do=diff</link>
        <description>FAST

The FAST keyword can be used:

	*  In a DIM statement to instruct the compiler to assign a zeropage address to the variable
	*  In a SYS statement in order to skip fetching registers before and after the system call</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:fileio&amp;rev=1685367270&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T15:34:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>File I/O</title>
        <link>https://xc-basic.net/doku.php?id=v3:fileio&amp;rev=1685367270&amp;do=diff</link>
        <description>File I/O

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

File input-output in XC=BASIC was designed to be mostly compatible with CBM BASIC so that the same commands can be used for opening, reading from and writing to files. Since XC=BASIC is a strongly typed language, and therefore it comes with restrictions, there are some small differences to be aware of. Those differences are explained on each command's reference page.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:filter&amp;rev=1685383042&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T19:57:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>FILTER</title>
        <link>https://xc-basic.net/doku.php?id=v3:filter&amp;rev=1685383042&amp;do=diff</link>
        <description>FILTER

[c64] [c128] [m65]

Selects various sound filter properties.

Syntax
FILTER [&lt;sid_number&gt;] &lt;subcmd&gt; [&lt;subcmd&gt; ...]
	*  &lt;sid_number&gt; is optional and defines on which SID chip the filter values should be set. If it isn't provided, it defaults to 1. This parameter is useful on multi-SID systems, for example a</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:float&amp;rev=1637744709&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-24T10:05:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>FLOAT</title>
        <link>https://xc-basic.net/doku.php?id=v3:float&amp;rev=1637744709&amp;do=diff</link>
        <description>FLOAT

The FLOAT keyword can be used in several statements to designate a variable or value as a 32-bit floating point number. See Data Types and DIM for more information.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:flowcontrol&amp;rev=1642792021&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-01-21T20:07:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Control Flow Statements</title>
        <link>https://xc-basic.net/doku.php?id=v3:flowcontrol&amp;rev=1642792021&amp;do=diff</link>
        <description>Control Flow Statements

Conditional branching

With the IF statement you can test a condition and then run code based on whether the condition test passed or failed.
IF &lt;condition&gt; THEN
    &lt;statements&gt;
END IF
The IF clause runs the statements under it when the</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:for&amp;rev=1685383086&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T19:58:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>FOR</title>
        <link>https://xc-basic.net/doku.php?id=v3:for&amp;rev=1685383086&amp;do=diff</link>
        <description>FOR

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

Syntax
FOR &lt;varname&gt; [AS &lt;type&gt;] = &lt;start_value&gt; TO &lt;end_value&gt; [STEP &lt;step_value&gt;]
  &lt;statements&gt;
NEXT [&lt;varname&gt;]
The FOR ... NEXT loop initializes a counter variable and executes the statements in the block until the counter variable equals the value in the</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:function&amp;rev=1685383101&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T19:58:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>FUNCTION</title>
        <link>https://xc-basic.net/doku.php?id=v3:function&amp;rev=1685383101&amp;do=diff</link>
        <description>FUNCTION

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

The FUNCTION keyword starts a function block.

Syntax
FUNCTION &lt;name&gt; AS &lt;type&gt; ([&lt;arg&gt; AS &lt;type&gt;[, &lt;arg&gt; AS &lt;type&gt;]...]) [OVERLOAD] [PRIVATE|SHARED] [STATIC]
  &lt;statements&gt;
END FUNCTION</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:functionref&amp;rev=1692703979&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-22T13:32:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Function Reference</title>
        <link>https://xc-basic.net/doku.php?id=v3:functionref&amp;rev=1692703979&amp;do=diff</link>
        <description>Function Reference

Functions A-Z



	*  ABS
	*  ASC
	*  ATN
	*  CBYTE
	*  CFLOAT
	*  CHR$
	*  CINT
	*  CLONG
	*  COS
	*  CSRLIN
	*  CWORD
	*  DEEK
	*  ERR
	*  EXP
	*  FLOOR
	*  JOY
	*  KEY
	*  LCASE$
	*  LEFT$
	*  LEN
	*  LOG
	*  MID$
	*  PEEK
	*  POS
	*  POW
	*  RIGHT$
	*  RND
	*  RNDB
	*  RNDI
	*  RNDL
	*  RNDW
	*  SCAN
	*  SGN
	*  SHL
	*  SHR
	*  SIN
	*  SPRITEBGHIT
	*  SPRITEHIT
	*  SQR
	*  ST
	*  STR$
	*  TAN
	*</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:functions&amp;rev=1644223862&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-02-07T09:51:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Functions</title>
        <link>https://xc-basic.net/doku.php?id=v3:functions&amp;rev=1644223862&amp;do=diff</link>
        <description>Functions

Functions in XC=BASIC are essentially the same as Subroutines, with one important difference: functions must return a value. Everything else that is described on the previous page is true for functions and will not be repeated here.

Defining the return type

A function must always return a type, that is, the type of the value that it returns. You must define the return type in the function definition line using the</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:get_hash&amp;rev=1685383269&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T20:01:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>GET#</title>
        <link>https://xc-basic.net/doku.php?id=v3:get_hash&amp;rev=1685383269&amp;do=diff</link>
        <description>GET#

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

The GET# statement is used to read a single character from a file. The file must be opened beforehand with the same logical file number, using the OPEN statement.

Syntax
GET #&lt;logical file no&gt;, &lt;variable&gt;</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:get&amp;rev=1685383134&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T19:58:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>GET</title>
        <link>https://xc-basic.net/doku.php?id=v3:get&amp;rev=1685383134&amp;do=diff</link>
        <description>GET

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

Syntax
GET &lt;variable&gt;
The GET commands reads a single character from the keyboard buffer and assigns it to the given variable.

	*  If the variable is a of a numeric type, it will be assigned the numeric PETSCII code of the character,</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:gosub&amp;rev=1685384755&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T20:25:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>GOSUB</title>
        <link>https://xc-basic.net/doku.php?id=v3:gosub&amp;rev=1685384755&amp;do=diff</link>
        <description>GOSUB

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

Syntax
GOSUB &lt;label&gt;
The GOSUB command calls a subroutine marked by a label. RETURN will pass control back to the caller. 

Subroutines

Example
REM ** subroutines **
GOSUB first_routine
END
	
first_routine:
  PRINT &quot;hello world&quot;
  GOSUB second_routine
  RETURN
		
second_routine:
  PRINT &quot;and hello again&quot;
  RETURN</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:goto&amp;rev=1685384784&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T20:26:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>GOTO</title>
        <link>https://xc-basic.net/doku.php?id=v3:goto&amp;rev=1685384784&amp;do=diff</link>
        <description>GOTO

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

The GOTO command is used for jumping to a labelled code point.

Syntax
GOTO &lt;label&gt;
See also

	*  GOSUB</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:hscroll&amp;rev=1685384824&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T20:27:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>HSCROLL</title>
        <link>https://xc-basic.net/doku.php?id=v3:hscroll&amp;rev=1685384824&amp;do=diff</link>
        <description>HSCROLL

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

Sets the horizontal smooth scrolling value.

Syntax
' On all Commodore platforms and the MEGA65:
HSCROLL &lt;px&gt;
' On the Commander X16:
HSCROLL &lt;layer&gt;, &lt;px&gt; 
	*  On [c64] [c16] [cplus4] [c128] [m65], &lt;px&gt;</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:if&amp;rev=1685384880&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T20:28:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>IF</title>
        <link>https://xc-basic.net/doku.php?id=v3:if&amp;rev=1685384880&amp;do=diff</link>
        <description>IF

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

Conditional statements can be run using IF ... ELSE ... END IF blocks.

Single-line syntax
IF &lt;condition&gt; THEN &lt;statements&gt; [ELSE &lt;statements&gt;]
Block syntax
IF &lt;condition&gt; THEN
  &lt;statements&gt;
[ELSE
  &lt;statements&gt;]
END IF</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:incbin&amp;rev=1637747293&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-24T10:48:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>INCBIN</title>
        <link>https://xc-basic.net/doku.php?id=v3:incbin&amp;rev=1637747293&amp;do=diff</link>
        <description>INCBIN

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

Include raw binary data in the compiled program.

Syntax
INCBIN &quot;path/to/binary_file&quot;
The INCBIN directive instructs the assembler to include a custom binary file. This is useful to include graphics, music or any kind of data - even machine code routines - in your program. The included file must be a path relative to the folder where the code module is.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:include&amp;rev=1637747178&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-24T10:46:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>INCLUDE</title>
        <link>https://xc-basic.net/doku.php?id=v3:include&amp;rev=1637747178&amp;do=diff</link>
        <description>INCLUDE

Syntax
INCLUDE &quot;path/to/filename.bas&quot;

The INCLUDE directive instructs the compiler to fetch the contents of another source file and include it in the current source. Nested includes are supported. The path must be a relative path to the current source file.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:inline&amp;rev=1637747292&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-24T10:48:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>INLINE</title>
        <link>https://xc-basic.net/doku.php?id=v3:inline&amp;rev=1637747292&amp;do=diff</link>
        <description>INLINE

INLINE is a reserved word that is not intended to be used in userland code.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:input_hash&amp;rev=1685385000&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T20:30:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>INPUT#</title>
        <link>https://xc-basic.net/doku.php?id=v3:input_hash&amp;rev=1685385000&amp;do=diff</link>
        <description>INPUT#

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

The INPUT# command is used for reading strings from a file, into one or more variables. The file must be opened beforehand using the OPEN command.

Syntax
INPUT #&lt;logical file number&gt;, &lt;variable&gt; [, &lt;variable&gt;] ...</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:input&amp;rev=1685384981&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T20:29:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>INPUT</title>
        <link>https://xc-basic.net/doku.php?id=v3:input&amp;rev=1685384981&amp;do=diff</link>
        <description>INPUT

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

Read a string from the keyboard.

Syntax
INPUT [&quot;prompt&quot;;] &lt;variable&gt; [;]
Variable must be a pre-defined STRING.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:installation_and_usage&amp;rev=1647158386&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-03-13T08:59:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Installation and Usage</title>
        <link>https://xc-basic.net/doku.php?id=v3:installation_and_usage&amp;rev=1647158386&amp;do=diff</link>
        <description>Installation and Usage

Prerequisites

	*  XC=BASIC is a console application and therefore you need to understand at least the very basics of using the console of your choice, e. g. executing commands, changing directories, copying files, etc.
	*  XC=BASIC depends on</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:int_keyword&amp;rev=1637744825&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-24T10:07:05+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>INT</title>
        <link>https://xc-basic.net/doku.php?id=v3:int_keyword&amp;rev=1637744825&amp;do=diff</link>
        <description>INT

The INT keyword can be used in several statements to designate a variable or value as a 16-bit signed binary number. See Data Types and DIM for more information.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:int&amp;rev=1692703952&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-22T13:32:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>FLOOR</title>
        <link>https://xc-basic.net/doku.php?id=v3:int&amp;rev=1692703952&amp;do=diff</link>
        <description>FLOOR

The FLOOR() function returns the integer part of a floating point value, also as a floating point number.

INT()INT

Function header
DECLARE FUNCTION FLOOR AS FLOAT (num AS FLOAT) SHARED STATIC INLINE
Example
PRINT FLOOR(3.14159) : REM outputs 3</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:interrupts&amp;rev=1685367463&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T15:37:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Interrupts</title>
        <link>https://xc-basic.net/doku.php?id=v3:interrupts&amp;rev=1685367463&amp;do=diff</link>
        <description>Interrupts

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

XC=BASIC allows you to set up interrupting rules and write routines that handle interrupts. The supported interrupt types are:

	*  Timer interrupts, issued after every &lt;N&gt; processor cycles where &lt;N&gt; is a value between 1 and 65535 (supported on all targets)</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:joy&amp;rev=1685466688&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:11:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>JOY</title>
        <link>https://xc-basic.net/doku.php?id=v3:joy&amp;rev=1685466688&amp;do=diff</link>
        <description>JOY

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

The JOY() function returns the status of either joysticks.

Function header
DECLARE FUNCTION JOY AS BYTE (portnum AS BYTE) SHARED STATIC INLINE
Where portnum is an expression that evaluates to 1 or 2.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:key&amp;rev=1685466779&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:12:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>KEY</title>
        <link>https://xc-basic.net/doku.php?id=v3:key&amp;rev=1685466779&amp;do=diff</link>
        <description>KEY

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

The KEY() function tests whether a specified key is being depressed on the keyboard.

Function declaration
DECLARE FUNCTION _
KEY AS BYTE (scancode AS WORD) SHARED STATIC INLINE
For the list of scan codes on particular platforms, see</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:keyboard_scancodes&amp;rev=1774379524&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-24T20:12:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Keyboard scan codes</title>
        <link>https://xc-basic.net/doku.php?id=v3:keyboard_scancodes&amp;rev=1774379524&amp;do=diff</link>
        <description>Keyboard scan codes

Since version 3.1.13, keyboard scan codes are available as predefined constants for some targets. All you need to do is INCLUDE the keyboard definition for the platform you're targeting. For example:
INCLUDE &quot;keycodes_c64.bas&quot; ' For the Commodore-64
PRINT &quot;press f1&quot;
DO UNTIL KEY(KEY_F1) &lt;&gt; 0 
LOOP</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:keywordref&amp;rev=1678910166&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-03-15T20:56:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Keyword Reference</title>
        <link>https://xc-basic.net/doku.php?id=v3:keywordref&amp;rev=1678910166&amp;do=diff</link>
        <description>Keyword Reference

The following reserved keywords form the basic vocabulary of the language. The keywords may be spelled with either upper or lower case letters, or a mix of both. Therefore PRINT, print and Print are equivalent.

Keywords A-Z



	*</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:keywordtemp&amp;rev=1629821783&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-08-24T18:16:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>KEYWORD</title>
        <link>https://xc-basic.net/doku.php?id=v3:keywordtemp&amp;rev=1629821783&amp;do=diff</link>
        <description>KEYWORD

Syntax
KEYWORD &quot;and how it operates&quot;
Text here describes the KEYWORD directive/command/statement and what it does.

Examples
REM -- use the KEYWORD in code
This text talks about the above code and offers further explanation if needed.





Additional Details</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:lcase&amp;rev=1685466796&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:13:16+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LCASE$</title>
        <link>https://xc-basic.net/doku.php?id=v3:lcase&amp;rev=1685466796&amp;do=diff</link>
        <description>LCASE$

The LCASE$() function converts all uppercase letters in its argument to their lowercase equivalent.



Function header
DECLARE FUNCTION LCASE$ AS STRING (instr$ AS STRING) SHARED STATIC INLINE
Examples
PRINT CHR$($0e) : REM switch to lowercase display
PRINT LCASE$(&quot;THE String in LowerCase&quot;) : REM will output: &quot;the string in lowercase&quot;</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:left&amp;rev=1685466805&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:13:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LEFT$</title>
        <link>https://xc-basic.net/doku.php?id=v3:left&amp;rev=1685466805&amp;do=diff</link>
        <description>LEFT$

The LEFT$() function returns the specified number of characters from the left side of a string.

Syntax
LEFT$(&lt;input$&gt;, &lt;n&gt;)
&lt;n&gt; is the number of chars to be returned. If it is greater than the string length then the entire string will be returned.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:len&amp;rev=1685466815&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:13:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LEN</title>
        <link>https://xc-basic.net/doku.php?id=v3:len&amp;rev=1685466815&amp;do=diff</link>
        <description>LEN

The LEN() function counts the number of characters in a string.

Function header
DECLARE FUNCTION LEN AS BYTE (arg$ AS STRING) SHARED STATIC INLINE
If the argument is a variable, the function will return the actual length of the string, rather than the length to which the variable was defined.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:let&amp;rev=1685385062&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T20:31:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LET</title>
        <link>https://xc-basic.net/doku.php?id=v3:let&amp;rev=1685385062&amp;do=diff</link>
        <description>LET

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

Syntax
[LET] &lt;variable&gt; = &lt;expression&gt;
The LET command assigns the value of an expression to a variable.

Examples
' DIM some variables and assign values to them
DIM x AS BYTE
DIM y(10) AS INT
LET x = 5
LET y(2) = x * 2</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:libraryref&amp;rev=1703059403&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-20T09:03:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Library Reference</title>
        <link>https://xc-basic.net/doku.php?id=v3:libraryref&amp;rev=1703059403&amp;do=diff</link>
        <description>Library Reference

Libraries are sets of Subroutines and/or Functions that are written in XC=BASIC or assembly language and provide shared functionality to be used in your program.

Built-in Libraries

The following libraries are packaged with XC=BASIC:

	*  TRIGONO.BAS - library that implements fundamental trigonometric functions</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:load&amp;rev=1685385103&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T20:31:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LOAD</title>
        <link>https://xc-basic.net/doku.php?id=v3:load&amp;rev=1685385103&amp;do=diff</link>
        <description>LOAD

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

Load a file from tape or disk to memory.

Syntax
LOAD &lt;filename&gt;, &lt;device_no&gt; [, &lt;start_address&gt;]

The LOAD command loads a binary file from the given device into memory using the KERNAL load routine.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:locate&amp;rev=1685385164&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T20:32:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LOCATE</title>
        <link>https://xc-basic.net/doku.php?id=v3:locate&amp;rev=1685385164&amp;do=diff</link>
        <description>LOCATE

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

The LOCATE command is used to set the cursor position.

Syntax
LOCATE &lt;x_pos&gt;, &lt;y_pos&gt;</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:log&amp;rev=1685466826&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:13:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LOG</title>
        <link>https://xc-basic.net/doku.php?id=v3:log&amp;rev=1685466826&amp;do=diff</link>
        <description>LOG

The LOG() function returns the natural logarithm (log to the base of e) of the argument.

Function header
DECLARE FUNCTION LOG AS FLOAT (num AS FLOAT) SHARED STATIC INLINE
Examples
PRINT LOG(1.0) : REM outputs a number very close to zero
PRINT LOG(10.0) : REM outputs 2.30259
PRINT LOG(100.0) / LOG(10.0) : REM outputs 2</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:long&amp;rev=1637744972&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-24T10:09:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LONG</title>
        <link>https://xc-basic.net/doku.php?id=v3:long&amp;rev=1637744972&amp;do=diff</link>
        <description>LONG

The LONG keyword can be used in several statements to designate a variable or value as a 24-bit signed binary number. See Data Types and DIM for more information.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:memcpy&amp;rev=1685385379&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T20:36:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>MEMCPY</title>
        <link>https://xc-basic.net/doku.php?id=v3:memcpy&amp;rev=1685385379&amp;do=diff</link>
        <description>MEMCPY

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

Syntax
MEMCPY &lt;source_address&gt;, &lt;destination_address&gt;, &lt;length&gt;

The MEMCPY command calls a built-in routine that copies length number bytes in memory from source_address to destination_address</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:memcpymv&amp;rev=1672347607&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-29T22:00:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>MEMCPYMV</title>
        <link>https://xc-basic.net/doku.php?id=v3:memcpymv&amp;rev=1672347607&amp;do=diff</link>
        <description>MEMCPYMV

[x16]

Defined in X16.BAS.

MEMCPYMV is a subroutine that copies an area from RAM to the VRAM.

Subroutine header
SUB MEMCPYMV (_
  srcAddr AS WORD, _
  targetAddr AS LONG, _
  cntBytes AS WORD _
) SHARED STATIC
Example
INCLUDE &quot;x16.bas&quot;
' Copy 1k of data from RAM address $0400
' to VRAM address $10000
CALL MEMCPYMV($0400, $10000, 1024)</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:memcpyvm&amp;rev=1672347634&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-29T22:00:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>MEMCPYVM</title>
        <link>https://xc-basic.net/doku.php?id=v3:memcpyvm&amp;rev=1672347634&amp;do=diff</link>
        <description>MEMCPYVM

[x16]

Defined in X16.BAS.

MEMCPYVM is a subroutine that copies an area from VRAM to RAM.

Subroutine header
SUB MEMCPYVM (srcAddr AS LONG, targetAddr AS WORD, cntBytes AS WORD) SHARED STATIC
Example
INCLUDE &quot;x16.bas&quot;
CALL MEMCPYVM($10000, $0400, 1024) ' Copies 1k of data from address $10000 of the VRAM to RAM address $0400</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:memory_model&amp;rev=1720029140&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-07-03T19:52:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Memory model</title>
        <link>https://xc-basic.net/doku.php?id=v3:memory_model&amp;rev=1720029140&amp;do=diff</link>
        <description>Memory model

The following addresses are subject to change. Visit this page for updates.

Zeropage

[pet] [vic20] [c64] [c16] [cplus4] [c128] [m65]
 $02-$14     19 bytes      XC=BASIC Virtual Registers         $15-$3A     38 bytes      Floating point workspace</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:memset&amp;rev=1685385365&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T20:36:05+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>MEMSET</title>
        <link>https://xc-basic.net/doku.php?id=v3:memset&amp;rev=1685385365&amp;do=diff</link>
        <description>MEMSET

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

Syntax:
MEMSET &lt;source_address&gt;, &lt;length&gt;, &lt;fill_value&gt;
The MEMSET command calls a built-in routine that sets length number of bytes in memory to fill_value starting from source_address.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:memshift&amp;rev=1685385348&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T20:35:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>MEMSHIFT</title>
        <link>https://xc-basic.net/doku.php?id=v3:memshift&amp;rev=1685385348&amp;do=diff</link>
        <description>MEMSHIFT

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

Syntax
MEMSHIFT &lt;source_address&gt;, &lt;destination_address&gt;, &lt;length&gt;

The MEMSHIFT command calls a built-in routine that copies length number bytes in memory from source_address to destination_address</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:mid&amp;rev=1685466843&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:14:03+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>MID$</title>
        <link>https://xc-basic.net/doku.php?id=v3:mid&amp;rev=1685466843&amp;do=diff</link>
        <description>MID$

The MID$() funcition returns &lt;length&gt; characters from a sring, starting from &lt;position&gt;.

Syntax
MID$(&lt;input$&gt;, &lt;position&gt;,  &lt;length&gt;)


Example
DIM in$ AS STRING * 30
in$ = &quot;xc=basic programming language&quot;
PRINT MID$(in$, 9, 11) : REM outputs: programming</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:mod&amp;rev=1685385392&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T20:36:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>MOD</title>
        <link>https://xc-basic.net/doku.php?id=v3:mod&amp;rev=1685385392&amp;do=diff</link>
        <description>MOD

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

The MOD (“modulo”) operator solves the remainder of a division, after one number is divided by another.

Syntax
&lt;dividend&gt; MOD &lt;divisor&gt;
Examples
PRINT 5 MOD 2 : REM outputs 1
The above expression evaluates to 1, because 5 divided by 2 has a quotient of 2 and a remainder of 1.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:mousebtn&amp;rev=1672395873&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-30T11:24:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>MOUSEBTN</title>
        <link>https://xc-basic.net/doku.php?id=v3:mousebtn&amp;rev=1672395873&amp;do=diff</link>
        <description>MOUSEBTN

[x16]

Defined in X16.BAS.

Returns the mouse button state as a BYTE.

Function header
FUNCTION MOUSEBTN AS BYTE () SHARED STATIC
	*  If the left button is pressed, Bit #0 is set
	*  If the right button is pressed, Bit #1 is set
	*  If the middle button is pressed, Bit #2 is set</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:mouseoff&amp;rev=1672395917&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-30T11:25:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>MOUSEOFF</title>
        <link>https://xc-basic.net/doku.php?id=v3:mouseoff&amp;rev=1672395917&amp;do=diff</link>
        <description>MOUSEOFF

[x16]

Defined in X16.BAS.

Turns the mouse pointer off.

Subroutine header
SUB MOUSEOFF () SHARED STATIC
Example
INCLUDE &quot;x16.bas&quot;
DIM btn AS BYTE
CALL MOUSEON()
PRINT &quot;click left or middle button to get position&quot;
PRINT &quot;or right button to exit&quot;
DO
  btn = MOUSEBTN()
  ' No button
  IF btn = 0 THEN CONTINUE DO
  ' Right button
  IF btn AND 2 THEN CALL MOUSEOFF() : END 
  ' Any other button(s)
  PRINT &quot;x: &quot;; MOUSEX(), &quot;y: &quot;; MOUSEY()
  ' Now wait until the button is released
  DO : LOO…</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:mouseon&amp;rev=1672395888&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-30T11:24:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>MOUSEON</title>
        <link>https://xc-basic.net/doku.php?id=v3:mouseon&amp;rev=1672395888&amp;do=diff</link>
        <description>MOUSEON

[x16]

Defined in X16.BAS.

Turns the mouse pointer on.

Subroutine header
SUB MOUSEON () SHARED STATIC
Example
INCLUDE &quot;x16.bas&quot;
DIM btn AS BYTE
CALL MOUSEON()
PRINT &quot;click left or middle button to get position&quot;
PRINT &quot;or right button to exit&quot;
DO
  btn = MOUSEBTN()
  ' No button
  IF btn = 0 THEN CONTINUE DO
  ' Right button
  IF btn AND 2 THEN CALL MOUSEOFF() : END 
  ' Any other button(s)
  PRINT &quot;x: &quot;; MOUSEX(), &quot;y: &quot;; MOUSEY()
  ' Now wait until the button is released
  DO : LOOP U…</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:mousex&amp;rev=1672395981&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-30T11:26:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>MOUSEX</title>
        <link>https://xc-basic.net/doku.php?id=v3:mousex&amp;rev=1672395981&amp;do=diff</link>
        <description>MOUSEX

[x16]

Defined in X16.BAS.

Returns the X position of the mouse pointer.

Function header
FUNCTION MOUSEX AS WORD () SHARED STATIC
Example
INCLUDE &quot;x16.bas&quot;
DIM btn AS BYTE
CALL MOUSEON()
PRINT &quot;click left or middle button to get position&quot;
PRINT &quot;or right button to exit&quot;
DO
  btn = MOUSEBTN()
  ' No button
  IF btn = 0 THEN CONTINUE DO
  ' Right button
  IF btn AND 2 THEN CALL MOUSEOFF() : END 
  ' Any other button(s)
  PRINT &quot;x: &quot;; MOUSEX(), &quot;y: &quot;; MOUSEY()
  ' Now wait until the button…</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:mousey&amp;rev=1672400482&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-30T12:41:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>MOUSEY</title>
        <link>https://xc-basic.net/doku.php?id=v3:mousey&amp;rev=1672400482&amp;do=diff</link>
        <description>MOUSEY

[x16]

Defined in X16.BAS.

Returns the Y position of the mouse pointer.

Function header
FUNCTION MOUSEY AS WORD () SHARED STATIC
Example
INCLUDE &quot;x16.bas&quot;
DIM btn AS BYTE
CALL MOUSEON()
PRINT &quot;click left or middle button to get position&quot;
PRINT &quot;or right button to exit&quot;
DO
  btn = MOUSEBTN()
  ' No button
  IF btn = 0 THEN CONTINUE DO
  ' Right button
  IF btn AND 2 THEN CALL MOUSEOFF() : END 
  ' Any other button(s)
  PRINT &quot;x: &quot;; MOUSEX(), &quot;y: &quot;; MOUSEY()
  ' Now wait until the button…</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:not&amp;rev=1685387975&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T21:19:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>NOT</title>
        <link>https://xc-basic.net/doku.php?id=v3:not&amp;rev=1685387975&amp;do=diff</link>
        <description>NOT

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

The unary NOT operator performs a bitwise negation operation.

Syntax
NOT &lt;expression&gt;
The expression can be any type of numeric expression, except FLOAT.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:on&amp;rev=1685385473&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T20:37:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ON</title>
        <link>https://xc-basic.net/doku.php?id=v3:on&amp;rev=1685385473&amp;do=diff</link>
        <description>ON

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

The ON ... GOTO|GOSUB construct has multiple use cases:

	*  ON &lt;value&gt; GOTO|GOSUB is used for multiple branching
	*  ON ERROR GOTO is used for error trapping
	*  ON &lt;event&gt; GOSUB is used for interrupt handling</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:open&amp;rev=1685385501&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T20:38:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>OPEN</title>
        <link>https://xc-basic.net/doku.php?id=v3:open&amp;rev=1685385501&amp;do=diff</link>
        <description>OPEN

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

The OPEN command opens a logical file.

Syntax
OPEN &lt;logical_no&gt; [, &lt;device_no&gt; [, &lt;secondary_address&gt; [, &lt;filename&gt; ]]]</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:operators&amp;rev=1688457200&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-07-04T09:53:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Operators</title>
        <link>https://xc-basic.net/doku.php?id=v3:operators&amp;rev=1688457200&amp;do=diff</link>
        <description>Operators

XC=BASIC provides the following operators:

Arithmetic Operators

	*  * (multiplication)
	*  / (division)
	*  MOD (modulo)
	*  + (addition or string concatenation)
	*  - (subtraction)

Operands for the arithmetic operators can be any numeric expressions, with the exception of</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:option&amp;rev=1685385562&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T20:39:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>OPTION</title>
        <link>https://xc-basic.net/doku.php?id=v3:option&amp;rev=1685385562&amp;do=diff</link>
        <description>OPTION

The OPTION directive sets various compilation options. Most of these options can be set from the command line as well. The OPTION directive gets higher priority than command line options.

Syntax
OPTION &lt;option_name&gt; [= &lt;value&gt;]


Examples

To set the target machine, use:</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:or&amp;rev=1685385604&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T20:40:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>OR</title>
        <link>https://xc-basic.net/doku.php?id=v3:or&amp;rev=1685385604&amp;do=diff</link>
        <description>OR

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

The OR operator performs a bitwise OR operation.

Syntax
&lt;operand&gt; OR &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=v3:origin&amp;rev=1685385631&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T20:40:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ORIGIN</title>
        <link>https://xc-basic.net/doku.php?id=v3:origin&amp;rev=1685385631&amp;do=diff</link>
        <description>ORIGIN

Syntax
ORIGIN &lt;address&gt;
The ORIGIN command instructs the assembler to compile subsequent code starting from an address other than the current address.

	*  If the new address is less than the current address, the program won't compile.
	*  If the new address is greater than the current address, the gap between the current and new address will be filled in with $FF bytes.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:overload&amp;rev=1685385655&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T20:40:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>OVERLOAD</title>
        <link>https://xc-basic.net/doku.php?id=v3:overload&amp;rev=1685385655&amp;do=diff</link>
        <description>OVERLOAD

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

The OVERLOAD keyword denotes that the subroutine or function overloads another one with the same name. See SUB and FUNCTION for details.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:peek&amp;rev=1685467188&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:19:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>PEEK</title>
        <link>https://xc-basic.net/doku.php?id=v3:peek&amp;rev=1685467188&amp;do=diff</link>
        <description>PEEK

The PEEK() function returns the content of the specified memory address. The return value is a number between 0 and 255.

Function declaration
DECLARE FUNCTION PEEK AS BYTE (address AS WORD) SHARED STATIC INLINE
' MEGA65 only
DECLARE FUNCTION PEEK AS BYTE (address AS LONG) OVERRIDE SHARED STATIC INLINE</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:petscii_escape_sequences&amp;rev=1643187701&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-01-26T10:01:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>PETSCII escape sequences</title>
        <link>https://xc-basic.net/doku.php?id=v3:petscii_escape_sequences&amp;rev=1643187701&amp;do=diff</link>
        <description>PETSCII escape sequences
 Sequence       Alias(es)         Value{ARROW_LEFT} {ARROW LEFT}  $5f{ARROW_UP} {ARROW UP}  $5e{BLACK}   $90{BLUE}   $1f{BROWN}   $95{CLR} {CLEAR}  $93{CRSR_DOWN} {DOWN}  $11{CRSR_LEFT} {LEFT}  $9d{CRSR_RIGHT} {RIGHT}  $1d{CRSR_UP}</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:poke&amp;rev=1685386611&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T20:56:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>POKE</title>
        <link>https://xc-basic.net/doku.php?id=v3:poke&amp;rev=1685386611&amp;do=diff</link>
        <description>POKE

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

Syntax
POKE &lt;address&gt;, &lt;value&gt;
The POKE command stores a value into the given memory address.

Examples
REM ** turn border to black **
POKE 53280, 0
See also

	*  PEEK</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:pos&amp;rev=1685466968&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:16:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>POS</title>
        <link>https://xc-basic.net/doku.php?id=v3:pos&amp;rev=1685466968&amp;do=diff</link>
        <description>POS

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

The POS() function returns the current column position of the cursor.

Function header
DECLARE FUNCTION POS AS BYTE () SHARED STATIC INLINE
Example
PRINT &quot;after printing this text{13}the cursor will be in column: &quot;;
PRINT POS()</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:pow&amp;rev=1685466979&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:16:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>POW</title>
        <link>https://xc-basic.net/doku.php?id=v3:pow&amp;rev=1685466979&amp;do=diff</link>
        <description>POW

The POW() function computes the power of a number.

Function header
DECLARE FUNCTION POW AS FLOAT (base AS FLOAT, exp AS FLOAT) SHARED STATIC INLINE
DECLARE FUNCTION POW AS LONG (base AS INT, exp AS BYTE) OVERLOAD SHARED STATIC INLINE
base↑exp</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:preprocessing&amp;rev=1647951089&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-03-22T13:11:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Preprocessing</title>
        <link>https://xc-basic.net/doku.php?id=v3:preprocessing&amp;rev=1647951089&amp;do=diff</link>
        <description>Preprocessing

Many programming languages feature a preprocessor that processes macros, allows conditional compilation based on certain criteria, etc.

XC=BASIC doesn't have a preprocessor, but you can use a third-party (generic) preprocessor as part of your toolchain.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:print_hash&amp;rev=1685387438&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T21:10:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>PRINT#</title>
        <link>https://xc-basic.net/doku.php?id=v3:print_hash&amp;rev=1685387438&amp;do=diff</link>
        <description>PRINT#

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

The PRINT# command outputs one or more values to a previously opened file. Use the OPEN statement to open the file first.

Syntax
PRINT #&lt;logical_file_no&gt;, &lt;expression&gt; [,|; &lt;expression&gt;] ... [;]
	*  &lt;logical_file_no&gt; must evaluate to a number between 0 and 15 and must refer to a file that was previously opened using the</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:print&amp;rev=1685387380&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T21:09:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>PRINT</title>
        <link>https://xc-basic.net/doku.php?id=v3:print&amp;rev=1685387380&amp;do=diff</link>
        <description>PRINT

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

Output strings and numbers on the currently selected screen, at the current cursor position.

Syntax
PRINT &lt;expression&gt; [ ,|; &lt;expression&gt;] ... [;]

Expressions can be of any type, excluding user-defined types. Expressions are separated with commas (</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:private&amp;rev=1685387505&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T21:11:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>PRIVATE</title>
        <link>https://xc-basic.net/doku.php?id=v3:private&amp;rev=1685387505&amp;do=diff</link>
        <description>PRIVATE

The PRIVATE keyword denotes that a method is only callable within the type in which it was defined. Read more in User-Defined Types.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:put&amp;rev=1634825276&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-21T16:07:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>PUT#</title>
        <link>https://xc-basic.net/doku.php?id=v3:put&amp;rev=1634825276&amp;do=diff</link>
        <description>PUT#

Syntax:
PUT #&lt;logical_file_number&gt;, &lt;value&gt;
The PUT# command outputs a single numeric value to a file that was previously open using the OPEN command. Writing numeric values to a file using PUT# instead of PRINT# is more efficient space and speedwise because</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:randomize&amp;rev=1685387520&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T21:12:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>RANDOMIZE</title>
        <link>https://xc-basic.net/doku.php?id=v3:randomize&amp;rev=1685387520&amp;do=diff</link>
        <description>RANDOMIZE

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

The RANDOMIZE command seeds the pseudo-random generator with an initial value.

Syntax
RANDOMIZE &lt;value&gt;
The value given must be a LONG number and it will serve as a base for the random sequence.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:read&amp;rev=1685387945&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T21:19:05+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>READ#</title>
        <link>https://xc-basic.net/doku.php?id=v3:read&amp;rev=1685387945&amp;do=diff</link>
        <description>READ#

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

The READ# command is used for restoring the contents of a variable from a file. The file must be opened first using OPEN.

Syntax
READ #&lt;logical_file_no&gt;, &lt;variable&gt; [, &lt;variable&gt; ... ]
The READ# command is similar to</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:rem&amp;rev=1685387974&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T21:19:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>REM</title>
        <link>https://xc-basic.net/doku.php?id=v3:rem&amp;rev=1685387974&amp;do=diff</link>
        <description>REM

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

Syntax
REM &lt;comments&gt;
or
' &lt;comments&gt;

The REM keyword marks a comment until the end of that line. The compiler will ignore it.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:return&amp;rev=1637749797&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-24T11:29:57+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>RETURN</title>
        <link>https://xc-basic.net/doku.php?id=v3:return&amp;rev=1637749797&amp;do=diff</link>
        <description>RETURN

The RETURN keyword can be used:

	*  To return control after the last GOSUB statement
	*  To return a value from a FUNCTION</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:right&amp;rev=1685467202&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:20:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>RIGHT$</title>
        <link>https://xc-basic.net/doku.php?id=v3:right&amp;rev=1685467202&amp;do=diff</link>
        <description>RIGHT$

The RIGHT$() function returns the specified number of characters from the right side of a string.

Syntax
RIGHT$(&lt;input$&gt;, &lt;n&gt;)
&lt;n&gt; is the number of chars to be returned. If it is greater than the string length then the entire string will be returned.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:rnd&amp;rev=1685467213&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:20:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>RND</title>
        <link>https://xc-basic.net/doku.php?id=v3:rnd&amp;rev=1685467213&amp;do=diff</link>
        <description>RND

The RND() function returns a pseudo-random floating point number, between 0 and 1.

Function header
DECLARE FUNCTION RND AS FLOAT () SHARED STATIC INLINE
Example
' Display a sequence of 10 random numbers
RANDOMIZE TI()
FOR i AS BYTE = 1 TO 10
  PRINT RND()
NEXT</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:rndb&amp;rev=1685467230&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:20:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>RNDB</title>
        <link>https://xc-basic.net/doku.php?id=v3:rndb&amp;rev=1685467230&amp;do=diff</link>
        <description>RNDB

The RNDB() function returns a pseudo-random 8-bit unsigned number, between 0 and 255.

Function header
DECLARE FUNCTION RNDB AS BYTE () SHARED STATIC INLINE
Example
' Display a sequence of 10 random numbers
RANDOMIZE TI()
FOR i AS BYTE = 1 TO 10
  PRINT RNDB()
NEXT</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:rndi&amp;rev=1685467239&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:20:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>RNDI</title>
        <link>https://xc-basic.net/doku.php?id=v3:rndi&amp;rev=1685467239&amp;do=diff</link>
        <description>RNDI

The RNDI() function returns a pseudo-random 16-bit signed number, between -32,768 and 32,767.

Function header
DECLARE FUNCTION RNDI AS INT () SHARED STATIC INLINE
Example
' Display a sequence of 10 random numbers
RANDOMIZE TI()
FOR i AS BYTE = 1 TO 10
  PRINT RNDI()
NEXT</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:rndl&amp;rev=1685467250&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:20:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>RNDL</title>
        <link>https://xc-basic.net/doku.php?id=v3:rndl&amp;rev=1685467250&amp;do=diff</link>
        <description>RNDL

The RNDL() function returns a pseudo-random 24-bit signed number, between -8,388,608 and 8,388,607.

Function header
DECLARE FUNCTION RNDL AS LONG () SHARED STATIC INLINE
Example
' Display a sequence of 10 random numbers
RANDOMIZE TI()
FOR i AS BYTE = 1 TO 10
  PRINT RNDL()
NEXT</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:rndw&amp;rev=1685467263&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:21:03+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>RNDW</title>
        <link>https://xc-basic.net/doku.php?id=v3:rndw&amp;rev=1685467263&amp;do=diff</link>
        <description>RNDW

The RNDW() function returns a pseudo-random 16-bit unsigned number, between 0 and 65,535.

Function header
DECLARE FUNCTION RNDW AS WORD () SHARED STATIC INLINE
Example
' Display a sequence of 10 random numbers
RANDOMIZE TI()
FOR i AS BYTE = 1 TO 10
  PRINT RNDW()
NEXT</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:save&amp;rev=1685388004&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T21:20:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SAVE</title>
        <link>https://xc-basic.net/doku.php?id=v3:save&amp;rev=1685388004&amp;do=diff</link>
        <description>SAVE

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

The SAVE command saves a memory area into a file on the given device. The first two bytes in the file will contain the start address.

Syntax
SAVE &lt;filename&gt;, &lt;device_no&gt;, &lt;start_address&gt;, &lt;end_address&gt;</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:scan&amp;rev=1685467279&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:21:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SCAN</title>
        <link>https://xc-basic.net/doku.php?id=v3:scan&amp;rev=1685467279&amp;do=diff</link>
        <description>SCAN

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

The SCAN() function tells which scan line is currently draw on the screen.

Function declaration
DECLARE FUNCTION _
SCAN AS WORD () SHARED STATIC INLINE
Example
' A simple raster effect
SYSTEM INTERRUPT OFF
start:
DO : LOOP WHILE SCAN() &lt; 160
BORDER 3
DO : LOOP WHILE SCAN() &gt; 10
BORDER 0
GOTO start</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:screen&amp;rev=1672337982&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-29T19:19:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SCREEN</title>
        <link>https://xc-basic.net/doku.php?id=v3:screen&amp;rev=1672337982&amp;do=diff</link>
        <description>SCREEN

[c64] [c128]

The SCREEN command switches between multiple logical screens by changing the Video Matrix Base Address.

Syntax
SCREEN &lt;screen_number&gt;
Where &lt;screen_number&gt; must be a value between 0 and 15. The value multiplied by $0400 (decimal 1024) will be the new Base Address within the currently selected VIC bank. The default VIC bank is 0 and the default screen number is 1, therefore the default Base Address is $0400 (decimal 1024).</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:select&amp;rev=1685388020&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T21:20:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SELECT CASE</title>
        <link>https://xc-basic.net/doku.php?id=v3:select&amp;rev=1685388020&amp;do=diff</link>
        <description>SELECT CASE

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

Executes one of several statement blocks depending on the value of an expression.

Syntax
SELECT CASE &lt;expr&gt;
  CASE &lt;exp1&gt; [, &lt;exp2&gt;, &lt;exp3&gt; ... ]
    &lt;statements&gt;
  CASE IS &lt;relational operator&gt; &lt;exp4&gt;  
    &lt;statements&gt;
  CASE &lt;exp5&gt; TO &lt;exp6&gt;
    &lt;statements&gt;
  CASE ELSE
    &lt;statements&gt;
END SELECT</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:setclock&amp;rev=1672347175&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-29T21:52:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SETCLOCK</title>
        <link>https://xc-basic.net/doku.php?id=v3:setclock&amp;rev=1672347175&amp;do=diff</link>
        <description>SETCLOCK

[x16]

Defined in X16.BAS.

Sets the date and time.

Subroutine header
SUB SETCLOCK ( _
  year AS BYTE, _
  month AS BYTE, _
  day AS BYTE, _
  hour AS BYTE, _
  min AS BYTE, _
  sec AS BYTE _
) SHARED STATIC
Example
INCLUDE &quot;x16.bas&quot;
' Set the clock to 2022-12-29 21:50:00
' Note: year is 1900-based
CALL SETCLOCK(122, 12, 29, 21, 50, 0)</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:sgn&amp;rev=1685467292&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:21:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SGN</title>
        <link>https://xc-basic.net/doku.php?id=v3:sgn&amp;rev=1685467292&amp;do=diff</link>
        <description>SGN

The SGN() function returns the sign of a numerical argument as follows:
ArgumentResultnegative value-1zero0positive value (excluding zero) 1
Function header
DECLARE FUNCTION SGN AS INT (num AS BYTE) SHARED STATIC INLINE
DECLARE FUNCTION SGN AS INT (num AS INT) OVERLOAD SHARED STATIC INLINE
DECLARE FUNCTION SGN AS INT (num AS WORD) OVERLOAD SHARED STATIC INLINE
DECLARE FUNCTION SGN AS INT (num AS LONG) OVERLOAD SHARED STATIC INLINE
DECLARE FUNCTION SGN AS INT (num AS FLOAT) OVERLOAD SHARED S…</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:shared&amp;rev=1685388126&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T21:22:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SHARED</title>
        <link>https://xc-basic.net/doku.php?id=v3:shared&amp;rev=1685388126&amp;do=diff</link>
        <description>SHARED

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

The SHARED keyword can be used in multiple statements to denote that the identifier being defined has shared visibility, meaning that it is visible from within all code modules.

See also

	*  CONST
	*  DIM</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:shl&amp;rev=1685467315&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:21:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SHL</title>
        <link>https://xc-basic.net/doku.php?id=v3:shl&amp;rev=1685467315&amp;do=diff</link>
        <description>SHL

The SHL() function returns a number bit-shifted &lt;n&gt; positions to the left.

Function header
DECLARE FUNCTION SHL AS BYTE (num AS BYTE, n AS BYTE) SHARED STATIC INLINE
DECLARE FUNCTION SHL AS INT (num AS INT, n AS BYTE) OVERLOAD SHARED STATIC INLINE
DECLARE FUNCTION SHL AS WORD (num AS WORD, n AS BYTE) OVERLOAD SHARED STATIC INLINE
DECLARE FUNCTION SHL AS LONG (num AS LONG, n AS BYTE) OVERLOAD SHARED STATIC INLINE</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:showcase&amp;rev=1717914700&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-06-09T08:31:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Showcase</title>
        <link>https://xc-basic.net/doku.php?id=v3:showcase&amp;rev=1717914700&amp;do=diff</link>
        <description>Showcase

Demos and games written in XC=BASIC 3. If you'd like to show your work to the World, send it to me and I'll post it here.

Warzone

by Orlof



Welcome to Warzone - epic battle for dominance! In this Commodore 64 game two players take the helm of rival nations locked in a relentless war for supremacy.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:shr&amp;rev=1685467344&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:22:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SHR</title>
        <link>https://xc-basic.net/doku.php?id=v3:shr&amp;rev=1685467344&amp;do=diff</link>
        <description>SHR

The SHR() function returns a number bit-shifted &lt;n&gt; positions to the right.

Function header
DECLARE FUNCTION SHR AS BYTE (num AS BYTE, n AS BYTE) SHARED STATIC INLINE
DECLARE FUNCTION SHR AS INT (num AS INT, n AS BYTE) OVERLOAD SHARED STATIC INLINE
DECLARE FUNCTION SHR AS WORD (num AS WORD, n AS BYTE) OVERLOAD SHARED STATIC INLINE
DECLARE FUNCTION SHR AS LONG (num AS LONG, n AS BYTE) OVERLOAD SHARED STATIC INLINE</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:sidebar&amp;rev=1672515841&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-31T20:44:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>v3:sidebar</title>
        <link>https://xc-basic.net/doku.php?id=v3:sidebar&amp;rev=1672515841&amp;do=diff</link>
        <description>*  Showcase 
	*  Installation and Usage
	*  Syntax
	*  Data Types
	*  Variables
	*  Operators
	*  Arithmetic expressions
	*  Strings
	*  Control Flow Statements
	*  Subroutines
	*  Functions
	*  User-Defined Types
	*  Code Modules
	*  Error Handling
	*  File I/O
	*  Interrupts
	*  Keyword Reference
	*  Function Reference
	*  Library Reference
	*  Appendix
		*  Memory model
		*  PETSCII escape sequences
		*  Keyboard scan codes
		*  Commander X16 support

	*  News &amp; Announcements
	*  Discussion
	…</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:sin&amp;rev=1685467354&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:22:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SIN</title>
        <link>https://xc-basic.net/doku.php?id=v3:sin&amp;rev=1685467354&amp;do=diff</link>
        <description>SIN

(Defined in TRIGONO.BAS)

The SIN() function returns the sine of the argument.

Function Header
DECLARE FUNCTION SIN AS FLOAT (x AS FLOAT) SHARED STATIC

TRIGONO.BAS

Examples
INCLUDE &quot;trigono.bas&quot;
PRINT SIN(0) : REM outputs a number very close to zero, see the below note
PRINT SIN(0.785398) : REM outputs .707704</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:sound_clear&amp;rev=1685388312&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T21:25:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SOUND CLEAR</title>
        <link>https://xc-basic.net/doku.php?id=v3:sound_clear&amp;rev=1685388312&amp;do=diff</link>
        <description>SOUND CLEAR

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

Resets all voice registers.

Syntax
SOUND CLEAR
This is useful at parts of the programs to make sure that all sounds stop and all sound-related values are reset to original.

See also

	*</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:sprite_clear_hit&amp;rev=1685388280&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T21:24:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SPRITE CLEAR HIT</title>
        <link>https://xc-basic.net/doku.php?id=v3:sprite_clear_hit&amp;rev=1685388280&amp;do=diff</link>
        <description>SPRITE CLEAR HIT

[c64] [c128] [m65]

Clears sprite collision status.

Syntax
SPRITE CLEAR HIT
Executing this command immediate before the SPRITEHIT and SPRITEBGHIT functions are checked, the immediate status is returned. Otherwise, the hit check functions will return if sprites were involved in a collision since the status was last cleared.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:sprite_multicolor&amp;rev=1685388294&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T21:24:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SPRITE MULTICOLOR</title>
        <link>https://xc-basic.net/doku.php?id=v3:sprite_multicolor&amp;rev=1685388294&amp;do=diff</link>
        <description>SPRITE MULTICOLOR

[c64] [c128] [m65]

The SPRITE MULTICOLOR commands sets the two global color values that apply to all multicolor sprites.

Syntax
SPRITE MULTICOLOR &lt;col1&gt;, &lt;col2&gt;
Where &lt;col1&gt; and &lt;col2&gt; are expressions that evaluate to a number between 0 and 15.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:sprite&amp;rev=1685815671&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-06-03T20:07:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SPRITE</title>
        <link>https://xc-basic.net/doku.php?id=v3:sprite&amp;rev=1685815671&amp;do=diff</link>
        <description>SPRITE

[c64] [c128] [x16] [m65]

The SPRITE command sets various properties of a single sprite, including visibility, shape, color, etc.

Syntax
SPRITE &lt;spr_no&gt; &lt;subcommand&gt; &lt;subcommand&gt; ...
Where &lt;spr_no&gt; is an expression that evaluates to a number between 0 and 7 and</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:spritebghit&amp;rev=1685467368&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:22:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SPRITEBGHIT</title>
        <link>https://xc-basic.net/doku.php?id=v3:spritebghit&amp;rev=1685467368&amp;do=diff</link>
        <description>SPRITEBGHIT

[c64] [c128] [m65]

Checks for sprite to background collision.

Function declaration
DECLARE FUNCTION _
SPRITEBGHIT AS BYTE (sprno AS BYTE) SHARED STATIC INLINE
If the sprite specified by &lt;spro&gt; has previously come in contact with the background graphics, the function will return 255 (true), 0 (false) otherwise.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:spritehit&amp;rev=1685467431&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:23:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SPRITEHIT</title>
        <link>https://xc-basic.net/doku.php?id=v3:spritehit&amp;rev=1685467431&amp;do=diff</link>
        <description>SPRITEHIT

[c64] [c128] [m65]

Checks for sprite to sprite collision.

Function declaration
DECLARE FUNCTION _
SPRITEHIT AS BYTE (sprno AS BYTE) SHARED STATIC INLINE
If the sprite specified by &lt;spro&gt; has previously come in contact with any other sprite(s), the function will return 255 (true), 0 (false) otherwise.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:sprites&amp;rev=1658463887&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-07-22T06:24:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Sprites</title>
        <link>https://xc-basic.net/doku.php?id=v3:sprites&amp;rev=1658463887&amp;do=diff</link>
        <description>Sprites

[v3.1] [c64] [c128]

With XC=BASIC, you can display, move and animate sprites easily, as well as you can detect sprite collisions intuitively.

	*  The SPRITE command sets various properties of a single sprite, including visibility, shape, color, etc.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:sqr&amp;rev=1685467442&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:24:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SQR</title>
        <link>https://xc-basic.net/doku.php?id=v3:sqr&amp;rev=1685467442&amp;do=diff</link>
        <description>SQR

The SQR() function returns the square root of a number.

Function header
DECLARE FUNCTION SQR AS BYTE (num AS INT) SHARED STATIC INLINE
DECLARE FUNCTION SQR AS BYTE (num AS WORD) OVERLOAD SHARED STATIC INLINE
DECLARE FUNCTION SQR AS WORD (num AS LONG) OVERLOAD SHARED STATIC INLINE
DECLARE FUNCTION SQR AS FLOAT (num AS FLOAT) OVERLOAD SHARED STATIC INLINE</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:st&amp;rev=1635054308&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-24T07:45:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ST</title>
        <link>https://xc-basic.net/doku.php?id=v3:st&amp;rev=1635054308&amp;do=diff</link>
        <description>ST

The ST() function returns the status after the last input-output operation, for example during a disk or tape read or write.

Function header
DECLARE FUNCTION ST AS BYTE () SHARED STATIC INLINE
Example
REM -- dump raw contents of a file
DIM char$ AS STRING * 1
CONST EOF = 64
OPEN 2, 8, 2, &quot;filename&quot;
DO WHILE ST() &lt;&gt; EOF
  GET #2, char$
  PRINT char$;
LOOP
CLOSE 2</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:start&amp;rev=1771661949&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-02-21T09:19:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Welcome to XC=BASIC 3</title>
        <link>https://xc-basic.net/doku.php?id=v3:start&amp;rev=1771661949&amp;do=diff</link>
        <description>Welcome to XC=BASIC 3

XC=BASIC is a cross compiled, modern BASIC programming language for 8-bit Commodore (and alike) machines, such as

	*  Commodore-64
	*  Commodore VIC-20
	*  Commodore-16
	*  Commodore Plus/4
	*  Commodore-128
	*  Commodore PET series</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:static&amp;rev=1637834671&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-25T11:04:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>STATIC</title>
        <link>https://xc-basic.net/doku.php?id=v3:static&amp;rev=1637834671&amp;do=diff</link>
        <description>STATIC

The STATIC keyword can be used:

	*  For defining a static variable in a dynamic sub or function. See DIM.
	*  For defining a subroutine or function static. See SUB and FUNCTION.</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:str&amp;rev=1685467457&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:24:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>STR$</title>
        <link>https://xc-basic.net/doku.php?id=v3:str&amp;rev=1685467457&amp;do=diff</link>
        <description>STR$

The STR$() function converts any type of numeric value into string.

Function header
DECLARE FUNCTION STR$ AS STRING (number AS BYTE) SHARED STATIC INLINE
DECLARE FUNCTION STR$ AS STRING (number AS INT) OVERRIDE SHARED STATIC INLINE
DECLARE FUNCTION STR$ AS STRING (number AS WORD) OVERRIDE SHARED STATIC INLINE
DECLARE FUNCTION STR$ AS STRING (number AS LONG) OVERRIDE SHARED STATIC INLINE
DECLARE FUNCTION STR$ AS STRING (number AS FLOAT) OVERRIDE SHARED STATIC INLINE
DECLARE FUNCTION STR$ A…</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:string&amp;rev=1637748142&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-24T11:02:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>STRING</title>
        <link>https://xc-basic.net/doku.php?id=v3:string&amp;rev=1637748142&amp;do=diff</link>
        <description>STRING

The STRING keyword can be used in several statements to designate a variable or value as a string.

See also

	*  Data Types
	*  DIM
	*  Strings</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:strings&amp;rev=1644659133&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-02-12T10:45:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Strings</title>
        <link>https://xc-basic.net/doku.php?id=v3:strings&amp;rev=1644659133&amp;do=diff</link>
        <description>Strings

Strings are fixed-length series of PETSCII characters. The maximum length of a string is 96 characters.

String literals

String literals must be enclosed between double quote (“) characters and may contain any ASCII character. Every ASCII</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:sub&amp;rev=1685388349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T21:25:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SUB</title>
        <link>https://xc-basic.net/doku.php?id=v3:sub&amp;rev=1685388349&amp;do=diff</link>
        <description>SUB

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

The SUB keyword starts a subroutine block.

Syntax
SUB &lt;name&gt; ([&lt;arg&gt; AS &lt;type&gt;[, &lt;arg&gt; AS &lt;type&gt;]...]) [OVERLOAD] [PRIVATE|SHARED] [STATIC]
  &lt;statements&gt;
END SUB
	*  &lt;name&gt; must be a valid</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:subroutines&amp;rev=1722372191&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-07-30T22:43:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Subroutines</title>
        <link>https://xc-basic.net/doku.php?id=v3:subroutines&amp;rev=1722372191&amp;do=diff</link>
        <description>Subroutines

While you can use the GOSUB command in pair with RETURN to call parts of code as subroutines, the more sophisticated way of implementing subroutines is using the SUB ... END SUB block.

Defining Subroutines

Subroutines are named routines that accept zero or more arguments. The simplest syntax to define a subroutine is the following:</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:swap&amp;rev=1685388362&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T21:26:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SWAP</title>
        <link>https://xc-basic.net/doku.php?id=v3:swap&amp;rev=1685388362&amp;do=diff</link>
        <description>SWAP

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

The SWAP command is used to exchange the values of two variables.

Syntax
SWAP &lt;left&gt;, &lt;right&gt;
After the operation, the variable left will have the value of right and vice versa.



Example</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:syntax&amp;rev=1678910863&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-03-15T21:07:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Syntax</title>
        <link>https://xc-basic.net/doku.php?id=v3:syntax&amp;rev=1678910863&amp;do=diff</link>
        <description>Syntax

Vocabulary

The following reserved keywords form the basic vocabulary of the language. The keywords may be spelled with either upper or lower case letters, or a mix of both. Therefore PRINT, print and Print are equivalent.





Identifiers

Identifiers are used to name constants, variables, labels, subs and functions in XC=BASIC. You may choose identifiers as you wish, following these rules:</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:sys&amp;rev=1685465633&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T18:53:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SYS</title>
        <link>https://xc-basic.net/doku.php?id=v3:sys&amp;rev=1685465633&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>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:tan&amp;rev=1685467467&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:24:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>TAN</title>
        <link>https://xc-basic.net/doku.php?id=v3:tan&amp;rev=1685467467&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) : REM outputs a number very close to 1, see below note</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:textat&amp;rev=1685465616&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T18:53:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>TEXTAT</title>
        <link>https://xc-basic.net/doku.php?id=v3:textat&amp;rev=1685465616&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=v3:this&amp;rev=1685465654&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T18:54:14+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>THIS</title>
        <link>https://xc-basic.net/doku.php?id=v3:this&amp;rev=1685465654&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=v3:ti&amp;rev=1672517381&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-31T21:09:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>TI</title>
        <link>https://xc-basic.net/doku.php?id=v3:ti&amp;rev=1672517381&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=v3:trigono.bas&amp;rev=1634417460&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-16T22:51:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>TRIGONO.BAS</title>
        <link>https://xc-basic.net/doku.php?id=v3:trigono.bas&amp;rev=1634417460&amp;do=diff</link>
        <description>TRIGONO.BAS

The trigono.bas library implements fundamental trigonometric functions.

Usage

You must include the library before you can use its features (preferably at the top of your program):
INCLUDE &quot;trigono.bas&quot;
Constants
SHARED CONST PI = 3.14159</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:type&amp;rev=1685465675&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T18:54:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>TYPE</title>
        <link>https://xc-basic.net/doku.php?id=v3:type&amp;rev=1685465675&amp;do=diff</link>
        <description>TYPE

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

The TYPE keyword starts a new user-defined type (UDT) block.

Syntax
TYPE &lt;name&gt;
  &lt;field&gt; AS &lt;type&gt;
  [&lt;field&gt; AS &lt;type&gt;]
  [...]
  [SUB &lt;method_name&gt; ...]
  [FUNCTION &lt;method_name&gt; ...]
  [...]
END TYPE</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:ucase&amp;rev=1685467490&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:24:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>UCASE$</title>
        <link>https://xc-basic.net/doku.php?id=v3:ucase&amp;rev=1685467490&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) : REM switch to lowercase display
PRINT UCASE$(&quot;THE String in UpperCase&quot;) : REM will output: &quot;THE STRING IN UPPERCASE&quot;</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:udt&amp;rev=1637563608&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-22T07:46:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>User-Defined Types</title>
        <link>https://xc-basic.net/doku.php?id=v3:udt&amp;rev=1637563608&amp;do=diff</link>
        <description>User-Defined Types

User-defined types (or UDT's) allow you to create your own data structures. In its simplest form, a type definition is a bunch of field definitions inside a TYPE ... END TYPE block. The following example illustrates a very simple type definition:</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:val&amp;rev=1685467532&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:25:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>VAL</title>
        <link>https://xc-basic.net/doku.php?id=v3:val&amp;rev=1685467532&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=v3:variables&amp;rev=1672336436&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-29T18:53:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Variables</title>
        <link>https://xc-basic.net/doku.php?id=v3:variables&amp;rev=1672336436&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're used. Either you define them using the</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:vmemset&amp;rev=1672389874&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-30T09:44:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>VMEMSET</title>
        <link>https://xc-basic.net/doku.php?id=v3:vmemset&amp;rev=1672389874&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;
' Clear the bitmap
CALL VMEMSET(0, 11264, 0)
See also</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:vmode&amp;rev=1685448215&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T14:03:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>VMODE</title>
        <link>https://xc-basic.net/doku.php?id=v3:vmode&amp;rev=1685448215&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=v3:voice&amp;rev=1685460149&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T17:22:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>VOICE</title>
        <link>https://xc-basic.net/doku.php?id=v3:voice&amp;rev=1685460149&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=v3:volume&amp;rev=1685466180&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:03:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>VOLUME</title>
        <link>https://xc-basic.net/doku.php?id=v3:volume&amp;rev=1685466180&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'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=v3:vpeek&amp;rev=1672403199&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-30T13:26:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>VPEEK</title>
        <link>https://xc-basic.net/doku.php?id=v3:vpeek&amp;rev=1672403199&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=v3:vpoke&amp;rev=1672347816&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-29T22:03:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>VPOKE</title>
        <link>https://xc-basic.net/doku.php?id=v3:vpoke&amp;rev=1672347816&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;
' SET THE COLORS OF THE CHARACTER
' AT (0,0) TO RED ON WHITE
CALL VPOKE($1B001, 18)
See also</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:vscroll&amp;rev=1685466214&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:03:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>VSCROLL</title>
        <link>https://xc-basic.net/doku.php?id=v3:vscroll&amp;rev=1685466214&amp;do=diff</link>
        <description>VSCROLL

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

Sets the vertical smooth scrolling value.

Syntax
' On all Commodore platforms:
VSCROLL &lt;px&gt;
' 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 bellow 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=v3:wait&amp;rev=1685466233&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:03:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>WAIT</title>
        <link>https://xc-basic.net/doku.php?id=v3:wait&amp;rev=1685466233&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 statement…</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:word&amp;rev=1637744912&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-24T10:08:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>WORD</title>
        <link>https://xc-basic.net/doku.php?id=v3:word&amp;rev=1637744912&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=v3:write&amp;rev=1685466251&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:04:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>WRITE#</title>
        <link>https://xc-basic.net/doku.php?id=v3:write&amp;rev=1685466251&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=v3:x16_copy_mv&amp;rev=1672051751&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-26T11:49:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>X16_COPY_MV</title>
        <link>https://xc-basic.net/doku.php?id=v3:x16_copy_mv&amp;rev=1672051751&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=v3:x16.bas&amp;rev=1672346446&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-29T21:40:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>X16.BAS</title>
        <link>https://xc-basic.net/doku.php?id=v3:x16.bas&amp;rev=1672346446&amp;do=diff</link>
        <description>X16.BAS

The x16.bas library lets you access the improved functionality of the Commander X16.

Usage

You must include the library before you can use its features (preferably at the top of your program):
INCLUDE &quot;x16.bas&quot;
Subroutines

	*  MEMCPYMV
	*  MEMCPYVM
	*  MOUSEON</description>
    </item>
    <item rdf:about="https://xc-basic.net/doku.php?id=v3:xor&amp;rev=1685466266&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-30T19:04:26+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>XOR</title>
        <link>https://xc-basic.net/doku.php?id=v3:xor&amp;rev=1685466266&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>
</rdf:RDF>
