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