{"id":3306,"date":"2026-07-26T14:38:20","date_gmt":"2026-07-26T12:38:20","guid":{"rendered":"https:\/\/www.julien-nevo.com\/arkostracker\/?page_id=3306"},"modified":"2026-07-26T16:34:18","modified_gmt":"2026-07-26T14:34:18","slug":"the-export-dialogs","status":"publish","type":"page","link":"https:\/\/www.julien-nevo.com\/arkostracker\/index.php\/the-export-dialogs\/","title":{"rendered":"The export dialog"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Any export will have its own dialog, sometimes with specific options, but most share the same basic interface, which is explained here.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Note: also remember that all exports can be done with the <a href=\"https:\/\/www.julien-nevo.com\/arkostracker\/index.php\/command-line-tools\/\" data-type=\"page\" data-id=\"2466\" target=\"_blank\" rel=\"noreferrer noopener\">command line tools<\/a> in the package, which is handy to automatize exports.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\"> As an example, let&#8217;s export to AKG:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"440\" height=\"680\" src=\"https:\/\/www.julien-nevo.com\/arkostracker\/wp-content\/uploads\/2026\/07\/exportAkgExportAsSourceHighlighted.png\" alt=\"\" class=\"wp-image-3308\" srcset=\"https:\/\/www.julien-nevo.com\/arkostracker\/wp-content\/uploads\/2026\/07\/exportAkgExportAsSourceHighlighted.png 440w, https:\/\/www.julien-nevo.com\/arkostracker\/wp-content\/uploads\/2026\/07\/exportAkgExportAsSourceHighlighted-194x300.png 194w, https:\/\/www.julien-nevo.com\/arkostracker\/wp-content\/uploads\/2026\/07\/exportAkgExportAsSourceHighlighted-230x355.png 230w, https:\/\/www.julien-nevo.com\/arkostracker\/wp-content\/uploads\/2026\/07\/exportAkgExportAsSourceHighlighted-350x541.png 350w\" sizes=\"(max-width: 440px) 100vw, 440px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">There are three parts, which may or may not be present on other exports.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The top one indicates what subsongs to export. You may want to export all of them, or only one. Some formats, such as AKY, only manage one subsong. AKG supports multiple.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The bottom one is for samples, which is explained <a href=\"https:\/\/www.julien-nevo.com\/arkostracker\/index.php\/sample-export\/\" data-type=\"page\" data-id=\"1419\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Which leaves the main and highlighted sections, &#8220;export as&#8221;.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Export As section<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">There are basically two main ways to export, depending on your need, or more likely, your build chain:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Source: an assembly code is generated, to be assembled with your favorite assembler.<\/li>\n\n\n\n<li>Binary: a single binary file, which you can then insert into a virtual disc, or in memory of an emulator, for example.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">&#8220;Source&#8221; is more flexible, because it lets you assemble your music anywhere in memory when you include it to your project. &#8220;Binary&#8221; is static: your song will only work at the specific address location, which you must set. &#8220;Source&#8221; requires however more technical abilities, because you must assemble it by yourself. Also, &#8220;Binary&#8221; is only available for Z80, as AT3 embeds the assembler Rasm, and only this one.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Export as source<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Let&#8217;s review the available options of this mode:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Export to several files<\/strong>: when checked, each subsong will be written in its own file. This is useful to save memory. Image you compose 5 songs, one per level for your game. It is likely you want to have in memory only the song for the level where the player is (just like only the current level graphics set is loaded at one time). For this use-case, check this option and load the subsong in memory when needed. Only the Source export can use this option, and it may not be available for all formats.<\/li>\n\n\n\n<li><strong>Generate a configuration file for players<\/strong>: when checked, a &#8220;configuration file&#8221; is generated (as a source) besides the exported song. By default, it is better to enable it, even if you don&#8217;t use it. The benefits are explained <a href=\"https:\/\/www.julien-nevo.com\/arkostracker\/index.php\/player-configuration\/\" data-type=\"page\" data-id=\"1302\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>: the file is used to optimize the player.<\/li>\n\n\n\n<li><strong>Source profile to use<\/strong>: If exporting to source, you must indicate the syntax of the generated code. This has two positive aspects:\n<ul class=\"wp-block-list\">\n<li>You can export to any assembler out there (syntax may differ from an assembler to another, even if targeting the same CPU!).<\/li>\n\n\n\n<li>You can export to any CPU: 68000, 6502, etc. <br>The source profile is the same as the one selected in the namesake <a href=\"https:\/\/www.julien-nevo.com\/arkostracker\/index.php\/source-profiles\/\" data-type=\"page\" data-id=\"905\" target=\"_blank\" rel=\"noreferrer noopener\">option<\/a>. Note that changing it in this export window also changes the source profile for subsequent exports.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Source labels prefix<\/strong>: When generating sources, you may want to add a prefix to all the generated labels. This is useful to avoid label clash if you later import several sources of songs. It could be anything, such as &#8220;MySong&#8221;, &#8220;Ingame_&#8221;, or empty not to have any prefix.<\/li>\n\n\n\n<li><strong>Encode to address<\/strong>: When generating sources, you have the ability to set its address in memory (adding an &#8220;ORG&#8221; mnemonic in Z80). Most of the time, it is advised to <strong>disable<\/strong> this option and let the source <strong>that includes<\/strong> your music sets this, for more flexibility.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Export as binary<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Selecting &#8220;binary&#8221; changes the interface with less options:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"416\" height=\"306\" src=\"https:\/\/www.julien-nevo.com\/arkostracker\/wp-content\/uploads\/2026\/07\/exportAsBinary.png\" alt=\"\" class=\"wp-image-3316\" srcset=\"https:\/\/www.julien-nevo.com\/arkostracker\/wp-content\/uploads\/2026\/07\/exportAsBinary.png 416w, https:\/\/www.julien-nevo.com\/arkostracker\/wp-content\/uploads\/2026\/07\/exportAsBinary-300x221.png 300w, https:\/\/www.julien-nevo.com\/arkostracker\/wp-content\/uploads\/2026\/07\/exportAsBinary-230x169.png 230w, https:\/\/www.julien-nevo.com\/arkostracker\/wp-content\/uploads\/2026\/07\/exportAsBinary-350x257.png 350w\" sizes=\"(max-width: 416px) 100vw, 416px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">First of all, note that only Z80 binaries can be exported, not 68000 or other CPUs (to do so, export to source with the right source profile, and assemble the file with the assembler of your choice).<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Export to several files<\/strong> is not available.<\/li>\n\n\n\n<li><strong>Generate a configuration file<\/strong> is explained above.<\/li>\n\n\n\n<li><strong>Encode to address<\/strong> is mandatory and sets the address (in hexadecimal) at which the music must be loaded into memory.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Any export will have its own dialog, sometimes with specific options, but most share the same basic interface, which is explained here. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":37,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_vp_format_video_url":"","_vp_image_focal_point":[],"footnotes":""},"class_list":["post-3306","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.julien-nevo.com\/arkostracker\/index.php\/wp-json\/wp\/v2\/pages\/3306","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.julien-nevo.com\/arkostracker\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.julien-nevo.com\/arkostracker\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.julien-nevo.com\/arkostracker\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.julien-nevo.com\/arkostracker\/index.php\/wp-json\/wp\/v2\/comments?post=3306"}],"version-history":[{"count":33,"href":"https:\/\/www.julien-nevo.com\/arkostracker\/index.php\/wp-json\/wp\/v2\/pages\/3306\/revisions"}],"predecessor-version":[{"id":3355,"href":"https:\/\/www.julien-nevo.com\/arkostracker\/index.php\/wp-json\/wp\/v2\/pages\/3306\/revisions\/3355"}],"wp:attachment":[{"href":"https:\/\/www.julien-nevo.com\/arkostracker\/index.php\/wp-json\/wp\/v2\/media?parent=3306"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}