{"id":249,"date":"2017-12-13T13:46:00","date_gmt":"2017-12-13T12:46:00","guid":{"rendered":"http:\/\/gendev.spritesmind.net\/wip\/?p=249"},"modified":"2021-06-29T22:37:13","modified_gmt":"2021-06-29T21:37:13","slug":"whats-wrong-with-cc65s-pce","status":"publish","type":"post","link":"http:\/\/gendev.spritesmind.net\/wip\/2017\/12\/whats-wrong-with-cc65s-pce\/","title":{"rendered":"What&#8217;s wrong with CC65&#8217;s PCE ?"},"content":{"rendered":"<p>While playing a little with CC65, I quickly saw a lot of problems on PCEngine target?<\/p>\n<p>It&#8217;s not about the code itself, written in pure asm, since I doesn&#8217;t master the PCEngine yet but about some logic involved.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Compatibility between target<\/strong><\/p>\n<p>I understand why but trying to get the same code build the same way on some different target is a real problem.<\/p>\n<p>We&#8217;re not talking about windows, macos, linux here&#8230;<\/p>\n<p>We&#8217;re talking about NES, Apple2, embedded system, &#8230;<\/p>\n<p>There are feature which are and will never be available on every target.<\/p>\n<p>so while the &#8216;port CC65 lib&#8217; to your target could be a great thing, it&#8217;s all depend on what &#8216;CC65 lib&#8217; is!<\/p>\n<p>And, for me, it&#8217;s too much.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>We don&#8217;t care about this !<\/strong><\/p>\n<p>conio, tgi, disk, file &#8230;.it&#8217;s not what we want !<\/p>\n<p>runtime, stdlib and some basic C functions are the bare minimum&#8230;.and it&#8217;s perfect !<\/p>\n<p>conio could be used but we don&#8217;t care about putting a char or a string on screen, we want to put tiles, with all their properties.<\/p>\n<p>So perfect for a HelloWorld but no way for a game !<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Drivers ?<\/strong><\/p>\n<p>Mouse and joystick are loaded like driver.<\/p>\n<p>We&#8217;re not talking about a Personal Computer here, but a video game system, when optimization is the key.<\/p>\n<p>So, a driver in memory, no thanks !<\/p>\n<p>I want to read joy input every frame, from the gameloop<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>I pretty sure more problems will be spotted on the coming weeks but, for now, I need to take care of these ones.<\/p>\n<p>Don&#8217;t get me wrong, CC65 is good, and the available PCEngine port (and so HuC6280&#8217;s instructions set support) is a great start.<\/p>\n<p>But I think a dedicated PCEngine game port should be done.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>While playing a little with CC65, I quickly saw a lot of problems on PCEngine target? It&#8217;s not about the code itself, written in pure asm, since I doesn&#8217;t master the PCEngine yet but about some logic involved. &nbsp; Compatibility between target I understand why but trying to get the same code build the same [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[10],"tags":[],"_links":{"self":[{"href":"http:\/\/gendev.spritesmind.net\/wip\/wp-json\/wp\/v2\/posts\/249"}],"collection":[{"href":"http:\/\/gendev.spritesmind.net\/wip\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/gendev.spritesmind.net\/wip\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/gendev.spritesmind.net\/wip\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/gendev.spritesmind.net\/wip\/wp-json\/wp\/v2\/comments?post=249"}],"version-history":[{"count":1,"href":"http:\/\/gendev.spritesmind.net\/wip\/wp-json\/wp\/v2\/posts\/249\/revisions"}],"predecessor-version":[{"id":250,"href":"http:\/\/gendev.spritesmind.net\/wip\/wp-json\/wp\/v2\/posts\/249\/revisions\/250"}],"wp:attachment":[{"href":"http:\/\/gendev.spritesmind.net\/wip\/wp-json\/wp\/v2\/media?parent=249"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/gendev.spritesmind.net\/wip\/wp-json\/wp\/v2\/categories?post=249"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/gendev.spritesmind.net\/wip\/wp-json\/wp\/v2\/tags?post=249"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}