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
e654abfd1d
ci: don't assume any cpu features
2023-02-18 23:52:51 -06:00
Rekai Nyangadzayi Musuka
3510a6cff8
chore: drop macOS support
...
CI is currently broken and I don't have the $$$ for macOS
2023-02-18 23:34:59 -06:00
Rekai Nyangadzayi Musuka
3fb351e762
chore: update SDL.zig
2023-02-17 00:05:42 -06:00
Rekai Nyangadzayi Musuka
a11b96b84e
chore: update minimum zig version
2023-02-07 17:52:16 -06:00
Rekai Nyangadzayi Musuka
c3be1c0a67
chore: update to latest zig build system
...
I feel like I'm misusing addAnonymousModule
2023-02-07 16:00:06 -06:00
Rekai Nyangadzayi Musuka
fdf7399e52
chore: update README.md
2023-02-04 19:30:05 -06:00
Rekai Nyangadzayi Musuka
ed8155139a
chore: update CI
2023-02-04 18:22:50 -06:00
Rekai Nyangadzayi Musuka
8112b1aab2
chore: update zig to latest master
2023-02-04 18:15:10 -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
3f72367aaf
chore: remove .vscode folder
2023-01-21 19:01:44 -06:00
Rekai Nyangadzayi Musuka
c27f487bf0
chore: update dependencies
2023-01-16 02:57:50 -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
ed49d7c460
chore: update lib/gl.zig
2023-01-01 13:41:53 -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
94702b9b51
chore: update min zig version
2022-12-28 16:26:51 -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
39d50466c9
chore: update min zig version
2022-12-22 13:21:59 -06:00
Rekai Nyangadzayi Musuka
5a452d85c1
feat: update dependencies
2022-12-21 00:24:55 -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
Rekai Nyangadzayi Musuka
8963fe205b
chore: move OAM, PALRAM and VRAM structs to separate files
2022-12-16 22:16:37 -04:00
Rekai Nyangadzayi Musuka
e906506e16
fix: 8-bit writes to WIN PPU registers
...
Advance Wars depends on these registers similar to Mario Kart's 8-bit
writes to Affine Background registers:
2022-12-16 22:16:37 -04:00
Rekai Nyangadzayi Musuka
3195a45e3d
chore: refactor window
2022-12-16 22:16:37 -04:00
Rekai Nyangadzayi Musuka
6aad911985
chore: crude background window impl (no affine)
2022-12-16 22:16:37 -04:00
Rekai Nyangadzayi Musuka
e3b45ef794
chore: rename function (misspelt until now somehow)
2022-12-16 22:16:37 -04:00
Rekai Nyangadzayi Musuka
8e1a539e70
chore: debug read takes advantage of fastmem
...
deduplicate slowmem backup read handler
2022-12-15 23:18:54 -04:00
Rekai Nyangadzayi Musuka
63fa972afa
chore: update dependencies
...
in response to zig master deprecations
2022-12-14 22:57:51 -04:00
Rekai Nyangadzayi Musuka
bf95eee3f1
fix(apu): resolve bug in NR10 obscure behaviour
2022-12-05 11:08:04 -04:00
Rekai Nyangadzayi Musuka
240fbcb1df
chore: update dependencies
2022-12-01 13:23:09 -04: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