{"id":564,"date":"2013-06-16T09:36:27","date_gmt":"2013-06-16T09:36:27","guid":{"rendered":"http:\/\/retroramblings.net\/?p=564"},"modified":"2013-07-06T11:18:52","modified_gmt":"2013-07-06T11:18:52","slug":"loading-a-jpeg-with-the-zpu","status":"publish","type":"post","link":"https:\/\/retroramblings.net\/?p=564","title":{"rendered":"Loading a JPEG with the ZPU"},"content":{"rendered":"<p style=\"text-align: left;\">I&#8217;ve been playing around with the ZPU again, and exploring what&#8217;s needed to get such things as malloc() and rudimentary filesystem support working. By re-using the FAT filesystem code from the Minimig project&#8217;s firmware and creating a simple wrapper, I now have a complete enough system that I can load and display a JPEG file from SD card.<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/retroramblings.net\/wp-content\/uploads\/2013\/06\/DSC_7288.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-565\" alt=\"DSC_7288\" src=\"http:\/\/retroramblings.net\/wp-content\/uploads\/2013\/06\/DSC_7288.jpg\" width=\"654\" height=\"500\" srcset=\"https:\/\/retroramblings.net\/wp-content\/uploads\/2013\/06\/DSC_7288.jpg 654w, https:\/\/retroramblings.net\/wp-content\/uploads\/2013\/06\/DSC_7288-300x229.jpg 300w, https:\/\/retroramblings.net\/wp-content\/uploads\/2013\/06\/DSC_7288-392x300.jpg 392w\" sizes=\"auto, (max-width: 654px) 100vw, 654px\" \/><\/a><br \/>\n<em>An image in the process of being loaded<\/em><\/p>\n<p>A 640&#215;480 JPEG currently takes approximately 39 seconds to load and display &#8211; my next project will be to explore hardware acceleration of the DCT and see how much faster this can be made.<\/p>\n<p>A binary snapshot with DE1 and DE2 bitstreams, and files to go on the SD card <a href=\"http:\/\/retroramblings.net\/snapshots\/ZPUTest_Snapshot_20130615.zip\">can be found here<\/a><br \/>\nThe source repo is <a href=\"https:\/\/github.com\/robinsonb5\/ZPUTest\/tree\/2013-06-15\">tagged to match this snapshot.<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve been playing around with the ZPU again, and exploring what&#8217;s needed to get such things as malloc() and rudimentary filesystem support working. By re-using the FAT filesystem code from the Minimig project&#8217;s firmware and creating a simple wrapper, I &hellip; <a href=\"https:\/\/retroramblings.net\/?p=564\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-564","post","type-post","status-publish","format-standard","hentry","category-fpga"],"_links":{"self":[{"href":"https:\/\/retroramblings.net\/index.php?rest_route=\/wp\/v2\/posts\/564","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/retroramblings.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/retroramblings.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/retroramblings.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/retroramblings.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=564"}],"version-history":[{"count":4,"href":"https:\/\/retroramblings.net\/index.php?rest_route=\/wp\/v2\/posts\/564\/revisions"}],"predecessor-version":[{"id":596,"href":"https:\/\/retroramblings.net\/index.php?rest_route=\/wp\/v2\/posts\/564\/revisions\/596"}],"wp:attachment":[{"href":"https:\/\/retroramblings.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=564"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/retroramblings.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=564"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/retroramblings.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=564"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}