56 Commits

Author SHA1 Message Date
0e02d9aaab feat: upgrade to Zig v0.13.0 2024-09-09 02:16:31 -05:00
05b7a9014d chore(ui): don't crash on unexpected scheduler pqueue len 2023-12-20 17:58:42 -06:00
493d7aeede fix(ui): reset, bios load and rom load are properly thread safe 2023-12-20 11:38:58 -06:00
9183e6850d fix: use a mutex to pause emu thread
still not ideal imo
2023-12-15 04:10:51 -06:00
d54202bf8b chore(platform): update opengl impl fns to versions in paoda/turbo 2023-12-15 03:11:16 -06:00
d097dcc2f5 fix(gui): quit when emu thread exits first 2023-12-15 02:49:40 -06:00
557b90a39f fix: don't insta-crash due to an awful channel impl 2023-11-23 00:50:40 -06:00
d4b7167e29 chore: simply some zig fmt builtin changes 2023-07-17 01:09:54 -05:00
d96c9c01ff chore: update to latest builtin syntax 2023-07-10 22:09:48 -05:00
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
ccdc2cbad4 chore(ui): rewrite channel implementation 2023-05-23 22:48:58 -05:00
16c3eceffd fix(config): reimplement muting 2023-05-23 17:26:46 -05:00
8f5a0cab9c fix(ui): write silence to audio when emu is paused 2023-05-23 17:05:54 -05:00
79514b0cd0 fix(input): make use of atomic rmw intrinsics when handling input 2023-05-23 03:07:05 -05:00
a048263fd6 chore: make use of std.atomic.spinLoopHint() 2023-05-23 02:42:35 -05:00
d9e09a9cbe fix(ui): remove flickering on ui pause/timeout 2023-05-23 02:24:11 -05:00
2b9a479b96 feat(ui): add timeout for gui spinloop 2023-05-23 02:23:50 -05:00
21295b8d03 feat(ui): implement pausing 2023-05-23 01:39:06 -05:00
a92598d17d feat(platform): implement OS window resizing 2023-05-12 01:47:15 -05:00
a5e636d9c5 chore(gui): namespace the majority of interactions w/ OpenGL 2023-04-25 00:32:03 -05:00
1d8b21d6b4 fix: reimplement grabbing ROM title if provided via cmd arg 2023-03-27 16:22:07 -05:00
c7b62d3202 chore: dynamically update window title on ROM replace 2023-03-10 20:41:49 -06:00
bd872ee1c0 fix: drop select atomics in favour of a thread-safe channel 2023-03-10 02:02:34 -06:00
72b702cb21 fix: handle null GBA ROM titles when passing to imgui 2023-03-04 18:02:12 -06:00
3fff4fd742 chore: move imgui-specific code to its own file 2023-02-23 18:25:05 -06:00
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
6048458f9b feat: implement menu bar + add file picker dep 2023-02-23 17:27:42 -06:00
ff609c85ba feat: show game title as imgui screen title 2023-02-23 17:27:42 -06:00
1d601dba39 feat: add scheduler ui 2023-02-23 17:27:42 -06:00
a8fac5f3c6 feat: pause emu when UI reads emu state 2023-02-23 17:27:42 -06:00
ae78588b80 feat: implement ui for register, interrupt 2023-02-23 17:27:42 -06:00
fe6fc0e517 feat: add system information window 2023-02-23 17:27:42 -06:00
5e94cbfbea feat: add imgui support using zgui 2023-02-23 17:27:42 -06:00
01f5410180 feat: allow gui and gdbstub to run in parallel 2023-02-23 02:40:24 -06:00
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
26db340077 fix(input): implement atomic for KeyInput 2022-11-30 00:42:20 -04:00
20f611b7b5 chore: be more intentional in atomic ordering use 2022-11-30 00:21:02 -04:00
f9aefedf60 chore: cal glDeleteTextures on program exit 2022-11-29 23:35:13 -04:00
d7e3d34726 fix(platform): ensure that title char* is null terminated 2022-11-29 23:21:57 -04:00
9fcbbe7d57 chore: cleanup OpenGL vertex array + buffers 2022-11-29 22:53:37 -04:00
c3f67e38a1 chore: exit early on shader compile failure 2022-11-29 22:25:04 -04:00
5d7cf3a8a2 chore: remove util fn for stdlib equivalent 2022-11-11 13:02:51 -04:00
2ef4bb7dcc revert(apu): switch from f32 44.1kHz to u16 32.768kHz 2022-10-31 05:14:20 -03:00
47fc49deb6 fix(audio): add asserts where I assume audio format 2022-10-30 03:25:49 -03:00
14b24787ab style: remove unnecessary imports 2022-10-28 21:56:55 -03:00
eb7ffa29f4 fix(apu): pause device on mute instead of writing silence 2022-10-27 09:11:08 -03:00
eff52ac1bb fix(opengl): properly control whether vsync is enabled 2022-10-17 20:31:42 -03:00
4b4bc7f894 chore: remove unnecessary ptr cast 2022-10-17 20:31:42 -03:00
325208d460 feat: implement better Colour Emulation 2022-10-17 20:31:42 -03:00
f44a1a49fd fix: lower required OpenGL version + resolve offset bug 2022-10-17 20:31:42 -03:00