Commit Graph

55 Commits

Author SHA1 Message Date
Rekai Nyangadzayi Musuka 05b7a9014d chore(ui): don't crash on unexpected scheduler pqueue len 2023-12-20 17:58:42 -06:00
Rekai Nyangadzayi Musuka 493d7aeede fix(ui): reset, bios load and rom load are properly thread safe 2023-12-20 11:38:58 -06:00
Rekai Nyangadzayi Musuka 9183e6850d fix: use a mutex to pause emu thread
still not ideal imo
2023-12-15 04:10:51 -06:00
Rekai Nyangadzayi Musuka d54202bf8b chore(platform): update opengl impl fns to versions in paoda/turbo 2023-12-15 03:11:16 -06:00
Rekai Nyangadzayi Musuka d097dcc2f5 fix(gui): quit when emu thread exits first 2023-12-15 02:49:40 -06:00
Rekai Nyangadzayi Musuka 557b90a39f fix: don't insta-crash due to an awful channel impl 2023-11-23 00:50:40 -06:00
Rekai Nyangadzayi Musuka d4b7167e29 chore: simply some zig fmt builtin changes 2023-07-17 01:09:54 -05:00
Rekai Nyangadzayi Musuka d96c9c01ff chore: update to latest builtin syntax 2023-07-10 22:09:48 -05:00
Rekai Nyangadzayi Musuka 954fb279ad chore: move cpu implementation to it's own module
There's a decent amount of Hacks and TODO:s that need revisiting
I should spend a bit of time cleaning up code 😔
2023-06-25 18:56:56 -05:00
Rekai Nyangadzayi Musuka ccdc2cbad4 chore(ui): rewrite channel implementation 2023-05-23 22:48:58 -05:00
Rekai Nyangadzayi Musuka 16c3eceffd fix(config): reimplement muting 2023-05-23 17:26:46 -05:00
Rekai Nyangadzayi Musuka 8f5a0cab9c fix(ui): write silence to audio when emu is paused 2023-05-23 17:05:54 -05:00
Rekai Nyangadzayi Musuka 79514b0cd0 fix(input): make use of atomic rmw intrinsics when handling input 2023-05-23 03:07:05 -05:00
Rekai Nyangadzayi Musuka a048263fd6 chore: make use of std.atomic.spinLoopHint() 2023-05-23 02:42:35 -05:00
Rekai Nyangadzayi Musuka d9e09a9cbe fix(ui): remove flickering on ui pause/timeout 2023-05-23 02:24:11 -05:00
Rekai Nyangadzayi Musuka 2b9a479b96 feat(ui): add timeout for gui spinloop 2023-05-23 02:23:50 -05:00
Rekai Nyangadzayi Musuka 21295b8d03 feat(ui): implement pausing 2023-05-23 01:39:06 -05:00
Rekai Nyangadzayi Musuka a92598d17d feat(platform): implement OS window resizing 2023-05-12 01:47:15 -05:00
Rekai Nyangadzayi Musuka a5e636d9c5 chore(gui): namespace the majority of interactions w/ OpenGL 2023-04-25 00:32:03 -05:00
Rekai Nyangadzayi Musuka 1d8b21d6b4 fix: reimplement grabbing ROM title if provided via cmd arg 2023-03-27 16:22:07 -05:00
Rekai Nyangadzayi Musuka c7b62d3202 chore: dynamically update window title on ROM replace 2023-03-10 20:41:49 -06:00
Rekai Nyangadzayi Musuka bd872ee1c0 fix: drop select atomics in favour of a thread-safe channel 2023-03-10 02:02:34 -06:00
Rekai Nyangadzayi Musuka 72b702cb21 fix: handle null GBA ROM titles when passing to imgui 2023-03-04 18:02:12 -06:00
Rekai Nyangadzayi Musuka 3fff4fd742 chore: move imgui-specific code to its own file 2023-02-23 18:25:05 -06:00
Rekai Nyangadzayi Musuka e90d5a17ba fix: ensure code builds + works
the gdbstub branch got merged into main, rebasing on top of main led to
a bunch of merge conflicts that had to be resolved. Unfortunately some
things got missed, and this commit covers the immediate problems that
the rebase caused
2023-02-23 17:27:42 -06:00
Rekai Nyangadzayi Musuka 6048458f9b feat: implement menu bar + add file picker dep 2023-02-23 17:27:42 -06:00
Rekai Nyangadzayi Musuka ff609c85ba feat: show game title as imgui screen title 2023-02-23 17:27:42 -06:00
Rekai Nyangadzayi Musuka 1d601dba39 feat: add scheduler ui 2023-02-23 17:27:42 -06:00
Rekai Nyangadzayi Musuka a8fac5f3c6 feat: pause emu when UI reads emu state 2023-02-23 17:27:42 -06:00
Rekai Nyangadzayi Musuka ae78588b80 feat: implement ui for register, interrupt 2023-02-23 17:27:42 -06:00
Rekai Nyangadzayi Musuka fe6fc0e517 feat: add system information window 2023-02-23 17:27:42 -06:00
Rekai Nyangadzayi Musuka 5e94cbfbea feat: add imgui support using zgui 2023-02-23 17:27:42 -06:00
Rekai Nyangadzayi Musuka 01f5410180 feat: allow gui and gdbstub to run in parallel 2023-02-23 02:40:24 -06:00
Rekai Nyangadzayi Musuka ddc54e2977 fix: ignore missing opengl proc addresses
is this really a fix? the error never happens with mach-glfw
2023-01-01 15:56:18 -06:00
Rekai Nyangadzayi Musuka 26db340077 fix(input): implement atomic for KeyInput 2022-11-30 00:42:20 -04:00
Rekai Nyangadzayi Musuka 20f611b7b5 chore: be more intentional in atomic ordering use 2022-11-30 00:21:02 -04:00
Rekai Nyangadzayi Musuka f9aefedf60 chore: cal glDeleteTextures on program exit 2022-11-29 23:35:13 -04:00
Rekai Nyangadzayi Musuka d7e3d34726 fix(platform): ensure that title char* is null terminated 2022-11-29 23:21:57 -04:00
Rekai Nyangadzayi Musuka 9fcbbe7d57 chore: cleanup OpenGL vertex array + buffers 2022-11-29 22:53:37 -04:00
Rekai Nyangadzayi Musuka c3f67e38a1 chore: exit early on shader compile failure 2022-11-29 22:25:04 -04:00
Rekai Nyangadzayi Musuka 5d7cf3a8a2 chore: remove util fn for stdlib equivalent 2022-11-11 13:02:51 -04:00
Rekai Nyangadzayi Musuka 2ef4bb7dcc revert(apu): switch from f32 44.1kHz to u16 32.768kHz 2022-10-31 05:14:20 -03:00
Rekai Nyangadzayi Musuka 47fc49deb6 fix(audio): add asserts where I assume audio format 2022-10-30 03:25:49 -03:00
Rekai Nyangadzayi Musuka 14b24787ab style: remove unnecessary imports 2022-10-28 21:56:55 -03:00
Rekai Nyangadzayi Musuka eb7ffa29f4 fix(apu): pause device on mute instead of writing silence 2022-10-27 09:11:08 -03:00
Rekai Nyangadzayi Musuka eff52ac1bb fix(opengl): properly control whether vsync is enabled 2022-10-17 20:31:42 -03:00
Rekai Nyangadzayi Musuka 4b4bc7f894 chore: remove unnecessary ptr cast 2022-10-17 20:31:42 -03:00
Rekai Nyangadzayi Musuka 325208d460 feat: implement better Colour Emulation 2022-10-17 20:31:42 -03:00
Rekai Nyangadzayi Musuka f44a1a49fd fix: lower required OpenGL version + resolve offset bug 2022-10-17 20:31:42 -03:00
Rekai Nyangadzayi Musuka 1575f517a9 feat: use opengl
TODO:
- Texture isn't scaling properly
- I need to reverse the colours in the frag shader
2022-10-17 20:31:42 -03:00