Rekai Nyangadzayi Musuka
f55b733646
fix: pass more test roms
2023-12-27 16:29:23 -06:00
Rekai Nyangadzayi Musuka
51076597e8
feat: implement Oam buffer
2023-12-27 16:02:39 -06:00
Rekai Nyangadzayi Musuka
14f5682095
chore: update cpu (pass arm7wrestler)
2023-12-27 00:14:08 -06:00
Rekai Nyangadzayi Musuka
334cd432d4
tmp: some debug logs for dmas lol
2023-12-14 21:14:58 -06:00
Rekai Nyangadzayi Musuka
b903f2c4a8
feat: implement DMAFILL
2023-12-14 01:42:53 -06:00
Rekai Nyangadzayi Musuka
f52e1ab6b9
feat: implement (?) NDS9 DMA Controllers
...
TODO: deduplicate please
2023-12-14 01:16:24 -06:00
Rekai Nyangadzayi Musuka
ea63b04056
feat: implement (?) nds7 dma transfer controllers
2023-12-14 00:39:00 -06:00
Rekai Nyangadzayi Musuka
e0171e5b65
feat(ppu): support text backdrop
2023-11-23 00:31:54 -06:00
Rekai Nyangadzayi Musuka
3a1ebfb6e6
chore: unify "enum { nds7, nds9 }"s
2023-11-22 00:19:37 -06:00
Rekai Nyangadzayi Musuka
16233f3cd8
chore: implement a non-working mode 0
2023-11-14 00:22:43 -06:00
Rekai Nyangadzayi Musuka
64b1bdbe19
fix(nds): impl enough i/o to get ARM7WRESTLER booting
2023-11-04 19:28:54 -05:00
Rekai Nyangadzayi Musuka
37aff56c22
feat(ppu): implement vblank, hblank and coincidence interrupts
2023-11-04 03:22:11 -05:00
Rekai Nyangadzayi Musuka
bf08e93508
fix(ppu): engines don't have unique vcount + dispstat (cpus do)
2023-11-04 02:34:34 -05:00
Rekai Nyangadzayi Musuka
83f94f6d9d
feat(cpu): implement HALT
2023-11-04 01:21:52 -05:00
Rekai Nyangadzayi Musuka
16b3325fe3
feat(ppu): introduce concept of 2 graphics engines + refactor
2023-11-04 00:39:00 -05:00
Rekai Nyangadzayi Musuka
13f5497808
chore(io): stub nds{7, 9} dma i/o registers
2023-11-03 21:07:28 -05:00
Rekai Nyangadzayi Musuka
ac3927333b
chore(bus, io): consistency when logging unimpl'd read/writes
2023-11-02 00:32:41 -05:00
Rekai Nyangadzayi Musuka
81c17b9965
chore(cp15): ignore cp15 registers written to by libnds crt0 (?)
2023-11-02 00:24:19 -05:00
Rekai Nyangadzayi Musuka
1a56a1a285
chore(bios): impl bios handlers
2023-10-30 21:57:34 -05:00
Rekai Nyangadzayi Musuka
95dfeceb00
chore: stub NDS7 DMA registers
2023-10-09 19:28:59 -05:00
Rekai Nyangadzayi Musuka
7f4dad485f
feat: implement IPCFIFO IRQs
...
turbo now passes rockwrestler!!!
2023-10-09 19:28:59 -05:00
Rekai Nyangadzayi Musuka
825b6e95ac
feat: implement IPCSYNC irqs
2023-10-09 02:52:11 -05:00
Rekai Nyangadzayi Musuka
c72e36ef6b
chore: rename some io decls
2023-10-08 16:53:59 -05:00
Rekai Nyangadzayi Musuka
ea3b6ba8fd
chore: remove unnecessary value in vram update fn
2023-10-08 16:20:19 -05:00
Rekai Nyangadzayi Musuka
7e2ab0fa6d
chore: update dependencies
2023-10-07 03:23:11 -05:00
Rekai Nyangadzayi Musuka
3a35c5b428
feat: implement VRAM allocation
2023-10-03 00:35:34 -05:00
Rekai Nyangadzayi Musuka
77caa9ae52
feat: pass TCM tests in rockwrestler
2023-09-29 23:35:16 -05:00
Rekai Nyangadzayi Musuka
f0b5bb1207
feat: implement WRAM
2023-09-29 22:22:41 -05:00
Rekai Nyangadzayi Musuka
eba2de39fb
feat(io): implement ipcsync (non-irq) and ipcfifo (non-irq)
2023-09-28 21:07:20 -05:00
Rekai Nyangadzayi Musuka
2484f634d8
feat(i/o): implement working sqrt unit, broken div unit
2023-09-28 03:45:58 -05:00
Rekai Nyangadzayi Musuka
d90cd699b6
chore: refactor scheduler + nds7/nds9 group structs
2023-09-26 23:25:36 -05:00
Rekai Nyangadzayi Musuka
2f06f178e2
fix(v5te): properly implement qadd/qsub/qdadd/qdsub
2023-09-19 21:25:26 -05:00
Rekai Nyangadzayi Musuka
bc5597c73e
chore(io): abstract away io masks
2023-09-19 20:28:01 -05:00
Rekai Nyangadzayi Musuka
5dbd681ba1
feat: implement broken IPCFIFO
2023-09-15 21:25:40 -05:00
Rekai Nyangadzayi Musuka
78eea74515
tmp: clean up nds7/nds9 io for a bit
2023-09-15 19:36:58 -05:00
Rekai Nyangadzayi Musuka
6518fcc68b
feat: implement basic cp15 coprocessor
2023-09-15 14:21:51 -05:00
Rekai Nyangadzayi Musuka
8eaadff0c3
feat(cpu): implement QADD/QSUB and SMLA<x><y>
2023-09-07 20:01:36 -05:00
Rekai Nyangadzayi Musuka
c6a30e62b7
fix(cpu): resolve issues with ARMv5T ldm/stm impl in ARMWRESTLER
2023-09-06 01:29:47 -05:00
Rekai Nyangadzayi Musuka
53c664bc61
chore(ui): default to 1600x900 window
2023-09-05 21:40:11 -05:00
Rekai Nyangadzayi Musuka
1fc1f5782b
chore(bus): force align writes to NDS7/NDS9 Bus
2023-09-05 21:40:05 -05:00
Rekai Nyangadzayi Musuka
cd3a3dbe63
fix(emu): resolve double free with main mem ptr
2023-09-05 17:13:17 -05:00
Rekai Nyangadzayi Musuka
0c6f710822
feat(platform): draw fullscreen triangle instead of quad
2023-09-05 17:13:17 -05:00
Rekai Nyangadzayi Musuka
4c57f0b5f4
chore(emu): fix spelling mistakes
2023-09-04 22:24:14 -05:00
Rekai Nyangadzayi Musuka
3bc13b527e
fix(emu): share same main mem allocation between ARM7 + ARM9
2023-09-04 22:22:57 -05:00
Rekai Nyangadzayi Musuka
cef711a497
ci: add CI
2023-08-06 23:13:11 +01:00
Rekai Nyangadzayi Musuka
5951a948e9
chore: use Zig v0.11.0
2023-08-06 23:11:56 +01:00
Rekai Nyangadzayi Musuka
a2779e6cfd
chore: add empty README
2023-08-01 15:15:36 -05:00
Rekai Nyangadzayi Musuka
e32d6534c6
feat: initial commit
...
some basic ROMs already boot (ARM946E-S only), working on Armwrestler
and Rockwrestler next so I can ensure CPU compatability for but ARMv5TE
and ARMv4T
2023-08-01 15:13:18 -05:00