{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":324473637,"defaultBranch":"master","name":"ohNES","ownerLogin":"oleiman","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2020-12-26T03:25:21.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1635704?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1686448972.729006","currentOid":""},"activityList":{"items":[{"before":"63f2bbbb79bdbd034c519cbb75fc8e55c3081865","after":"41d0927e4ab0f621d3f362fec15072c86a8cba1c","ref":"refs/heads/master","pushedAt":"2023-06-11T02:07:00.417Z","pushType":"push","commitsCount":1,"pusher":{"login":"oleiman","name":"Oren Leiman","path":"/oleiman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1635704?s=80&v=4"},"commit":{"message":"Fix a few build issues in wxWidgets app code (Linux target)","shortMessageHtmlLink":"Fix a few build issues in wxWidgets app code (Linux target)"}},{"before":null,"after":"41d0927e4ab0f621d3f362fec15072c86a8cba1c","ref":"refs/heads/linux-fixup","pushedAt":"2023-06-11T02:02:52.729Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"oleiman","name":"Oren Leiman","path":"/oleiman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1635704?s=80&v=4"},"commit":{"message":"Fix a few build issues in wxWidgets app code (Linux target)","shortMessageHtmlLink":"Fix a few build issues in wxWidgets app code (Linux target)"}},{"before":"63f2bbbb79bdbd034c519cbb75fc8e55c3081865","after":null,"ref":"refs/heads/readme","pushedAt":"2023-04-10T06:35:00.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"oleiman","name":"Oren Leiman","path":"/oleiman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1635704?s=80&v=4"}},{"before":"9c8be94dfa1d3187f034016b72135d97105759c8","after":"63f2bbbb79bdbd034c519cbb75fc8e55c3081865","ref":"refs/heads/master","pushedAt":"2023-04-10T06:34:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"oleiman","name":"Oren Leiman","path":"/oleiman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1635704?s=80&v=4"},"commit":{"message":"README.md improvements","shortMessageHtmlLink":"README.md improvements"}},{"before":"ed89559f9dd02065ce2c0a28062563b455749740","after":"63f2bbbb79bdbd034c519cbb75fc8e55c3081865","ref":"refs/heads/readme","pushedAt":"2023-04-10T06:32:31.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"oleiman","name":"Oren Leiman","path":"/oleiman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1635704?s=80&v=4"},"commit":{"message":"README.md improvements","shortMessageHtmlLink":"README.md improvements"}},{"before":"cf05e598964a97cf1f94d2204454b50a818c94a4","after":"ed89559f9dd02065ce2c0a28062563b455749740","ref":"refs/heads/readme","pushedAt":"2023-04-10T06:29:30.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"oleiman","name":"Oren Leiman","path":"/oleiman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1635704?s=80&v=4"},"commit":{"message":"README.md improvements","shortMessageHtmlLink":"README.md improvements"}},{"before":null,"after":"cf05e598964a97cf1f94d2204454b50a818c94a4","ref":"refs/heads/readme","pushedAt":"2023-04-10T06:26:55.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"oleiman","name":"Oren Leiman","path":"/oleiman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1635704?s=80&v=4"},"commit":{"message":"README.md improvements","shortMessageHtmlLink":"README.md improvements"}},{"before":"9c8be94dfa1d3187f034016b72135d97105759c8","after":null,"ref":"refs/heads/more-tests","pushedAt":"2023-04-09T19:56:42.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"oleiman","name":"Oren Leiman","path":"/oleiman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1635704?s=80&v=4"}},{"before":"fcc6eac26a589d636737123a2febbbbcdc7f7faa","after":"9c8be94dfa1d3187f034016b72135d97105759c8","ref":"refs/heads/master","pushedAt":"2023-04-09T19:56:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"oleiman","name":"Oren Leiman","path":"/oleiman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1635704?s=80&v=4"},"commit":{"message":"Adds a test for sketchy PPU::Sprite union/bitfield","shortMessageHtmlLink":"Adds a test for sketchy PPU::Sprite union/bitfield"}},{"before":null,"after":"9c8be94dfa1d3187f034016b72135d97105759c8","ref":"refs/heads/more-tests","pushedAt":"2023-04-09T19:52:14.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"oleiman","name":"Oren Leiman","path":"/oleiman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1635704?s=80&v=4"},"commit":{"message":"Adds a test for sketchy PPU::Sprite union/bitfield","shortMessageHtmlLink":"Adds a test for sketchy PPU::Sprite union/bitfield"}},{"before":"fcc6eac26a589d636737123a2febbbbcdc7f7faa","after":null,"ref":"refs/heads/control-debugger","pushedAt":"2023-04-09T05:30:32.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"oleiman","name":"Oren Leiman","path":"/oleiman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1635704?s=80&v=4"}},{"before":"c20f03dbb35f3ce3e9c46e5a74595b4da528170a","after":"fcc6eac26a589d636737123a2febbbbcdc7f7faa","ref":"refs/heads/master","pushedAt":"2023-04-09T05:30:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"oleiman","name":"Oren Leiman","path":"/oleiman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1635704?s=80&v=4"},"commit":{"message":"Adds a live-updated controller visualization to the PPU debugger\n\nJust checks the state of joypad1 at render time, so works with\nkeyboard, controller, or movie playback.","shortMessageHtmlLink":"Adds a live-updated controller visualization to the PPU debugger"}},{"before":null,"after":"fcc6eac26a589d636737123a2febbbbcdc7f7faa","ref":"refs/heads/control-debugger","pushedAt":"2023-04-09T05:27:02.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"oleiman","name":"Oren Leiman","path":"/oleiman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1635704?s=80&v=4"},"commit":{"message":"Adds a live-updated controller visualization to the PPU debugger\n\nJust checks the state of joypad1 at render time, so works with\nkeyboard, controller, or movie playback.","shortMessageHtmlLink":"Adds a live-updated controller visualization to the PPU debugger"}},{"before":"c20f03dbb35f3ce3e9c46e5a74595b4da528170a","after":null,"ref":"refs/heads/record-playback","pushedAt":"2023-04-05T01:53:32.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"oleiman","name":"Oren Leiman","path":"/oleiman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1635704?s=80&v=4"}},{"before":"4445bd4cc25df47b155a86ae2b32758ae235753c","after":"c20f03dbb35f3ce3e9c46e5a74595b4da528170a","ref":"refs/heads/master","pushedAt":"2023-04-05T01:53:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"oleiman","name":"Oren Leiman","path":"/oleiman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1635704?s=80&v=4"},"commit":{"message":"Adds input recording and playback\n\n- Custom SDL event for movie generated input events\n- InputHandler specialization for same\n- Input events written out to a binary file (_.rec)\n - Frames delineated by UINT32_MAX\n - Frame grouping is convenient as SDL events are polled before starting each frame\n- sdl_internal::MoviePlayer to play back input recordings\n- All controlled by CLI flags\n - record | bool: write input events to file\n - movie | string: play back input events from specified file, frame by frame:","shortMessageHtmlLink":"Adds input recording and playback"}},{"before":"45179001a38f43613b02bb604ad39d17c98520d4","after":"c20f03dbb35f3ce3e9c46e5a74595b4da528170a","ref":"refs/heads/record-playback","pushedAt":"2023-04-05T01:50:29.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"oleiman","name":"Oren Leiman","path":"/oleiman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1635704?s=80&v=4"},"commit":{"message":"Adds input recording and playback\n\n- Custom SDL event for movie generated input events\n- InputHandler specialization for same\n- Input events written out to a binary file (_.rec)\n - Frames delineated by UINT32_MAX\n - Frame grouping is convenient as SDL events are polled before starting each frame\n- sdl_internal::MoviePlayer to play back input recordings\n- All controlled by CLI flags\n - record | bool: write input events to file\n - movie | string: play back input events from specified file, frame by frame:","shortMessageHtmlLink":"Adds input recording and playback"}},{"before":null,"after":"45179001a38f43613b02bb604ad39d17c98520d4","ref":"refs/heads/record-playback","pushedAt":"2023-04-05T01:42:17.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"oleiman","name":"Oren Leiman","path":"/oleiman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1635704?s=80&v=4"},"commit":{"message":"Adds input recording and playback\n\n- Custom SDL event for movie generated input events\n- InputHandler specialization for same\n- Input events written out to a binary file (_.rec)\n - Frames delineated by UINT32_MAX\n - Frame grouping is convenient as SDL events are polled before starting each frame\n- sdl_internal::MoviePlayer to play back input recordings\n- All controlled by CLI flags\n - record | bool: write input events to file\n - movie | string: play back input events from specified file, frame by frame:","shortMessageHtmlLink":"Adds input recording and playback"}},{"before":"4445bd4cc25df47b155a86ae2b32758ae235753c","after":null,"ref":"refs/heads/controller","pushedAt":"2023-04-03T05:01:00.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"oleiman","name":"Oren Leiman","path":"/oleiman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1635704?s=80&v=4"}},{"before":"60bd6304fa97d3a4795dc7525ea40c38ec31c502","after":"4445bd4cc25df47b155a86ae2b32758ae235753c","ref":"refs/heads/master","pushedAt":"2023-04-03T05:00:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"oleiman","name":"Oren Leiman","path":"/oleiman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1635704?s=80&v=4"},"commit":{"message":"Support for hot-plugging usb game controllers.\n\n- Uses SDL GameController subsystem\n- Somewhat over-complicated event dispatch machinery\n - Pros:\n - fairly clean client interface (just forward events to a static method)\n - button mapping, press/release abstracted for keyboard and controller cases\n - Cons:\n - lots of words, template overkill\n- Keyboard handlers for game control moved to input module, but app-level keyboard\n controls still handled in main. debugger control, window focus, etc.\n- General design goal is to expose provide extensibility to play back a recording\n of control events without having to add a bunch of custom handlingin main.","shortMessageHtmlLink":"Support for hot-plugging usb game controllers."}},{"before":"43a998051ec738ec1ba7259cff7075a52dfa90ab","after":"4445bd4cc25df47b155a86ae2b32758ae235753c","ref":"refs/heads/controller","pushedAt":"2023-04-03T04:57:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"oleiman","name":"Oren Leiman","path":"/oleiman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1635704?s=80&v=4"},"commit":{"message":"Support for hot-plugging usb game controllers.\n\n- Uses SDL GameController subsystem\n- Somewhat over-complicated event dispatch machinery\n - Pros:\n - fairly clean client interface (just forward events to a static method)\n - button mapping, press/release abstracted for keyboard and controller cases\n - Cons:\n - lots of words, template overkill\n- Keyboard handlers for game control moved to input module, but app-level keyboard\n controls still handled in main. debugger control, window focus, etc.\n- General design goal is to expose provide extensibility to play back a recording\n of control events without having to add a bunch of custom handlingin main.","shortMessageHtmlLink":"Support for hot-plugging usb game controllers."}},{"before":"5bc109be0afaa5ffa68aa41073afc1a26e37e95f","after":"43a998051ec738ec1ba7259cff7075a52dfa90ab","ref":"refs/heads/controller","pushedAt":"2023-04-03T00:41:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"oleiman","name":"Oren Leiman","path":"/oleiman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1635704?s=80&v=4"},"commit":{"message":"Support for hot-plugging usb game controllers.\n\n- Uses SDL GameController subsystem\n- Somewhat over-complicated event dispatch machinery\n - Pros:\n - fairly clean client interface (just forward events to a static method)\n - button mapping, press/release abstracted for keyboard and controller cases\n - Cons:\n - lots of words, template overkill\n- Keyboard handlers for game control moved to input module, but app-level keyboard\n controls still handled in main. debugger control, window focus, etc.","shortMessageHtmlLink":"Support for hot-plugging usb game controllers."}},{"before":"f9cdb9c8a287f726a06f46ddccfab12a72723850","after":"5bc109be0afaa5ffa68aa41073afc1a26e37e95f","ref":"refs/heads/controller","pushedAt":"2023-04-03T00:41:17.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"oleiman","name":"Oren Leiman","path":"/oleiman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1635704?s=80&v=4"},"commit":{"message":"Support for hot-plugging usb game controllers.\n\n- Uses SDL GameController subsystem\n- Somewhat over-complicated event dispatch machinery\n - Pros:\n - fairly clean client interface (just forward events to a static method)\n - button mapping, press/release abstracted for keyboard and controller cases\n - Cons:\n - lots of words, template overkill\n- Keyboard handlers for game control moved to input module, but app-level keyboard\n controls still handled in main. debugger control, window focus, etc.\n\nBasic game controller support - needs a refactor to clean up main\n\nRefactored control bits - pretty janky and probably too complex","shortMessageHtmlLink":"Support for hot-plugging usb game controllers."}},{"before":"65bec6ca2f0d04d16511a4eeb8b995321396e286","after":"f9cdb9c8a287f726a06f46ddccfab12a72723850","ref":"refs/heads/controller","pushedAt":"2023-04-02T09:45:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"oleiman","name":"Oren Leiman","path":"/oleiman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1635704?s=80&v=4"},"commit":{"message":"Refactored control bits - pretty janky and probably too complex","shortMessageHtmlLink":"Refactored control bits - pretty janky and probably too complex"}},{"before":null,"after":"65bec6ca2f0d04d16511a4eeb8b995321396e286","ref":"refs/heads/controller","pushedAt":"2023-04-02T03:25:51.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"oleiman","name":"Oren Leiman","path":"/oleiman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1635704?s=80&v=4"},"commit":{"message":"Basic game controller support - needs a refactor to clean up main","shortMessageHtmlLink":"Basic game controller support - needs a refactor to clean up main"}},{"before":"60bd6304fa97d3a4795dc7525ea40c38ec31c502","after":null,"ref":"refs/heads/interrupts","pushedAt":"2023-04-02T01:35:11.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"oleiman","name":"Oren Leiman","path":"/oleiman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1635704?s=80&v=4"}},{"before":"01c2098e1d4d180822dc7ed5b54574df96b5fffc","after":"60bd6304fa97d3a4795dc7525ea40c38ec31c502","ref":"refs/heads/master","pushedAt":"2023-04-02T01:35:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"oleiman","name":"Oren Leiman","path":"/oleiman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1635704?s=80&v=4"},"commit":{"message":"Interrupt timing improvements\n\n- Corrects (I think) some frame interrupt behavior where the IRQ line\n might not directly mirror the state of the frame interrupt flag\n- Passes first three of blargg's interrupt timing tests (cpu_interrupts_v2)\n - 1-cli_latency.nes\n - 2-nmi_and_brk.nes\n - 3-nmi_and_irq.nes\n - For 1 & 2, core changes mostly to support M6502 changes\n - 3 required the frame interrupt improvements to work correctly\n- Does not past tests 4 & 5 from the blargg suite, though neither does\n nestopia nor nintendulator. Leaving it along for now","shortMessageHtmlLink":"Interrupt timing improvements"}},{"before":null,"after":"60bd6304fa97d3a4795dc7525ea40c38ec31c502","ref":"refs/heads/interrupts","pushedAt":"2023-04-02T01:28:55.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"oleiman","name":"Oren Leiman","path":"/oleiman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1635704?s=80&v=4"},"commit":{"message":"Interrupt timing improvements\n\n- Corrects (I think) some frame interrupt behavior where the IRQ line\n might not directly mirror the state of the frame interrupt flag\n- Passes first three of blargg's interrupt timing tests (cpu_interrupts_v2)\n - 1-cli_latency.nes\n - 2-nmi_and_brk.nes\n - 3-nmi_and_irq.nes\n - For 1 & 2, core changes mostly to support M6502 changes\n - 3 required the frame interrupt improvements to work correctly\n- Does not past tests 4 & 5 from the blargg suite, though neither does\n nestopia nor nintendulator. Leaving it along for now","shortMessageHtmlLink":"Interrupt timing improvements"}},{"before":"958a19b1bb5ce0a05b0804fbbab6208d13ecd10d","after":null,"ref":"refs/heads/ppu_read_buffer","pushedAt":"2023-03-30T04:24:28.175Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"oleiman","name":"Oren Leiman","path":"/oleiman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1635704?s=80&v=4"}},{"before":"7ac817c0320e0dcff6cbd685d3a98b588b6e7bd3","after":null,"ref":"refs/heads/additional_tests","pushedAt":"2023-03-30T04:24:22.837Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"oleiman","name":"Oren Leiman","path":"/oleiman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1635704?s=80&v=4"}},{"before":"01c2098e1d4d180822dc7ed5b54574df96b5fffc","after":null,"ref":"refs/heads/dmc_tests","pushedAt":"2023-03-30T04:24:05.423Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"oleiman","name":"Oren Leiman","path":"/oleiman","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1635704?s=80&v=4"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyMy0wNi0xMVQwMjowNzowMC40MTc1OTlazwAAAAM-5cTc","startCursor":"Y3Vyc29yOnYyOpK7MjAyMy0wNi0xMVQwMjowNzowMC40MTc1OTlazwAAAAM-5cTc","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0wMy0zMFQwNDoyNDowNS40MjM1MjdazwAAAAMOULqe"}},"title":"Activity ยท oleiman/ohNES"}