Commit Graph

485 Commits

Author SHA1 Message Date
Rekai Nyangadzayi Musuka bf442d5a40 chore: Update README.md 2022-09-10 07:34:52 -03:00
Rekai Nyangadzayi Musuka 65cfc97f28 feat: reimplement audio sync
APU will now drop samples if the Audio Queue is already full, therefore
creating a "sped-up" effect when the emulator runs faster than 100%
2022-09-08 20:38:42 -03:00
Rekai Nyangadzayi Musuka fa862f095a chore: move arm/thumb lut idx functions 2022-09-06 23:58:24 -03:00
Rekai Nyangadzayi Musuka f3c05b6fe6 chore: update dependencies 2022-09-05 22:52:07 -03:00
Rekai Nyangadzayi Musuka 3fb7f2f814 chore: better conform to zig idioms 2022-09-03 18:30:48 -03:00
Rekai Nyangadzayi Musuka 59669ba3a5 chore: rename arm7tdmi variables to just cpu
Less verbose, specifying arm7tdmi doesn't really do much when there's
no other CPU in the system
2022-09-03 17:56:37 -03:00
Rekai Nyangadzayi Musuka 6a798d2c9d chore: allocate sprite array on heap
Each Sprite optional is 10 bytes meaning I'm allocating 1.28Kb on the
stack which isn't necessary.
2022-08-29 01:07:25 -05:00
Rekai Nyangadzayi Musuka 5f8c6833f4 chore: improve init/deinit methods 2022-08-29 01:07:25 -05:00
Rekai Nyangadzayi Musuka aa52bb5917 chore: reorganize some code 2022-08-26 14:13:49 -05:00
Rekai Nyangadzayi Musuka e57f918856 chore: pass the allocator as an argument more often
As of right now, I think the only cases where I shouldn't explicitly pass an allocator
are in read/write functions and deinits
2022-08-26 13:54:38 -05:00
Rekai Nyangadzayi Musuka e5b7441740 fix: resolve use-afer-free in backup.zig
This worked fine on stage1, and works fine in debug in stage3.
However, stage3 ReleaseSafe would panic due to what I assume must
have been an undefined behaviour optimization.

