{"id":225,"date":"2021-04-22T19:06:21","date_gmt":"2021-04-22T18:06:21","guid":{"rendered":"http:\/\/jaerder.videmogroup.org\/blog\/?p=225"},"modified":"2021-04-25T13:17:31","modified_gmt":"2021-04-25T12:17:31","slug":"getting-started-on-sega-saturn-development-part-1","status":"publish","type":"post","link":"https:\/\/jaerder.videmogroup.org\/blog\/index.php\/2021\/04\/22\/getting-started-on-sega-saturn-development-part-1\/","title":{"rendered":"Getting started on SEGA Saturn development &#8211; Part 1"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">A hello world on libyaul.<\/h2>\n\n\n\n<p>Nothing better than a simple hello world to get the feet wet on a new hardware.<\/p>\n\n\n\n<p>My goal, as of April 2021, is to get a simple demo (as in demoscene demo) done by October, for <a rel=\"noreferrer noopener\" href=\"http:\/\/inercia.pt\/\" data-type=\"URL\" data-id=\"http:\/\/inercia.pt\/\" target=\"_blank\">Inercia Demoparty<\/a> , for the sega saturn.<\/p>\n\n\n\n<p>I&#8217;ve already had a <a href=\"https:\/\/ppcenter.webou.net\/satcart\/#usb\" data-type=\"URL\" data-id=\"https:\/\/ppcenter.webou.net\/satcart\/#usb\" target=\"_blank\" rel=\"noreferrer noopener\">USB dev cart<\/a> for the sega saturn that I&#8217;ve brought from cafe-alpha, but had been gathering dust for several years.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Toolchains<\/h2>\n\n\n\n<p>As toolchains for the sega saturn I&#8217;ve found :<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/ijacquez\/libyaul\" data-type=\"URL\" data-id=\"https:\/\/github.com\/ijacquez\/libyaul\" target=\"_blank\">Libyaul <\/a>: available for windows and linux.  Tools such as emulators to test the code are already included.<\/li><li><a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/SaturnSDK\" data-type=\"URL\" data-id=\"https:\/\/github.com\/SaturnSDK\" target=\"_blank\">Saturn SDK<\/a> : SDK, libs and documentation.<\/li><li><a rel=\"noreferrer noopener\" href=\"https:\/\/www.jo-engine.org\/\" data-type=\"URL\" data-id=\"https:\/\/www.jo-engine.org\/\" target=\"_blank\">Jo Engine<\/a> : an open source 2d and 3d engine.<\/li><\/ul>\n\n\n\n<p>The list is not complete.<br>I\u00b4ve decided to stick to libyaul. On windows it was simple to setup,  examples could be easy compiled out of the box, and it has a helpful and active community on discord , where the author of libyaul is also part of.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Hello World<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Makefile<\/h3>\n\n\n\n<p>The make file was just a modified makefile already available from the exemples provided with libyaul.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Code<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted\">#include &lt;yaul.h&gt;\n\n#include &lt;stdio.h&gt;\n#include &lt;stdlib.h&gt;\n\nvoid main(void)\n{\n    \/\/init the subsystem to print debug text to the screen\n    dbgio_dev_default_init(DBGIO_DEV_VDP2_SIMPLE);\n    dbgio_dev_font_load();\n    dbgio_dev_font_load_wait();\n\n    \/\/enable vdp2\n    vdp2_tvmd_display_set();\n  \n    while(1)\n    {\n        dbgio_printf(\"\\x1b[H\\x1b[2J\");  \/\/ clears the screen\n        dbgio_printf(\"Hello World\\n\");  \/\/ actual text\n        dbgio_flush();                  \/\/ flush \n        vdp_sync();                     \/\/ required at the end of each frame\n    }\n}<\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/jaerder.videmogroup.org\/blog\/wp-content\/uploads\/2021\/04\/hello_world.png\"><img loading=\"lazy\" decoding=\"async\" width=\"728\" height=\"626\" src=\"https:\/\/jaerder.videmogroup.org\/blog\/wp-content\/uploads\/2021\/04\/hello_world.png\" alt=\"\" class=\"wp-image-233\" srcset=\"https:\/\/jaerder.videmogroup.org\/blog\/wp-content\/uploads\/2021\/04\/hello_world.png 728w, https:\/\/jaerder.videmogroup.org\/blog\/wp-content\/uploads\/2021\/04\/hello_world-300x258.png 300w\" sizes=\"auto, (max-width: 728px) 100vw, 728px\" \/><\/a><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>A hello world on libyaul. Nothing better than a simple hello world to get the feet wet on a new hardware. My goal, as of April 2021, is to get a simple demo (as in demoscene demo) done by October, for Inercia Demoparty , for the sega saturn. I&#8217;ve already had a USB dev cart &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/jaerder.videmogroup.org\/blog\/index.php\/2021\/04\/22\/getting-started-on-sega-saturn-development-part-1\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Getting started on SEGA Saturn development &#8211; Part 1&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[13,25,14],"tags":[26,27,28],"class_list":["post-225","post","type-post","status-publish","format-standard","hentry","category-development","category-libyaul","category-software","tag-libyaul","tag-saturn","tag-yaul"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/jaerder.videmogroup.org\/blog\/index.php\/wp-json\/wp\/v2\/posts\/225","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jaerder.videmogroup.org\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jaerder.videmogroup.org\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jaerder.videmogroup.org\/blog\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jaerder.videmogroup.org\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=225"}],"version-history":[{"count":11,"href":"https:\/\/jaerder.videmogroup.org\/blog\/index.php\/wp-json\/wp\/v2\/posts\/225\/revisions"}],"predecessor-version":[{"id":241,"href":"https:\/\/jaerder.videmogroup.org\/blog\/index.php\/wp-json\/wp\/v2\/posts\/225\/revisions\/241"}],"wp:attachment":[{"href":"https:\/\/jaerder.videmogroup.org\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=225"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jaerder.videmogroup.org\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=225"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jaerder.videmogroup.org\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=225"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}