{"action":"created","issue":{"url":"https://api.github.com/repos/rdanbrook/nestopia/issues/172","repository_url":"https://api.github.com/repos/rdanbrook/nestopia","labels_url":"https://api.github.com/repos/rdanbrook/nestopia/issues/172/labels{/name}","comments_url":"https://api.github.com/repos/rdanbrook/nestopia/issues/172/comments","events_url":"https://api.github.com/repos/rdanbrook/nestopia/issues/172/events","html_url":"https://github.com/rdanbrook/nestopia/issues/172","id":145659710,"number":172,"title":"Mapper 22/23 mirroring selection inaccurately emulated","user":{"login":"koitsu","id":8430773,"avatar_url":"https://avatars.githubusercontent.com/u/8430773?v=3","gravatar_id":"","url":"https://api.github.com/users/koitsu","html_url":"https://github.com/koitsu","followers_url":"https://api.github.com/users/koitsu/followers","following_url":"https://api.github.com/users/koitsu/following{/other_user}","gists_url":"https://api.github.com/users/koitsu/gists{/gist_id}","starred_url":"https://api.github.com/users/koitsu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/koitsu/subscriptions","organizations_url":"https://api.github.com/users/koitsu/orgs","repos_url":"https://api.github.com/users/koitsu/repos","events_url":"https://api.github.com/users/koitsu/events{/privacy}","received_events_url":"https://api.github.com/users/koitsu/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2016-04-04T11:39:05Z","updated_at":"2016-04-06T08:46:32Z","closed_at":null,"body":"Issue: Mapper 22 (VRC2a) and 23 (VRC2b) mirroring selection ($9000-9003) is inaccurately emulated.\r\n\r\nDetails: For some time, VRC2a/2b reverse-engineering documentation has been incorrect (docs by Goroh and Disch are incorrect); said docs stated VRC2a/2b supported 4 different modes of mirroring (H, V,  1-screen (lower), 1-screen (upper)), similar to VRC4.\r\n\r\nThis has been fully debunked through several means (incl. but not limited to translation of official Konami VRC2 docs).  It's been determined that VRC2a/2b only implements H/V mirroring, controlled via bit 0; there is no 1-screen support in VRC2a/2b.\r\n\r\nInaccurate emulation of this register manifests itself badly in Konami's Wai Wai World (mapper 23), where in late stages of the game -- particularly parts of the overhead vertically-scrolling shooter stage, and the staff roll/credits -- graphics appear corrupted.\r\n\r\nFix: patch not available, but the proper solution is to only honour bit 0 of writes to $9000-9003 registers (0=V, 1=H).\r\n\r\nSave states for testing (.zip file):\r\n* Download: https://www.dropbox.com/s/9bij8iv41rvr6x1/Wai%20Wai%20World%20%28J%29.states.zip?dl=0\r\n* For use with ROM: Wai Wai World (J).nes -- MD5 752353ccc6678c727926b661c7ad5e3f\r\n* ns1 = Press Start, jump into the ship; \"boss graphics\" corrupted, and very ending screen after staff roll is corrupted\r\n* ns2 = Part of the vertically-scrolling stage (demo/attract mode); graphics (mid-screen) during panning are corrupted\r\n\r\nReferences:\r\n* Video: https://www.youtube.com/watch?v=501HIakfGQs&t=2h15m0s\r\n* Video: https://www.youtube.com/watch?v=501HIakfGQs&t=2h32m39s\r\n* Full analysis: http://forums.nesdev.com/viewtopic.php?f=3&t=13473\r\n* Wiki: http://wiki.nesdev.com/w/index.php/VRC2\r\n"},"comment":{"url":"https://api.github.com/repos/rdanbrook/nestopia/issues/comments/206225372","html_url":"https://github.com/rdanbrook/nestopia/issues/172#issuecomment-206225372","issue_url":"https://api.github.com/repos/rdanbrook/nestopia/issues/172","id":206225372,"user":{"login":"dragon2snow","id":4350811,"avatar_url":"https://avatars.githubusercontent.com/u/4350811?v=3","gravatar_id":"","url":"https://api.github.com/users/dragon2snow","html_url":"https://github.com/dragon2snow","followers_url":"https://api.github.com/users/dragon2snow/followers","following_url":"https://api.github.com/users/dragon2snow/following{/other_user}","gists_url":"https://api.github.com/users/dragon2snow/gists{/gist_id}","starred_url":"https://api.github.com/users/dragon2snow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dragon2snow/subscriptions","organizations_url":"https://api.github.com/users/dragon2snow/orgs","repos_url":"https://api.github.com/users/dragon2snow/repos","events_url":"https://api.github.com/users/dragon2snow/events{/privacy}","received_events_url":"https://api.github.com/users/dragon2snow/received_events","type":"User","site_admin":false},"created_at":"2016-04-06T08:46:32Z","updated_at":"2016-04-06T08:46:32Z","body":"VRC2 is h,v,0,1,but wai wai world ..."}}