While I'm happy that I was quickly made aware of the issue thanks to
the safety checks in ReleaseSafe I do wish that this issue showed itself
in Debug, since I *am* using the GPA
2022-08-26 13:04:09 -05:00
Rekai Nyangadzayi Musuka 2ab8769b7a feat: Get ZBA working on Zig's new stage2/stage3 compiler 2022-08-21 12:28:31 -05:00
Rekai Nyangadzayi Musuka 3c3c0d32dd chore: move window scale const to emu.zig 2022-08-08 11:03:23 +02:00
Rekai Nyangadzayi Musuka 739db99c83 fix: reimpl debug reads w/out throwing away *const Self 2022-08-07 05:11:29 -05:00
Rekai Nyangadzayi Musuka 5a18b1dcc7 chore: update dependencies: 2022-08-06 08:28:30 -05:00
Rekai Nyangadzayi Musuka 2c8616f610 feat: reimplement cpu logging 2022-07-27 14:50:28 -03:00
Rekai Nyangadzayi Musuka 53eec5c3ff chore: don't init bus in Arm7tdmi init 2022-07-27 13:44:24 -03:00
Rekai Nyangadzayi Musuka c397b7069d feat: move arm instr decoding to module 2022-07-27 13:23:29 -03:00
Rekai Nyangadzayi Musuka 9d037fdc3e feat: move thumb instr decoding to module 2022-07-27 13:10:58 -03:00
Rekai Nyangadzayi Musuka 53191b0eeb chore: change directory structure 2022-07-22 21:11:19 -03:00
Rekai Nyangadzayi Musuka c7c4a90948 fix: reimplement halt fast-forwarding 2022-07-21 11:25:49 -03:00
Rekai Nyangadzayi Musuka 03ded099d2 chore: move audio sync, video sync variables 2022-07-21 11:05:49 -03:00
Rekai Nyangadzayi Musuka 5d9a57c7eb chore: update README.md 2022-07-12 18:28:11 -03:00
Rekai Nyangadzayi Musuka 769fad8996 chore: update SDL.zig 2022-07-12 18:11:32 -03:00
Rekai Nyangadzayi Musuka 3b3eb52c48 feat: impl WININ, WINOUT, WIN{N}H and WIN{N}V 2022-06-29 14:56:48 -03:00
Rekai Nyangadzayi Musuka d798aea6ea fix: force align DMA transfers 2022-06-29 04:31:02 -03:00
Rekai Nyangadzayi Musuka 5d37c212e2 fix: resolve bugs in VRAM unpredictable read/writes 2022-06-29 03:59:14 -03:00
Rekai Nyangadzayi Musuka 887bd89668 fix: don't start HDMA in vblank 2022-06-23 05:45:52 -03:00
Rekai Nyangadzayi Musuka 81c669fe64 feat: implement brightness increase/decrease 2022-06-23 04:50:04 -03:00
Rekai Nyangadzayi Musuka 265234ee97 feat: implement object blending 2022-06-23 02:49:56 -03:00
Rekai Nyangadzayi Musuka 02534c5c19 feat: implement background alpha blending 2022-06-19 22:10:56 -03:00
Rekai Nyangadzayi Musuka 5e4fb7b952 feat: implement BLDCNT, BLDALPHA, BLDY 2022-06-19 01:27:14 -03:00
Rekai Nyangadzayi Musuka 7e15e83d38 chore: update README 2022-06-19 00:02:33 -03:00
Rekai Nyangadzayi Musuka c9ea80e03b chore: rename + remove some code 2022-06-18 22:01:17 -03:00
Rekai Nyangadzayi Musuka 4cd722e447 fix: properly fire DMA IRQs
This resolves Sound DMA Timing issues present in DOOM
2022-06-18 21:13:12 -03:00
Rekai Nyangadzayi Musuka adfb23fab4 chore: rename Dma.active to Dma.in_progress 2022-06-18 19:15:34 -03:00
Rekai Nyangadzayi Musuka 5bbbdc3469 chore: rewrite info log message 2022-06-18 18:46:40 -03:00
Rekai Nyangadzayi Musuka 47adc0c5ae feat: implement NR10 obscure behaviour 2022-06-18 18:16:29 -03:00
Rekai Nyangadzayi Musuka 601b0b2aae feat: handle all I/O when using Cult-Of-GBA BIOS 2022-06-18 17:50:11 -03:00
Rekai Nyangadzayi Musuka 3becd790cf chore: 32-bit reads for PSG audio 2022-06-18 17:35:52 -03:00
Rekai Nyangadzayi Musuka 460f8308a7 chore: implement more than just 1 cycle per mem access 2022-06-16 22:35:42 -03:00
Rekai Nyangadzayi Musuka cc8c1c1e21 fix: implement register reads for Yoshi's Island 2022-06-16 02:32:31 -03:00
Rekai Nyangadzayi Musuka f5e401a4ee fix: reimplement DMA ticking 2022-06-16 01:46:37 -03:00
Rekai Nyangadzayi Musuka dba8873f76 chore(cpu): add inline fn isHalted() 2022-06-16 00:49:37 -03:00
Rekai Nyangadzayi Musuka db08edbdb9 chore: attempt to debug Rhythm Heaven 2022-06-16 00:03:51 -03:00
Rekai Nyangadzayi Musuka 35dba63b94 fix: impl BG?{X,Y} RefPoint write behaviour outside of Vblank
With this fix Mode 7-like games now properly render their backgrounds
2022-06-15 01:34:34 -03:00
Rekai Nyangadzayi Musuka a753912cb5 chore: change priority of some logs 2022-06-15 01:18:45 -03:00
Rekai Nyangadzayi Musuka 7441af9582 chore: mess with debug statements + mask APU I/O reads 2022-06-15 01:08:43 -03:00
Rekai Nyangadzayi Musuka 708f64035f chore: move timer, apu and dma i/o addr matching outside of io.zig 2022-06-15 00:05:36 -03:00
Rekai Nyangadzayi Musuka e4bbd33a49 chore: separate render code for affine sprites 2022-06-04 20:07:20 -03:00