Rekai Nyangadzayi Musuka
a6a9e3ac72
chore(imgui): change size of histogram
2023-03-17 11:26:14 -05:00
Rekai Nyangadzayi Musuka
91aa98eef7
chore: copy array instead of calling memcpy
2023-03-11 00:30:34 -06:00
Rekai Nyangadzayi Musuka
2629d15e2f
feat: don't require path to ROM in CLI
2023-03-10 21:16:06 -06:00
Rekai Nyangadzayi Musuka
c7b62d3202
chore: dynamically update window title on ROM replace
2023-03-10 20:41:49 -06:00
Rekai Nyangadzayi Musuka
5adbc354d6
feat: replace Gamepak
2023-03-10 02:50:31 -06:00
Rekai Nyangadzayi Musuka
f8477714ae
feat: implement resetting
2023-03-10 02:28:03 -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
11eae091db
chore: introduce zba-util
...
In an effort to reuse code between zba and zba-gdbstub, move common util
code (like the SPSC Channel I implemented in this commit) in a new lib
2023-03-10 00:05:31 -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
d985eac0fc
tmp: implement mechanisms for a emu reset fn (currently crashes)
2023-02-23 23:49:56 -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
54143332ab
chore: update for loop in RingBuffer impl
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
49706842af
fix: run more than just the CPU when stepping via gdb
2023-02-23 02:40:24 -06:00
Rekai Nyangadzayi Musuka
518b868249
feat: respond to API changes for software bkpts
2023-02-23 02:40:24 -06:00
Rekai Nyangadzayi Musuka
755115660b
feat: allow gdb writes to certain mem regions
2023-02-23 02:40:24 -06:00
Rekai Nyangadzayi Musuka
1f3cdd9513
feat: add gdb support to zba
2023-02-23 02:40:24 -06:00
Rekai Nyangadzayi Musuka
024151a5c1
chore: update to latest zig master
2023-02-22 14:46:46 -06:00
Rekai Nyangadzayi Musuka
e380af7056
chore: use a more efficient decimal->bcd algorithm
...
This will not improve perf in any way because this code only gets run
one time a second orz
2023-02-21 23:22:42 -06:00
Rekai Nyangadzayi Musuka
c0e583d20d
fix: resolve off-by-one error in `str` addr when r15 is involved
...
I seem to have made up this rule (I was thinking about when r15 was
a source register). `rn` is the destination register.... whoops
2023-01-29 08:58:41 -06:00
Rekai Nyangadzayi Musuka
ae3bb94036
fix(ppu): draw file select sprites in amazing mirror
2023-01-08 01:36:58 -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
59baa14bde
Merge branch 'main' of ssh://musuka.dev:2222/paoda/zba
2022-12-30 19:47:24 -06:00
Rekai Nyangadzayi Musuka
6bf1c44961
chore: refactor sprite rendering code
2022-12-30 19:47:01 -06:00
Rekai Nyangadzayi Musuka
0f148507e4
fix: respond to `@addWithOverflow` changes in latest zig
2022-12-28 15:20:44 -06:00
Rekai Nyangadzayi Musuka
0cec779545
chore: misc style changes
2022-12-28 07:29:07 -06:00
Rekai Nyangadzayi Musuka
1ecbbc7d29
chore: cleanup BIOS struct init code
2022-12-27 06:42:06 -06:00
Rekai Nyangadzayi Musuka
caaa60d1a8
fix: rotate unaligned reads on BIOS open-bus
2022-12-27 06:25:12 -06:00
Rekai Nyangadzayi Musuka
4326ae7a0a
fix: resolve broken affine bg in mario kart
2022-12-18 08:59:19 -04:00
Rekai Nyangadzayi Musuka
905c4448d0
feat: kind-of account for 1/4th of obj mode
2022-12-18 08:35:14 -04:00
Rekai Nyangadzayi Musuka
0de44835e5
fix: properly implement black/white blending for sprites
...
There's unique rules to handle for BLDY w/r/t sprites, I didn't know
about them (shown in bld_demo.gba). I'm sure I haven't ironed out every
rule but bld_demo.gba now *actually* passes
2022-12-18 07:44:01 -04:00
Rekai Nyangadzayi Musuka
5aac04faf5
tmp: disable buggy window emulation
...
I'd like to merge my affine sprite impl into main, which will require
merging a lot of the rewrites I did in this branch. My plan is to
merge the buggy ppu window impl to main, but keep it disabled.
This is technically a regression but the current impl barely worked
anyways so....
2022-12-17 09:58:15 -04:00
Rekai Nyangadzayi Musuka
f98a1700e0
feat: implement affine sprites
2022-12-17 09:47:10 -04:00
Rekai Nyangadzayi Musuka
acdb270793
chore: reimplement alpha blending
2022-12-16 22:16:37 -04:00
Rekai Nyangadzayi Musuka
4ceed382ed
chore(ppu): use @ptrCast in drawTextMode
2022-12-16 22:16:37 -04:00
Rekai Nyangadzayi Musuka
52ce4f3d20
chore(ppu): reimplement modes 3, 4, and 5
2022-12-16 22:16:37 -04:00
Rekai Nyangadzayi Musuka
c1c8cac6e4
style(ppu): move text mode drawing to unique fn
2022-12-16 22:16:37 -04:00
Rekai Nyangadzayi Musuka
be7a34f719
fix(window): proper inRange impl for window
...
window wrap now works (it's pretty slow though?)
2022-12-16 22:16:37 -04:00
Rekai Nyangadzayi Musuka
f7a94634f9
chore: improve readability of sprite drawing code a bit
2022-12-16 22:16:37 -04:00
Rekai Nyangadzayi Musuka
7d4ab6db2c
style: remove unused imports
2022-12-16 22:16:37 -04:00
Rekai Nyangadzayi Musuka
0a78587d8e
chore: dont allocate not-small ?Sprite array on stack
...
use memset like most other allocations in this emu
2022-12-16 22:16:37 -04:00
Rekai Nyangadzayi Musuka
b753ceef8e
chore: move FrameBuffer struct to util.zig
2022-12-16 22:16:37 -04:00