{"id":589,"date":"2020-08-16T21:27:25","date_gmt":"2020-08-16T21:27:25","guid":{"rendered":"https:\/\/www.root42.de\/blog\/?p=589"},"modified":"2020-08-16T21:27:25","modified_gmt":"2020-08-16T21:27:25","slug":"lets-code-ms-dos-0x16-fire-exclamation-mark","status":"publish","type":"post","link":"https:\/\/www.root42.de\/blog\/?p=589","title":{"rendered":"Let\u2019s Code MS DOS 0x16: Fire Exclamation Mark!"},"content":{"rendered":"\n<p>It\u2019s summer and it\u2019s hot. And what better to code than another classic demo scene effect: the ubiquitous fire. But we will do it with a twist. The naive implementation is slow, very slow. Especially on older 286-486 computers. We will optimize the actual algorithm a bit and utilize a hidden VGA function that gives us scaling in the X-direction by a factor of 4 for free.<\/p>\n\n\n\n<figure class=\"wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Let&#039;s Code MS DOS 0x16: Fire Exclamation Mark!\" width=\"840\" height=\"473\" src=\"https:\/\/www.youtube.com\/embed\/Hn-3_Q30lqs?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>It\u2019s summer and it\u2019s hot. And what better to code than another classic demo scene effect: the ubiquitous fire. But we will do it with a twist. The naive implementation is slow, very slow. Especially on older 286-486 computers. We will optimize the actual algorithm a bit and utilize a hidden VGA function that gives &hellip; <a href=\"https:\/\/www.root42.de\/blog\/?p=589\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Let\u2019s Code MS DOS 0x16: Fire Exclamation Mark!&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[147,148],"_links":{"self":[{"href":"https:\/\/www.root42.de\/blog\/index.php?rest_route=\/wp\/v2\/posts\/589"}],"collection":[{"href":"https:\/\/www.root42.de\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.root42.de\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.root42.de\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.root42.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=589"}],"version-history":[{"count":1,"href":"https:\/\/www.root42.de\/blog\/index.php?rest_route=\/wp\/v2\/posts\/589\/revisions"}],"predecessor-version":[{"id":590,"href":"https:\/\/www.root42.de\/blog\/index.php?rest_route=\/wp\/v2\/posts\/589\/revisions\/590"}],"wp:attachment":[{"href":"https:\/\/www.root42.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=589"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.root42.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=589"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.root42.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=589"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}