{"id":391,"date":"2014-06-23T11:36:45","date_gmt":"2014-06-23T09:36:45","guid":{"rendered":"http:\/\/sd2snes.de\/blog\/?p=391"},"modified":"2014-06-24T13:02:10","modified_gmt":"2014-06-24T11:02:10","slug":"current-status-for-v0-1-7","status":"publish","type":"post","link":"https:\/\/sd2snes.de\/blog\/archives\/391","title":{"rendered":"Current status for v0.1.7"},"content":{"rendered":"<p>Here&#8217;s what I&#8217;ve been working on in the meantime:<\/p>\n<ul>\n<li>More refactorings of the menu ROM. This will facilitate further UI development (sub-menus etc.)<\/li>\n<li>NMI+IRQ hook routine &#8211; these are required for WRAM cheats and in-game reset. The latter is in working state as of now. I&#8217;d like some input on which key combinations would be desirable \ud83d\ude09 (some conflicts can arise with existing SNES mods, see below). There is now a dedicated memory area in FPGA block RAM mapped to $2a00-$2aff which is used for the hook routine and command exchange between a running game and the sd2snes main CPU.<\/li>\n<li>Game loading handshake between SNES menu and sd2snes CPU &#8211; this is a technical prerequisite for error handling (such as missing supplementary files, write-protected SD Card, etc.)<\/li>\n<li>LED blink codes for file system errors &#8211; e.g. in case the SRM file cannot be saved this will tell you that something&#8217;s gone wrong. Also the sd2snes will retry saving until it works so you have the chance to swap out the SD Card etc.<\/li>\n<li>&#8220;Screen saver&#8221; &#8211; the screen is darkened after some idle time to reduce wear on CRT and plasma screens.<\/li>\n<li>Memory sharing between SNES and the sd2snes CPU is greatly simplified (The FSM is reduced to only 5 states instead of 18) and timing is more relaxed. This should help with stability on a wider range of consoles.<\/li>\n<li>Fixed some compatibility issues with a number of games. (Super Play Action Football (S-RTC interference), GP1 Part II (WRAM initialization), Human Grand Prix (mapper detection bug))<\/li>\n<\/ul>\n<p>To do for the upcoming release:<\/p>\n<ul>\n<li>Cheat management &#8211; technical prerequisites for cheats (ROM+WRAM) are met, now to code the GUI for it&#8230;<\/li>\n<li>Finish on-the-fly file browsing<\/li>\n<li>Decide on key combinations for in-game functions. (en\/disable cheats, kill cheat engine, reset game, reset to menu)<\/li>\n<\/ul>\n<p>About key combinations:<br \/>\nI wanted to use combinations that don&#8217;t interfere with my <a href=\"http:\/\/sd2snes.de\/blog\/cool-stuff\/in-game-reset\" title=\"In Game Reset\" target=\"_blank\">SNES IGR mod<\/a>. This mod uses L+R+Select in combination with Start, A, B, X, or Y to perform different operations. In that scenario I still had the four directional buttons left to put other functions on. However \ud83d\ude00 With borti4938&#8217;s release of the feature-enriched uIGR <a href=\"https:\/\/github.com\/mrehkopf\/sd2snes\/blob\/develop\/misc\/uigr\/snes-uigr.asm#L64\" title=\"UIGR source code - button mapping\" target=\"_blank\">these are now taken<\/a>.<\/p>\n<p>So far this is my new proposal for key combinations (<b>UPDATED<\/b> 2014-06-24):<br \/>\n\n<table id=\"tablepress-3\" class=\"tablepress tablepress-id-3\">\n<thead>\n<tr class=\"row-1\">\n\t<th class=\"column-1\">Buttons<\/th><th class=\"column-2\">Function<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-striping row-hover\">\n<tr class=\"row-2\">\n\t<td class=\"column-1\">L+R+Select+Start<\/td><td class=\"column-2\">Reset game<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">L+R+Select+X<\/td><td class=\"column-2\">Reset to sd2snes menu<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\">L+R+Start+B<\/td><td class=\"column-2\">Disable cheats<\/td>\n<\/tr>\n<tr class=\"row-5\">\n\t<td class=\"column-1\">L+R+Start+A<\/td><td class=\"column-2\">Enable cheats<\/td>\n<\/tr>\n<tr class=\"row-6\">\n\t<td class=\"column-1\">L+R+Start+Y<\/td><td class=\"column-2\">Kill in-game routines (in case they interfere with game operation).<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-3 from cache --><br \/>\nUpdated to reflect some of your suggestions. Already looks better to me. I steered clear of L+R+Start+X because it&#8217;s similar to L+R+Select+X. \ud83d\ude09<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Here&#8217;s what I&#8217;ve been working on in the meantime: More refactorings of the menu ROM. This will facilitate further UI development (sub-menus etc.) NMI+IRQ hook routine &#8211; these are required for WRAM cheats and in-game reset. The latter is in working state as of now. I&#8217;d like some input on which key combinations would be desirable \ud83d\ude09 (some conflicts can arise with existing SNES mods, see below). There is now a dedicated memory area in FPGA block RAM mapped to&#8230;<\/p>\n<p class=\"read-more\"><a class=\"btn btn-default\" href=\"https:\/\/sd2snes.de\/blog\/archives\/391\"> Read More<span class=\"screen-reader-text\">  Read More<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-391","post","type-post","status-publish","format-standard","hentry","category-sd2snes"],"_links":{"self":[{"href":"https:\/\/sd2snes.de\/blog\/wp-json\/wp\/v2\/posts\/391","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sd2snes.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sd2snes.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sd2snes.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sd2snes.de\/blog\/wp-json\/wp\/v2\/comments?post=391"}],"version-history":[{"count":12,"href":"https:\/\/sd2snes.de\/blog\/wp-json\/wp\/v2\/posts\/391\/revisions"}],"predecessor-version":[{"id":407,"href":"https:\/\/sd2snes.de\/blog\/wp-json\/wp\/v2\/posts\/391\/revisions\/407"}],"wp:attachment":[{"href":"https:\/\/sd2snes.de\/blog\/wp-json\/wp\/v2\/media?parent=391"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sd2snes.de\/blog\/wp-json\/wp\/v2\/categories?post=391"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sd2snes.de\/blog\/wp-json\/wp\/v2\/tags?post=391"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}