{"push_id":1031069582,"size":6,"distinct_size":6,"ref":"refs/heads/master","head":"11e1dd3597fefc959828e2c1313c1e0d2806a38c","before":"2bf36942ffd2e1a33d7a421419be701904a4a8a1","commits":[{"sha":"b88da104b14ac1777fe783e659f00d8c059a4fca","author":{"email":"82b256c93b3a55b4c3e99cc327be7769a415464b@gmail.com","name":"Chuck Ries"},"message":"Rewrite Input for extensibility.\n\nThis change puts the new infrastructure in place. This includes:\n\n1. IControllerPortDevice Interface: Basic interface for any device that\nis connected to a controller port and read by the CPU\n\n2. IStandardController Interface: Basic interface representing a standard\ncontroller with 8 pushable buttons\n\n3. StandardController Class: Implementation of the IControllerPortDevice\nand IStandardController interfaces that makes a standard controller work.\n\n4. Moves the old IInput interface to IHostInput. This is only needed if\nusing the Nes::Run function, which takes an IHostInput*. This allows Nes\nto check for input from the host. Implementations of IHostInput should\ninternally drive an IStandardController* that it obtained from the Nes.\n\nTODO:\nI still need to figure out the exact lifetime management for input\ndevices that are created by Nes but handed out to callers.","distinct":true,"url":"https://api.github.com/repos/plnelson/nes/commits/b88da104b14ac1777fe783e659f00d8c059a4fca"},{"sha":"d000dbc026c4a5d381e917118baa7872d2077606","author":{"email":"82b256c93b3a55b4c3e99cc327be7769a415464b@gmail.com","name":"Chuck Ries"},"message":"Implement lifetime management for standard controllers\n\nCome up with a memory management system for controllers. When a controller\nis requested, it will created by Nes and a bare pointer to it will be\nreturned to the caller. If there was an exiting IControllerPortDevice\nattached to the device, it's memory will be freed and all pointers\npreviously handed out will be invalid.","distinct":true,"url":"https://api.github.com/repos/plnelson/nes/commits/d000dbc026c4a5d381e917118baa7872d2077606"},{"sha":"cf5d3f00c395a309e118e22ee39b20acf3c2c9af","author":{"email":"82b256c93b3a55b4c3e99cc327be7769a415464b@gmail.com","name":"Chuck Ries"},"message":"Don't allow left/right up/down to be pressed at same time","distinct":true,"url":"https://api.github.com/repos/plnelson/nes/commits/cf5d3f00c395a309e118e22ee39b20acf3c2c9af"},{"sha":"a073399f62059893dec2610b107909118a24255b","author":{"email":"d0629386f3535b67f55f65732f13aab869b385b9@microsoft.com","name":"Chuck Ries"},"message":"Merge pull request #25 from chuckries/input\n\nInput","distinct":true,"url":"https://api.github.com/repos/plnelson/nes/commits/a073399f62059893dec2610b107909118a24255b"},{"sha":"827371a5222e1d0928c8922f9472d6f5f11d8f56","author":{"email":"8d3e02933af5495295ac4274f1ca88c17f478179@microsoft.com","name":"Chuck Ries"},"message":"Initialize sprite data to empty/zero\n\nInformation related to sprite rendering was not getting initalized to zero\nin the ppu. This could cause initial sprites in a game to be bogus.","distinct":true,"url":"https://api.github.com/repos/plnelson/nes/commits/827371a5222e1d0928c8922f9472d6f5f11d8f56"},{"sha":"11e1dd3597fefc959828e2c1313c1e0d2806a38c","author":{"email":"d0629386f3535b67f55f65732f13aab869b385b9@microsoft.com","name":"Chuck Ries"},"message":"Merge pull request #26 from chuckries/sprite-fix\n\nInitialize sprite data to empty/zero","distinct":true,"url":"https://api.github.com/repos/plnelson/nes/commits/11e1dd3597fefc959828e2c1313c1e0d2806a38c"}]}