{"id":1469,"date":"2024-05-17T21:19:01","date_gmt":"2024-05-17T21:19:01","guid":{"rendered":"https:\/\/wordpress.hertell.nu\/?p=1469"},"modified":"2026-01-14T15:01:56","modified_gmt":"2026-01-14T15:01:56","slug":"setting-up-a-sd-card-for-tf4060-raspberrypi","status":"publish","type":"post","link":"https:\/\/wordpress.hertell.nu\/?p=1469","title":{"rendered":"Setting up a SD card for TF4060 RaspberryPI"},"content":{"rendered":"\n<p>This is a writeup how to setup the raspberry pi for the TF4060 68060 Accelerator for Amiga 3000\/4000<br>(call it a &#8220;crash-course in setting up a pi and linux&#8221; \ud83d\ude42 )<br><br>The pi on the TF4060 is FULLY optional and the card will work perfectly without it. it is (for the moment) only to flash the firmware. nothing needed for the card to run! no emulation, no nothing!<br>you CAN still program the cpld with a jtag on board and the fpga with the SPI connector on the board if you want to. this is not covered in this guide!<br><br>Where is the software for the TF4060? ehide.device and cpuspeed?<br>oh do not worry! it is in ROM. it will be there automatically! no software needed to be installed except the 68060 libs from mmulibs! TF4060 will autoboot directly from IDE etc!<\/p>\n\n\n\n<p>I will also provide a already-done-image for more &#8220;nontech&#8221; people in another post. this is for later.<br>this post WILL change some times now when more info is coming up \/ guide being polished.<br>this requires SOME knowledge. but not much.<\/p>\n\n\n\n<p>I will install a minimal Raspbian system here. you CAN do a full-GUI etc if you want to connect monitor\/mouse\/keyboard. it will be up to you. here I do a &#8220;headless&#8221; configuration that will not need any monitor or mouse\/keyboard attached to the raspberry pi<\/p>\n\n\n\n<p><strong>Requirements:<\/strong><br>an empty SD card atleast 4GB of size (insert it to your reader now)<br>a raspberry pi. (Raspberry PI Zero 2 W is what I use)<\/p>\n\n\n\n<p><strong>EXTREMLY IMPORTANT NOTE! <\/strong> if you of ANY reason attach a USB device to the pi that delivers power TO the PI like a USB cable from your computer) you <strong>MUST <\/strong>remove the &#8220;rpi power&#8221; jumper from the TF4060. located close to the pi header. <strong>if not the pi will try to power the amiga! this is NOT good!<\/strong>.<br><br>Do follow this guide and use links provided. as some files might be changed to fit this.  as official fpga and cpld softwares used colliding gpio pins so some changes in sources have been done!<\/p>\n\n\n\n<p>We will need raspian that can be found at: <a href=\"https:\/\/www.raspberrypi.com\/software\/operating-systems\/\" data-type=\"link\" data-id=\"https:\/\/www.raspberrypi.com\/software\/operating-systems\/\">https:\/\/www.raspberrypi.com\/software\/operating-systems\/<\/a><\/p>\n\n\n\n<p>Downbload &#8220;Raspberry pi imager:&#8221; at: <a href=\"https:\/\/www.raspberrypi.com\/software\/\" data-type=\"link\" data-id=\"https:\/\/www.raspberrypi.com\/software\/\">https:\/\/www.raspberrypi.com\/software\/<\/a><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>download it for your os and install and run:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"746\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-1024x746.png\" alt=\"\" class=\"wp-image-1470\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-1024x746.png 1024w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-300x219.png 300w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-768x560.png 768w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image.png 1416w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>Choose Device (Raspberry PI 2 Zero W)<br>Choose OS (Go down to &#8220;Raspberry PI os (other)&#8221; and click there<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"746\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-1-1024x746.png\" alt=\"\" class=\"wp-image-1471\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-1-1024x746.png 1024w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-1-300x219.png 300w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-1-768x560.png 768w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-1.png 1416w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>Select &#8220;Raspberry Pi OS Lite (64-bit)<\/p>\n\n\n\n<p>Storage choose your SD card .<br>next<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"746\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-2-1024x746.png\" alt=\"\" class=\"wp-image-1472\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-2-1024x746.png 1024w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-2-300x219.png 300w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-2-768x560.png 768w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-2.png 1416w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>Click &#8220;Edit Settings&#8221;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-3.png\"><img loading=\"lazy\" decoding=\"async\" width=\"839\" height=\"1024\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-3-839x1024.png\" alt=\"\" class=\"wp-image-1473\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-3-839x1024.png 839w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-3-246x300.png 246w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-3-768x937.png 768w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-3.png 1134w\" sizes=\"auto, (max-width: 839px) 100vw, 839px\" \/><\/a><\/figure>\n\n\n\n<p>set username and password.   I have here &#8220;pi&#8221; and &#8220;raspberry&#8221; (no qoutationmakes)<\/p>\n\n\n\n<p>also set your wifi SSID and password here.<\/p>\n\n\n\n<p>Click &#8220;Services&#8221;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-4.png\"><img loading=\"lazy\" decoding=\"async\" width=\"839\" height=\"1024\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-4-839x1024.png\" alt=\"\" class=\"wp-image-1474\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-4-839x1024.png 839w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-4-246x300.png 246w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-4-768x937.png 768w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-4.png 1134w\" sizes=\"auto, (max-width: 839px) 100vw, 839px\" \/><\/a><\/figure>\n\n\n\n<p>Make sure &#8220;Enable SSH&#8221; is ticked and &#8220;Use password authentication&#8221; and press SAVE<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-5.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"746\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-5-1024x746.png\" alt=\"\" class=\"wp-image-1475\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-5-1024x746.png 1024w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-5-300x219.png 300w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-5-768x560.png 768w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-5.png 1416w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>Select YES<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-6.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"746\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-6-1024x746.png\" alt=\"\" class=\"wp-image-1476\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-6-1024x746.png 1024w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-6-300x219.png 300w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-6-768x560.png 768w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-6.png 1416w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>You will be warned that your SD card will be erased.  accept by clicking YES<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-7.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"746\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-7-1024x746.png\" alt=\"\" class=\"wp-image-1477\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-7-1024x746.png 1024w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-7-300x219.png 300w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-7-768x560.png 768w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-7.png 1416w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>Image will now be written to SD card<\/p>\n\n\n\n<p>Meanwhile you need to add a header to your PI:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-8.png\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1024\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-8-768x1024.png\" alt=\"\" class=\"wp-image-1478\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-8-768x1024.png 768w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-8-225x300.png 225w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-8.png 1150w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/a><\/figure>\n\n\n\n<p>Like this, it is 26 pins (2&#215;13)  so it needs to be soldered on like this.<br>and assembled on the TF4060 like this:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-9.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-9-1024x768.png\" alt=\"\" class=\"wp-image-1479\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-9-1024x768.png 1024w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-9-300x225.png 300w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-9-768x576.png 768w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-9-1536x1152.png 1536w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-9.png 2046w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>Also note that the PIPWR jumper must be set or you will need to power your raspberry pi in another way.<br>(remember the warning! IF you attach anything to the pi that powers it this jumper <strong>MUST<\/strong> be removed)<\/p>\n\n\n\n<p>Anyway when image is written to your SD card:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-10.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"746\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-10-1024x746.png\" alt=\"\" class=\"wp-image-1480\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-10-1024x746.png 1024w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-10-300x219.png 300w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-10-768x560.png 768w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-10.png 1416w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>Remove the SD card, put it into the PI on the 4060.<\/p>\n\n\n\n<p>power on your Amiga. and you will notice that the led flashes. this is the OS loading.<\/p>\n\n\n\n<p>The first boot will take some extra time. if you connect a monitor to the pi you will notice it rebooting several times etc., this is normal.<\/p>\n\n\n\n<p>you need to monitor your dhcp server in your network when it gives out an IP to \u201craspberrypi\u201d<\/p>\n\n\n\n<p>(name you chosen above) when this is done. First boot is done.<\/p>\n\n\n\n<p>How to do this I sadly have to point to your manual for your router.<\/p>\n\n\n\n<p>On my opnsense I found it here:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-11.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"76\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-11-1024x76.png\" alt=\"\" class=\"wp-image-1481\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-11-1024x76.png 1024w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-11-300x22.png 300w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-11-768x57.png 768w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-11-1536x114.png 1536w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-11.png 1780w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>S<\/p>\n\n\n\n<p>o my IP was 172.16.19.180 your WILL be different<\/p>\n\n\n\n<p>so I check if it is online:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-12.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"150\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-12-1024x150.png\" alt=\"\" class=\"wp-image-1482\" style=\"width:841px;height:auto\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-12-1024x150.png 1024w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-12-300x44.png 300w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-12-768x113.png 768w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-12.png 1199w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>and yes it is as it responds to ping!<\/p>\n\n\n\n<p>now we need to connect to it.. from linux\/mac use a terminal and ssh <a href=\"mailto:pi@172.16.19.180\">pi@172.16.19.180<\/a> (change to your IP)<br>in Windows. Download Putty and connect to your IP. Login as pi<br><a href=\"https:\/\/www.chiark.greenend.org.uk\/~sgtatham\/putty\/latest.html\">https:\/\/www.chiark.greenend.org.uk\/~sgtatham\/putty\/latest.html<\/a><br><br>When asked about certificate. Answer yes<\/p>\n\n\n\n<p>enter password. \u201craspberry\u201d<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-13.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"274\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-13-1024x274.png\" alt=\"\" class=\"wp-image-1483\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-13-1024x274.png 1024w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-13-300x80.png 300w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-13-768x206.png 768w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-13-1536x412.png 1536w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-13.png 1937w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>For the moment you can ignore this. It is up to you to change this later it is not within this guide.<br>Yes. You should etc etc. but if this is in your own network. Not THAT much of a deal. If this is a matter for you sure handle it. Deal with it. \ud83d\ude42<br><br>now lets update the OS and install software.<br><strong>This part WILL be simplyfied later!<\/strong><\/p>\n\n\n\n<p>Write:<br><br><kbd><strong>sudo apt update<\/strong><\/kbd><\/p>\n\n\n\n<p>this loads a list of all updates that can be done.<\/p>\n\n\n\n<p>Write:<\/p>\n\n\n\n<p><kbd><strong>sudo apt upgrade<\/strong><\/kbd><\/p>\n\n\n\n<p>answer yes when prompted<\/p>\n\n\n\n<p>all updates packages will now be upgraded to newest version<\/p>\n\n\n\n<p>this will take some time<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-14.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"329\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-14-1024x329.png\" alt=\"\" class=\"wp-image-1484\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-14-1024x329.png 1024w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-14-300x96.png 300w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-14-768x246.png 768w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-14-1536x493.png 1536w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-14.png 1624w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>When this is done..<\/p>\n\n\n\n<p>I usually reboot. Maybe not needed but after a update like this it feels better:<\/p>\n\n\n\n<p><kbd><strong>sudo reboot<\/strong><\/kbd><\/p>\n\n\n\n<p>and you will need to reconnect and login again. Boot will be quite quick.<\/p>\n\n\n\n<p>Time to install the required software:<\/p>\n\n\n\n<p>write:<br>(in windows you can paste in my just pressing right mousebutton in putty<\/p>\n\n\n\n<p>(when asked. Answer yes unless told not to in instructions here)<br>(also remember linux does feel difference between lowercase and UPPERCASE filenames etc)<\/p>\n\n\n\n<p><kbd><strong>sudo apt -y install build-essential libusb-dev libftdi-dev libgpiod-dev<br>sudo apt -y install git cmake<\/strong><\/kbd><\/p>\n\n\n\n<p><kbd><strong>mkdir tf4060<br>cd tf4060<br>git clone https:\/\/github.com\/terriblefire\/fomu-flash<br>git clone https:\/\/github.com\/matrix-io\/xc3sprog<\/strong><\/kbd><br>(NO do NOT install xc3sprog via apt install, this will NOT work)<br><kbd><strong>git clone https:\/\/github.com\/WiringPi\/WiringPi<br>cd WiringPi<br>sudo .\/reinstall<\/strong><\/kbd><br>(ignore errormessage that might popup)<br><kbd><strong>cd ..<br>cd xc3sprog<br>mkdir build<br>cd build<br>cmake ..<br>make<\/strong><\/kbd><br>(ignore things that looks like warnings and errors. Weird code is weird code)<\/p>\n\n\n\n<p><kbd><strong>cd ..<br>cd ..<br>cd fomu-flash<br>sudo make<br>cd ..<\/strong><\/kbd><\/p>\n\n\n\n<p>(again ignore things that might look like warning\/errors)<\/p>\n\n\n\n<p>now we should have all software available..<br>so lets test this<\/p>\n\n\n\n<p>write:<br><kbd><strong>xc3sprog\/build\/xc3sprog -c matrix_creator<\/strong><\/kbd><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-15.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"221\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-15-1024x221.png\" alt=\"\" class=\"wp-image-1485\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-15-1024x221.png 1024w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-15-300x65.png 300w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-15-768x166.png 768w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-15-1536x331.png 1536w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-15.png 1930w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>This lists the CPLD! Nice.<\/p>\n\n\n\n<p>write:<\/p>\n\n\n\n<p><kbd><strong>fomu-flash\/fomu-flash -r<\/strong><\/kbd><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-16.png\"><img loading=\"lazy\" decoding=\"async\" width=\"909\" height=\"140\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-16.png\" alt=\"\" class=\"wp-image-1486\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-16.png 909w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-16-300x46.png 300w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-16-768x118.png 768w\" sizes=\"auto, (max-width: 909px) 100vw, 909px\" \/><\/a><\/figure>\n\n\n\n<p>This will reset the fpga, AND the Amiga.  so your amiga should reboot!<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>ADDED:<\/p>\n\n\n\n<p>Now time to do some instructions how to make transfer from a windowsmachine easy:<br>Lets create a authentication key so you do not have to use username\/password to login.<\/p>\n\n\n\n<p>As you installed putty above. Start PuTTYgen<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-17.png\"><img loading=\"lazy\" decoding=\"async\" width=\"209\" height=\"104\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-17.png\" alt=\"\" class=\"wp-image-1540\"\/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-18.png\"><img loading=\"lazy\" decoding=\"async\" width=\"900\" height=\"724\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-18.png\" alt=\"\" class=\"wp-image-1541\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-18.png 900w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-18-300x241.png 300w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-18-768x618.png 768w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><\/figure>\n\n\n\n<p>Press Generate.<br>Move your mousepointer inside the window, this generates a random code for the certificate.<\/p>\n\n\n\n<p>Click &#8220;Save private key&#8221;<br>Press &#8220;YES&#8221; when asked that you want to save it without a passphrase. (this is easy mode. you can do with passphrase if you want to. but that is outside the scope of this post)<br>Save it to C: and in C: create a dir called &#8220;KEY&#8221; inside &#8220;Key&#8221; you save the key as &#8220;mykey.ppk&#8221;<br>This will be your secret key that you do not give anyone!<br>then press &#8220;Save public key&#8221;<br>Save it as &#8220;mykey.pub&#8221; &#8211; This is your public key that you can give to systems you want to be able to login to.<\/p>\n\n\n\n<p>You can now close PuTTYgen.<\/p>\n\n\n\n<p>now Start putty. and loginto your PI above:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-19.png\"><img loading=\"lazy\" decoding=\"async\" width=\"694\" height=\"347\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-19.png\" alt=\"\" class=\"wp-image-1542\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-19.png 694w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-19-300x150.png 300w\" sizes=\"auto, (max-width: 694px) 100vw, 694px\" \/><\/a><\/figure>\n\n\n\n<p>connect:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-20.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1004\" height=\"163\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-20.png\" alt=\"\" class=\"wp-image-1543\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-20.png 1004w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-20-300x49.png 300w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-20-768x125.png 768w\" sizes=\"auto, (max-width: 1004px) 100vw, 1004px\" \/><\/a><\/figure>\n\n\n\n<p>Wite username and password<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-21.png\"><img loading=\"lazy\" decoding=\"async\" width=\"987\" height=\"477\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-21.png\" alt=\"\" class=\"wp-image-1544\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-21.png 987w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-21-300x145.png 300w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-21-768x371.png 768w\" sizes=\"auto, (max-width: 987px) 100vw, 987px\" \/><\/a><\/figure>\n\n\n\n<p><strong>mkdir .ssh<br>cd .ssh\/<br>sudo nano authorized_keys<\/strong><\/p>\n\n\n\n<p>now in Windows. start PuttyGen again and load your .ppk key. and mark all of your &#8220;Key&#8221; in that window:<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-25.png\"><img loading=\"lazy\" decoding=\"async\" width=\"907\" height=\"719\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-25.png\" alt=\"\" class=\"wp-image-1548\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-25.png 907w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-25-300x238.png 300w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-25-768x609.png 768w\" sizes=\"auto, (max-width: 907px) 100vw, 907px\" \/><\/a><\/figure>\n\n\n\n<p>and ctrl+c (meaning select all and copy) move your mousepointer to putty and rightclick on the window.  this pastes the code there<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-26.png\"><img loading=\"lazy\" decoding=\"async\" width=\"984\" height=\"141\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-26.png\" alt=\"\" class=\"wp-image-1549\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-26.png 984w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-26-300x43.png 300w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-26-768x110.png 768w\" sizes=\"auto, (max-width: 984px) 100vw, 984px\" \/><\/a><\/figure>\n\n\n\n<p>It will look truncated! but all fine.<\/p>\n\n\n\n<p>save with CTRL+X and answer Y to save the buffer<\/p>\n\n\n\n<p>ctrl+x  and answer Y to save modified buffer<\/p>\n\n\n\n<p>Exit putty and start it again.<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-24.png\"><img loading=\"lazy\" decoding=\"async\" width=\"684\" height=\"679\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-24.png\" alt=\"\" class=\"wp-image-1547\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-24.png 684w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-24-300x298.png 300w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-24-150x150.png 150w\" sizes=\"auto, (max-width: 684px) 100vw, 684px\" \/><\/a><\/figure>\n\n\n\n<p>Expand &#8220;Connection&#8221; -&gt; &#8220;SSH&#8221; -&gt; &#8220;Auth&#8221; and click on Credentials. ay Private key, click browse and look for your &#8220;mykey.ppk&#8221; file.<br>and back to &#8220;Session&#8221;  at host name write username@ip  for me: pi@172.16.19.180 make sure port is 22.<br>Under Saved Sessions wite something like &#8220;TF4060pi&#8221; and save.<br>this saves this config.  if you now press &#8220;open&#8221; it will loginto the pi and skip username\/password question as it uses the certificate instead.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-27.png\"><img loading=\"lazy\" decoding=\"async\" width=\"983\" height=\"498\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-27.png\" alt=\"\" class=\"wp-image-1550\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-27.png 983w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-27-300x152.png 300w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-27-768x389.png 768w\" sizes=\"auto, (max-width: 983px) 100vw, 983px\" \/><\/a><\/figure>\n\n\n\n<p>Good! now we can loginto the pi with no annoying passowordquestions. (your private key IS the password)<\/p>\n\n\n\n<p>Lets do a script that flashes the firmware<\/p>\n\n\n\n<p>so start an editor: (this edits a file called prog that we will use)<br><strong>nano prog<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-28.png\"><img loading=\"lazy\" decoding=\"async\" width=\"982\" height=\"685\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-28.png\" alt=\"\" class=\"wp-image-1551\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-28.png 982w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-28-300x209.png 300w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-28-768x536.png 768w\" sizes=\"auto, (max-width: 982px) 100vw, 982px\" \/><\/a><\/figure>\n\n\n\n<p>mark this text and ctrl+c:<br><\/p>\n\n\n\n<p>Make this look like screenshow below (do not care about colors. but tabs)<br>(needs to find out how to do tabs here)<\/p>\n\n\n\n<p>#!\/bin\/sh<br><code>x=5<br>while [ $x -gt 0 ];<br>do<br> if \/home\/pi\/tf4060\/xc3sprog\/build\/xc3sprog -c matrix_creator -p0 -v \/home\/pi\/tf4060\/tmp\/tf*<em>.jed ; then<\/em><\/code><br><code><em>echo CPLD Programmed sucessfully, lets break the loop<\/em><\/code><br><code><em>break<\/em><\/code><br><code><em>else<\/em><\/code><br><code><em>echo CPLD Programming failed, lets try again<\/em><\/code><br><code><em>fi<\/em><\/code><br><code><em>x=$(($x-1))<\/em><\/code><br><code><em>done<\/em><\/code><br><code><em>\/home\/pi\/tf4060\/fomu-flash\/fomu-flash -u -w \/home\/pi\/tf4060\/tmp\/tf<\/em>*.bin<br>\/home\/pi\/tf4060\/fomu-flash\/fomu-flash -r<\/code><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>when you marked that above. rightclick on your puttyscreen and it will paste it in:<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-29.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"564\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-29-1024x564.png\" alt=\"\" class=\"wp-image-1552\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-29-1024x564.png 1024w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-29-300x165.png 300w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-29-768x423.png 768w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-29.png 1500w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>save with ctrl+x and Y<\/p>\n\n\n\n<p><strong>write chmod +x prog<br>also make sure the tmp folder is available:<br>mkdir \/home\/pi\/tf4060\/tmp<\/strong><\/p>\n\n\n\n<p>this will make the file &#8220;executeable&#8221;<br>so now you &#8220;just&#8221; have to unzip your firmware into  the tmp folder and run<\/p>\n\n\n\n<p><strong>.\/prog<br><\/strong><br>and it will flash that firmware.<\/p>\n\n\n\n<p>how do you copy a file to the pi? well several methods.  you can download with the wget command<\/p>\n\n\n\n<p><strong>cd \/home\/pi\/tf4060\/tmp<br>delete old files : rm *<br><\/strong><br><strong>wget <a href=\"http:\/\/alen.dreamhosters.com\/tf4060r5_2025_02_10_1c48879_27399_RC1.zip\">http:\/\/alen.dreamhosters.com\/tf4060r5_2025_02_10_1c48879_27399_RC1.zip<\/a><\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-30.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"294\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-30-1024x294.png\" alt=\"\" class=\"wp-image-1553\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-30-1024x294.png 1024w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-30-300x86.png 300w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-30-768x221.png 768w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-30.png 1494w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>unzip: <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-31.png\"><img loading=\"lazy\" decoding=\"async\" width=\"932\" height=\"149\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-31.png\" alt=\"\" class=\"wp-image-1554\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-31.png 932w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-31-300x48.png 300w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-31-768x123.png 768w\" sizes=\"auto, (max-width: 932px) 100vw, 932px\" \/><\/a><\/figure>\n\n\n\n<p>go back to homedir:<\/p>\n\n\n\n<p><strong>cd \/home\/pi<\/strong><\/p>\n\n\n\n<p>and run the script:<\/p>\n\n\n\n<p><strong>.\/prog:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-32.png\"><img loading=\"lazy\" decoding=\"async\" width=\"805\" height=\"838\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-32.png\" alt=\"\" class=\"wp-image-1555\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-32.png 805w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-32-288x300.png 288w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-32-768x799.png 768w\" sizes=\"auto, (max-width: 805px) 100vw, 805px\" \/><\/a><\/figure>\n\n\n\n<p>this flashes it!  SOMETIMES the cpld fails and you can retry. so this script actually tries up to 5 times.<\/p>\n\n\n\n<p>DONE!<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>You can also transfer the file with filezilla:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-33.png\"><img loading=\"lazy\" decoding=\"async\" width=\"741\" height=\"129\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-33.png\" alt=\"\" class=\"wp-image-1556\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-33.png 741w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-33-300x52.png 300w\" sizes=\"auto, (max-width: 741px) 100vw, 741px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-34.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"521\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-34-1024x521.png\" alt=\"\" class=\"wp-image-1557\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-34-1024x521.png 1024w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-34-300x153.png 300w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-34-768x391.png 768w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-34.png 1323w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>and you can upload it directly to the tmp folder!<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>Even more fancy?  add a bat file that does it for you from DOS:<br>on your windows machine start a dosprompt (Windows+R and cmd)<\/p>\n\n\n\n<p><strong>md c:\\batfiles<\/strong><br>notepad c:\\batfiles\\flash.bat<\/p>\n\n\n\n<p>copy this text into it:<br><strong>@echo off<br>echo Sending %1 to PI for flashing<br>echo.<br>echo copy file to PI<br>echo.<br>pscp -i c:\\key\\mykey.ppk %1 pi@172.16.19.180:\/home\/pi\/tf4060\/tmp<br>plink -i c:\\key\\mykey.ppk pi@172.16.19.180 -batch \/home\/pi\/flash<\/strong><\/p>\n\n\n\n<p>where you change address\/username to your info.<br>make all files in &#8220;batfiles&#8221; in your path:<br>Start explorer and rightclick on &#8220;This PC&#8221; and Properties<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-35.png\"><img loading=\"lazy\" decoding=\"async\" width=\"578\" height=\"656\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-35.png\" alt=\"\" class=\"wp-image-1562\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-35.png 578w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-35-264x300.png 264w\" sizes=\"auto, (max-width: 578px) 100vw, 578px\" \/><\/a><\/figure>\n\n\n\n<p>Scroll down to &#8220;Related links&#8221; and choose &#8220;Advanced system settings&#8221;<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-36.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"249\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-36-1024x249.png\" alt=\"\" class=\"wp-image-1563\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-36-1024x249.png 1024w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-36-300x73.png 300w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-36-768x187.png 768w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-36.png 1048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-37.png\"><img loading=\"lazy\" decoding=\"async\" width=\"620\" height=\"718\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-37.png\" alt=\"\" class=\"wp-image-1566\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-37.png 620w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-37-259x300.png 259w\" sizes=\"auto, (max-width: 620px) 100vw, 620px\" \/><\/a><\/figure>\n\n\n\n<p>Environment Variables.<\/p>\n\n\n\n<p>Doubleclick on &#8220;path&#8221;<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-39.png\"><img loading=\"lazy\" decoding=\"async\" width=\"890\" height=\"476\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-39.png\" alt=\"\" class=\"wp-image-1568\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-39.png 890w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-39-300x160.png 300w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-39-768x411.png 768w\" sizes=\"auto, (max-width: 890px) 100vw, 890px\" \/><\/a><\/figure>\n\n\n\n<p>Click New and add C:\\Batfiles<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-40.png\"><img loading=\"lazy\" decoding=\"async\" width=\"764\" height=\"380\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-40.png\" alt=\"\" class=\"wp-image-1569\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-40.png 764w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-40-300x149.png 300w\" sizes=\"auto, (max-width: 764px) 100vw, 764px\" \/><\/a><\/figure>\n\n\n\n<p>click ok to exit all.<\/p>\n\n\n\n<p>now start a new cmd and if you write flash and press enter it will try to do something.<\/p>\n\n\n\n<p>this script lacks all type or errorhandling so your syntax is simply flash &lt;filename of zipfile&gt;   so  flash firmware.zip <br><br>it will upload the file and execute the script flash on the pi!<br>speaking of that we need to create that file on the pi.<br>loginto the pi using putty above<\/p>\n\n\n\n<p>nano flash<br><\/p>\n\n\n\n<p>and paste this into it: (mark, ctrl+c and rightclick on putty-window)<br>try to make it loook like screenshow below with tabs<br><\/p>\n\n\n\n<p>#!\/bin\/sh<br><code>cd \/home\/pi\/tf4060\/tmp<br>unzip tf*<br>x=5<br>while [ $x -gt 0 ];<br>do<br>if \/home\/pi\/tf4060\/xc3sprog\/build\/xc3sprog -c matrix_creator -p0 -v \/home\/pi\/tf4060\/tmp\/tf*<em>.jed ; then<\/em><\/code><br><code><em>echo CPLD Programmed sucessfully, lets break the loop<\/em><\/code><br><code><em>break<\/em><\/code><br><code><em>else echo CPLD Programming failed, lets try again<\/em><\/code><br><code><em>fi<\/em><\/code><br><code><em>x=$(($x-1))<\/em><\/code><br><code><em>done<\/em><\/code><br><code><em>\/home\/pi\/tf4060\/fomu-flash\/fomu-flash -u -w \/home\/pi\/tf4060\/tmp\/tf<\/em>*.bin<br>\/home\/pi\/tf4060\/fomu-flash\/fomu-flash -r<br>rm \/home\/pi\/tf4060\/tmp -rf<br>mkdir \/home\/pi\/tf4060\/tmp<\/code><br><\/p>\n\n\n\n<p>(IF you need to remove a line.   ctrl+k removes that line you are at)<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-41.png\"><img loading=\"lazy\" decoding=\"async\" width=\"997\" height=\"685\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-41.png\" alt=\"\" class=\"wp-image-1570\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-41.png 997w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-41-300x206.png 300w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-41-768x528.png 768w\" sizes=\"auto, (max-width: 997px) 100vw, 997px\" \/><\/a><\/figure>\n\n\n\n<p>save with ctrl+x and yes<br>make it &#8220;executeable&#8221;<br>chmod +x flash<br><br>now your &#8220;flash.bat&#8221; should work from windows.<br><br>if you want to make this even MORE fancy.<br>make a file called &#8220;tf4060.reg&#8221; with this content<\/p>\n\n\n\n<p>Windows Registry Editor Version 5.00<\/p>\n\n\n\n<p>[HKEY_CLASSES_ROOT*\\shell\\FlashTF4060]<br>&#8220;Icon&#8221;=&#8221;cmd.exe&#8221;<br>&#8220;CommandFlags&#8221;=dword:00000020<\/p>\n\n\n\n<p>[HKEY_CLASSES_ROOT*\\shell\\FlashTF4060\\command]<br>@=&#8221;\\&#8221;C:\\batfiles\\flash.bat\\&#8221; \\&#8221;%1\\&#8221;&#8221;<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-42.png\"><img loading=\"lazy\" decoding=\"async\" width=\"400\" height=\"256\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-42.png\" alt=\"\" class=\"wp-image-1571\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-42.png 400w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-42-300x192.png 300w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/a><\/figure>\n\n\n\n<p>Save and and doubleclick.  it will then ask if you want to import this into your registry. tell yes.<\/p>\n\n\n\n<p>now you can rightclick on the firmware .zip file and choose Show more options -&gt; and get this:<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-43.png\"><img loading=\"lazy\" decoding=\"async\" width=\"798\" height=\"235\" src=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-43.png\" alt=\"\" class=\"wp-image-1572\" srcset=\"https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-43.png 798w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-43-300x88.png 300w, https:\/\/wordpress.hertell.nu\/wp-content\/uploads\/2024\/05\/image-43-768x226.png 768w\" sizes=\"auto, (max-width: 798px) 100vw, 798px\" \/><\/a><\/figure>\n\n\n\n<p>where you choose &#8220;FlashTF4060&#8221; and it will upload it to your pi and automatically flash the firmware.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><br>Old info here for &#8220;Archivement&#8221;<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>you unpack the file with:<\/p>\n\n\n\n<p>unzip<\/p>\n\n\n\n<p>flash the cpld with:<\/p>\n\n\n\n<p><kbd>xc3sprog\/build\/xc3sprog -c matrix_creator -p0 -v tf4060*.jed<\/kbd><\/p>\n\n\n\n<p>SOMETIMES this will fail with something with \u201cfuse\u201d if so. Redo the command.<\/p>\n\n\n\n<p>Flash the FPGA with:<\/p>\n\n\n\n<p><kbd>fomu-flash\/fomu-flash -u -w tf4060*.bin<\/kbd><\/p>\n\n\n\n<p>and reset the amiga and boot with command as above:<\/p>\n\n\n\n<p><kbd>fomu-flash\/fomu-flash -r<\/kbd><\/p>\n\n\n\n<p>extra: if you want to install (a very insecure \ud83d\ude42 )<br>samba server so you can copy files from your windowsmachine directly to the pi:<\/p>\n\n\n\n<p>write:<\/p>\n\n\n\n<p><kbd>sudo apt install -y samba<\/kbd><\/p>\n\n\n\n<p>lets do some config.<br>Write:<br><kbd>sudo nano \/etc\/samba\/smb.conf<br><\/kbd>(NOPE! I am not a \u201cvi\u201d guy)<br>go to bottom of file with cursor\/page down.<\/p>\n\n\n\n<p>Add:<\/p>\n\n\n\n<p><kbd><code>[tf4060]<br>comment = TF4060<br>path = \/home\/pi\/tf4060<br>guest ok = yes<br>browseable = yes<br>writeable = yes<br>force user = pi<br>force group = pi<\/code><\/kbd><\/p>\n\n\n\n<p>save with ctrl+x and answer y<br><kbd>sudo reboot<\/kbd><\/p>\n\n\n\n<p>and if you from your windowsmachine look for the machine \\ipaddress\\<br>you will see a share \u201ctf4060\u201d here you can copy in files like the firmwarefile.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is a writeup how to setup the raspberry pi for the TF4060 68060 Accelerator for Amiga 3000\/4000(call it a&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1469","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/wordpress.hertell.nu\/index.php?rest_route=\/wp\/v2\/posts\/1469","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.hertell.nu\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.hertell.nu\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.hertell.nu\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.hertell.nu\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1469"}],"version-history":[{"count":25,"href":"https:\/\/wordpress.hertell.nu\/index.php?rest_route=\/wp\/v2\/posts\/1469\/revisions"}],"predecessor-version":[{"id":2002,"href":"https:\/\/wordpress.hertell.nu\/index.php?rest_route=\/wp\/v2\/posts\/1469\/revisions\/2002"}],"wp:attachment":[{"href":"https:\/\/wordpress.hertell.nu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1469"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.hertell.nu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1469"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.hertell.nu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1469"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}