{"id":515,"date":"2022-09-08T13:57:44","date_gmt":"2022-09-08T12:57:44","guid":{"rendered":"https:\/\/t81t.dev\/?p=515"},"modified":"2026-01-31T00:37:54","modified_gmt":"2026-01-31T00:37:54","slug":"20-developer-tools-etc-on-the-pi-400-emulation","status":"publish","type":"post","link":"https:\/\/mrgadget.nexus\/t81t-dev\/2022\/09\/08\/20-developer-tools-etc-on-the-pi-400-emulation\/","title":{"rendered":"#20: Developer tools etc on the Pi 400 emulation"},"content":{"rendered":"\n<p>There is an advantage to having done the setup of all the elements needed a few times. I have been developing a scripted &#8220;install&#8221; of almost all the development files required on the emulated Amiga environment. Having said that things will naturally be in a state of flux. For example since prior blog posts detailing the &#8220;git clone&#8221;. A few things have changed or updated, mainly switching from revision 3 to revision 4 of the OS 3.2 NDK, so we&#8217;ll deal with that first:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\ncd ~\/FS-UAE\/Hard Drives\/AmigaDev_XFER\/t81t-dev\ngit fetch\ngit pull\n<\/pre><\/div>\n\n\n<p>If not already running launch the emulated Amiga using the usual Linux Terminal incantation:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\ncd ~\/prg\/fs-uae\n.\/fs-uae\n<\/pre><\/div>\n\n\n<p>One minor point to note is that the self-built version of FS-UAE is code in the progress of becoming version 4, and one of the configuration options we specify (joystick configuration) doesn&#8217;t work, meaning that in a productivity (operating system) environment the default &#8220;steals&#8221; the cursor keys for a virtual joystick. To date I have not found a solution so we need to tell FS-UAE to disable this manually, and unfortunately this has to be done each time we launch the emulator.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Press Fn-F2 for F12<\/li>\n\n\n\n<li>Select the option &#8220;[ J ] KEYBOARD&#8221; under &#8220;INPUT PORTS&#8221;<\/li>\n\n\n\n<li>Select &#8220;KEYBOARD&#8221; under &#8220;JOYSTICK PORT 1&#8221;<\/li>\n\n\n\n<li>Arrow up from &#8220;KEYBOARD&#8221; to &#8220;NO HOST DEVICE&#8221; and hit enter<\/li>\n\n\n\n<li>Backspace twice to exit<\/li>\n<\/ol>\n\n\n\n<p>In short&#8230; Fn-F2, Down 4 times, Enter 2 times, Up, Enter, Backspace 2 times.<\/p>\n\n\n\n<p>When booted up start up the Amiga Shell (just a double click on the icon &#8220;left out&#8221; if you&#8217;ve followed along) and most of the work is as simple as issuing these couple of commands:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nCD XFER:t81t-dev\nExecute setupdevtools32\n<\/pre><\/div>\n\n\n<p>This will go through a large sequence of actions for many packages pulled from Aminet, mostly usually something like:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Extract archive to temp directory<\/li>\n\n\n\n<li>Copy files to proper location<\/li>\n\n\n\n<li>Clean up temp directory<\/li>\n<\/ol>\n\n\n\n<p>A few package will be treated differently but really &#8220;scripted&#8221; like this you don&#8217;t need to worry about the details.<\/p>\n\n\n\n<p>At the end you will see something like this:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1280\" height=\"720\" src=\"http:\/\/mrgadget.nexus\/t81t-dev\/wp-content\/uploads\/sites\/5\/2022\/04\/PiDevToolScriptDone.png\" alt=\"\" class=\"wp-image-516\"\/><\/figure>\n\n\n\n<p>The VBCC compiler (actually C compiler, 680&#215;0 assembler, linker and required ancillary files) requires you to do two &#8220;Installer&#8221; processes, once for the main &#8220;binary&#8221; files, and one for the files that tell the compiler to &#8220;target&#8221; 680&#215;0 based Amiga systems. As described during the second install you are asked to locate the NDK. The installer ACTUALLY asks for NDK 3.9, but we can point it at the NDK 3.2 includes with no problems.<\/p>\n\n\n\n<p>Once both installs are complete the easiest thing to do is reset the Amiga, or maybe just close the emulator and wait for the next &#8220;episode&#8221; where we&#8217;ll start going back over the &#8220;tools&#8221; used in the production of T81T productions&#8230; again&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>There is an advantage to having done the setup of all the elements needed a few times. I have been developing a scripted &#8220;install&#8221; of almost all the development files required on the emulated Amiga environment. Having said that things<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","footnotes":""},"categories":[2],"tags":[],"class_list":["post-515","post","type-post","status-publish","format-standard","hentry","category-amiga"],"_links":{"self":[{"href":"https:\/\/mrgadget.nexus\/t81t-dev\/wp-json\/wp\/v2\/posts\/515","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mrgadget.nexus\/t81t-dev\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mrgadget.nexus\/t81t-dev\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mrgadget.nexus\/t81t-dev\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mrgadget.nexus\/t81t-dev\/wp-json\/wp\/v2\/comments?post=515"}],"version-history":[{"count":2,"href":"https:\/\/mrgadget.nexus\/t81t-dev\/wp-json\/wp\/v2\/posts\/515\/revisions"}],"predecessor-version":[{"id":592,"href":"https:\/\/mrgadget.nexus\/t81t-dev\/wp-json\/wp\/v2\/posts\/515\/revisions\/592"}],"wp:attachment":[{"href":"https:\/\/mrgadget.nexus\/t81t-dev\/wp-json\/wp\/v2\/media?parent=515"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mrgadget.nexus\/t81t-dev\/wp-json\/wp\/v2\/categories?post=515"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mrgadget.nexus\/t81t-dev\/wp-json\/wp\/v2\/tags?post=515"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}