{"id":157,"date":"2021-05-01T20:54:55","date_gmt":"2021-05-02T01:54:55","guid":{"rendered":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc1\/?p=157"},"modified":"2021-05-01T20:54:55","modified_gmt":"2021-05-02T01:54:55","slug":"andys-status-report-for-05-01-2021","status":"publish","type":"post","link":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc1\/2021\/05\/01\/andys-status-report-for-05-01-2021\/","title":{"rendered":"Andy&#8217;s Status Report for 05\/01\/2021"},"content":{"rendered":"<p>This week, I was able to finish the sprite engine. Then, Joseph and I worked together to debug it and the library interface that is used to communicate with it. As seems to always be the case, debugging took more time than I expected. However, the sprite engine and library are now fully operational.<\/p>\n<p>After some discussion at the beginning of the week, we decided to move away from the notion of making an entire game for our system. Instead, Joseph has made a small tech demo, and I\u2019m porting an NES emulator that I wrote a few years ago to our system (while having it use our graphics card for hardware acceleration, so that it shows off the capabilities of our console and library).<\/p>\n<p>As such, after the sprite engine was finished the remainder of my time has been spent working on the port. At the moment, the emulator itself can be built for our console and against our library, and the games will load and run. The audio and controller interfaces have been successfully moved from SDL2 to the FP-GAme library. Unfortunately, I haven\u2019t yet finished the graphics card port yet (so I can hear Mega Man 2 and navigate the menus, but not see it; that\u2019s fine, the music was the best part of that game anyway), but I didn\u2019t expect to, so I\u2019m still on schedule. The port will need to include functions to translate calls to the NES graphics card into calls to our PPU, so it\u2019ll take a bit more work than the other pieces. My current goal is to have that done before Sunday night, so that we can include it in the presentation.<\/p>\n<p>As part of my work on porting the emulator, I was able to set up a more consistent build environment for user mode C\/C++ applications (oh yeah, our library works with C++ now because that\u2019s what my emulator was written in). Before, we had been building all of our user mode programs against the c standard libraries installed on the system being built on. That isn\u2019t a great setup, and so we now build against the libraries provided by our cross compiler.<\/p>\n<p>Over the course of this coming week (the last week!), I\u2019ll be finishing the NES emulator port and whatever else needs finishing (documentation, small tests, etc).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This week, I was able to finish the sprite engine. Then, Joseph and I worked together to debug it and the library interface that is used to communicate with it. As seems to always be the case, debugging took more time than I expected. However, the sprite engine and library are now fully operational. After &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc1\/2021\/05\/01\/andys-status-report-for-05-01-2021\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Andy&#8217;s Status Report for 05\/01\/2021&#8221;<\/span><\/a><\/p>\n","protected":false},"author":411,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[4],"_links":{"self":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc1\/wp-json\/wp\/v2\/posts\/157"}],"collection":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc1\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc1\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc1\/wp-json\/wp\/v2\/users\/411"}],"replies":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc1\/wp-json\/wp\/v2\/comments?post=157"}],"version-history":[{"count":1,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc1\/wp-json\/wp\/v2\/posts\/157\/revisions"}],"predecessor-version":[{"id":158,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc1\/wp-json\/wp\/v2\/posts\/157\/revisions\/158"}],"wp:attachment":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc1\/wp-json\/wp\/v2\/media?parent=157"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc1\/wp-json\/wp\/v2\/categories?post=157"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc1\/wp-json\/wp\/v2\/tags?post=157"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}