{"id":3244,"date":"2025-04-17T10:30:12","date_gmt":"2025-04-17T10:30:12","guid":{"rendered":"https:\/\/webprojects.cloud\/wordpress\/splatco\/?post_type=spl_knowledgebase&#038;p=3244"},"modified":"2025-06-10T07:43:48","modified_gmt":"2025-06-10T07:43:48","slug":"builder-onceinline-segment-qualifier","status":"publish","type":"spl_knowledgebase","link":"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/splat-pc-programming-software\/splat-pc-builder\/builder-onceinline-segment-qualifier\/","title":{"rendered":"Builder: ONCEINLINE segment qualifier"},"content":{"rendered":"\n<p>The\u00a0<code>ONCEINLINE<\/code>\u00a0segment qualifier allows you to have the same bit of code in two or more source (.spt) files but only get one copy in the final result. The final code is positioned according to where it is located in the source file, not according to where the segment name is located in the build (.b1d) file. (c.f.\u00a0<a href=\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/splat-pc-programming-software\/splat-pc-builder\/builder-oneonly-segment-qualifier\/\">ONEONLY<\/a>)<\/p>\n\n\n\n<h6 class=\"wp-block-heading\">Example:<\/h6>\n\n\n\n<p>Say you have written two modules for your library, ModA.spt and ModB.spt. Both these modules use a subroutine RotR4, which rotates the\u00a0<a href=\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/glossary-of-terms\/#o3808\">X<\/a>\u00a0register 4 positions to the right. You want RotR4 to be contained in both library modules because they can be used separately in some jobs but both together in others. The two files might look something like this:<\/p>\n\n\n\n<p>1st file, ModA.spt<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">;&lt;CODESEG&gt;\nModAStfuff:\n;\t... do some stuff\n\t\tGoSub\t\tRotR4\n;\t....  more stuff\n;&lt;ROTR4SEG&gt;\t;Here's the rotate subroutine in ModA\nRotR4:\tRorM\n\t\tRorM\n\t\tRorM\n\t\tRorM\n\t\tReturn\n;&lt;CODESEG&gt;\n;\t...  Back to more \"main\" module A stuff\n<\/pre>\n\n\n\n<p>2nd file, ModB.spt<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">;&lt;CODESEG&gt;\nModBStfuff:\n;\t... do some stuff\n\t\tGoSub\t\tRotR4\n;\t....  more stuff\n;&lt;ROTR4SEG&gt;\t;Here's the rotate subroutine in ModB\nRotR4:\tRorM\n\t\tRorM\n\t\tRorM\n\t\tRorM\n\t\tReturn\n;&lt;CODESEG&gt;\n;\t...  Back to more \"main\" module B stuff<\/pre>\n\n\n\n<p>In the build file:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">CODESEG\nROTR4SEG ONCEINLINE\n#---\nModA.SPT\nModB.SPT\n<\/pre>\n\n\n\n<p>The end result after the build will be:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">ModAStfuff:\n;\t... do some stuff\n\t\tGoSub\t\tRotR4\n;\t....  more stuff\n;Here's the rotate subroutine in ModA\nRotR4:\tRorM\n\t\tRorM\n\t\tRorM\n\t\tRorM\n\t\tReturn\n\n;\t...  Back to more \"main\" module A stuff\nModBStfuff:\n;\t... do some stuff\n\t\tGoSub\t\tRotR4\n;\t....  more stuff\n;\t...  Back to more \"main\" module B stuff<\/pre>\n\n\n\n<p>As you can see, only one copy of RotR4 has been included, and it is positioned as it was in the original .spt file.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The\u00a0ONCEINLINE\u00a0segment qualifier allows you to have the same bit of code in two or more source (.spt) files but only get one copy in the&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":3236,"menu_order":5,"template":"","class_list":["post-3244","spl_knowledgebase","type-spl_knowledgebase","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Builder: ONCEINLINE segment qualifier - SPLat Controls<\/title>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Builder: ONCEINLINE segment qualifier - SPLat Controls\" \/>\n<meta property=\"og:description\" content=\"The\u00a0ONCEINLINE\u00a0segment qualifier allows you to have the same bit of code in two or more source (.spt) files but only get one copy in the...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/splat-pc-programming-software\/splat-pc-builder\/builder-onceinline-segment-qualifier\/\" \/>\n<meta property=\"og:site_name\" content=\"SPLat Controls\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-10T07:43:48+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/splat-pc-programming-software\/splat-pc-builder\/builder-onceinline-segment-qualifier\/\",\"url\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/splat-pc-programming-software\/splat-pc-builder\/builder-onceinline-segment-qualifier\/\",\"name\":\"Builder: ONCEINLINE segment qualifier - SPLat Controls\",\"isPartOf\":{\"@id\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/#website\"},\"datePublished\":\"2025-04-17T10:30:12+00:00\",\"dateModified\":\"2025-06-10T07:43:48+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/splat-pc-programming-software\/splat-pc-builder\/builder-onceinline-segment-qualifier\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/splat-pc-programming-software\/splat-pc-builder\/builder-onceinline-segment-qualifier\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/splat-pc-programming-software\/splat-pc-builder\/builder-onceinline-segment-qualifier\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SPLat\/PC programming software\",\"item\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/splat-pc-programming-software\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"SPLat\/PC: Builder\",\"item\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/splat-pc-programming-software\/splat-pc-builder\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Builder: ONCEINLINE segment qualifier\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/#website\",\"url\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/\",\"name\":\"SPLat Controls\",\"description\":\"OEM Embedded Machine Controllers\",\"publisher\":{\"@id\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/#organization\",\"name\":\"SPLat Controls\",\"url\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-content\/uploads\/2024\/10\/logo.svg\",\"contentUrl\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-content\/uploads\/2024\/10\/logo.svg\",\"caption\":\"SPLat Controls\"},\"image\":{\"@id\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Builder: ONCEINLINE segment qualifier - SPLat Controls","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"en_US","og_type":"article","og_title":"Builder: ONCEINLINE segment qualifier - SPLat Controls","og_description":"The\u00a0ONCEINLINE\u00a0segment qualifier allows you to have the same bit of code in two or more source (.spt) files but only get one copy in the...","og_url":"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/splat-pc-programming-software\/splat-pc-builder\/builder-onceinline-segment-qualifier\/","og_site_name":"SPLat Controls","article_modified_time":"2025-06-10T07:43:48+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/splat-pc-programming-software\/splat-pc-builder\/builder-onceinline-segment-qualifier\/","url":"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/splat-pc-programming-software\/splat-pc-builder\/builder-onceinline-segment-qualifier\/","name":"Builder: ONCEINLINE segment qualifier - SPLat Controls","isPartOf":{"@id":"https:\/\/webprojects.cloud\/wordpress\/splatco\/#website"},"datePublished":"2025-04-17T10:30:12+00:00","dateModified":"2025-06-10T07:43:48+00:00","breadcrumb":{"@id":"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/splat-pc-programming-software\/splat-pc-builder\/builder-onceinline-segment-qualifier\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/splat-pc-programming-software\/splat-pc-builder\/builder-onceinline-segment-qualifier\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/splat-pc-programming-software\/splat-pc-builder\/builder-onceinline-segment-qualifier\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/webprojects.cloud\/wordpress\/splatco\/"},{"@type":"ListItem","position":2,"name":"SPLat\/PC programming software","item":"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/splat-pc-programming-software\/"},{"@type":"ListItem","position":3,"name":"SPLat\/PC: Builder","item":"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/splat-pc-programming-software\/splat-pc-builder\/"},{"@type":"ListItem","position":4,"name":"Builder: ONCEINLINE segment qualifier"}]},{"@type":"WebSite","@id":"https:\/\/webprojects.cloud\/wordpress\/splatco\/#website","url":"https:\/\/webprojects.cloud\/wordpress\/splatco\/","name":"SPLat Controls","description":"OEM Embedded Machine Controllers","publisher":{"@id":"https:\/\/webprojects.cloud\/wordpress\/splatco\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/webprojects.cloud\/wordpress\/splatco\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/webprojects.cloud\/wordpress\/splatco\/#organization","name":"SPLat Controls","url":"https:\/\/webprojects.cloud\/wordpress\/splatco\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webprojects.cloud\/wordpress\/splatco\/#\/schema\/logo\/image\/","url":"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-content\/uploads\/2024\/10\/logo.svg","contentUrl":"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-content\/uploads\/2024\/10\/logo.svg","caption":"SPLat Controls"},"image":{"@id":"https:\/\/webprojects.cloud\/wordpress\/splatco\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-json\/wp\/v2\/spl_knowledgebase\/3244","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-json\/wp\/v2\/spl_knowledgebase"}],"about":[{"href":"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-json\/wp\/v2\/types\/spl_knowledgebase"}],"author":[{"embeddable":true,"href":"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-json\/wp\/v2\/users\/1"}],"up":[{"embeddable":true,"href":"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-json\/wp\/v2\/spl_knowledgebase\/3236"}],"wp:attachment":[{"href":"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-json\/wp\/v2\/media?parent=3244"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}