Rekai Nyangadzayi Musuka
c33068d831
fix: allocate framebuf on heap
2022-10-21 05:11:51 -03:00
Rekai Nyangadzayi Musuka
f28b963f9d
chore: add code for heap alloc of white texture
2022-10-21 05:11:51 -03:00
Rekai Nyangadzayi Musuka
7fc77f993f
chore(gui): switch from RGBA8888 to BGR5555 to match BG Mode 3
2022-10-21 05:11:51 -03:00
Rekai Nyangadzayi Musuka
0e0b21d8c3
feat: draw white texture using SDL2
2022-10-21 05:11:50 -03:00
Rekai Nyangadzayi Musuka
f3ad0eb3aa
fix(ppu): deallocate palette RAM on cleanup
2022-10-21 05:11:50 -03:00
Rekai Nyangadzayi Musuka
036b861b05
chore: code cleanup
2022-10-21 05:11:50 -03:00
Rekai Nyangadzayi Musuka
880546468c
chore(bus): refactor bus.zig
2022-10-21 05:11:50 -03:00
Rekai Nyangadzayi Musuka
1a9c9ba4cb
chore: refactor instruction exec code
2022-10-21 05:11:50 -03:00
Rekai Nyangadzayi Musuka
a9e7140a88
chore(io): alias @This() to Self in io.zig
2022-10-21 05:11:50 -03:00
Rekai Nyangadzayi Musuka
808633deb7
chore: refactor bios.zig and pak.zig
2022-10-21 05:11:49 -03:00
Rekai Nyangadzayi Musuka
ee4fcd926b
fix: by convention deinit() should not take pointers to self
2022-10-21 05:11:49 -03:00
Rekai Nyangadzayi Musuka
9d1229fe0c
feat: implement PPU Timings in Scheduler
2022-10-21 05:11:49 -03:00
Rekai Nyangadzayi Musuka
d54c8df7b3
feat(sched): add HBlank and VBlank events to the scheduler
2022-10-21 05:11:49 -03:00
Rekai Nyangadzayi Musuka
d495f5b4c5
feat: implement S (when rd != 15) for several data processing instructions
2022-10-21 05:11:49 -03:00
Rekai Nyangadzayi Musuka
788bef188d
feat: implement dedicated Barrel Shifter SHL and SHR
2022-10-21 05:11:49 -03:00
Rekai Nyangadzayi Musuka
bff9be03cc
chore: stub TST
2022-10-21 05:11:48 -03:00
Rekai Nyangadzayi Musuka
44424e0687
chore: comment-out logging by default
2022-10-21 05:11:48 -03:00
Rekai Nyangadzayi Musuka
4b43dcd256
fix(cpu): improve LDR/STR write-back logic
2022-10-21 05:11:48 -03:00
Rekai Nyangadzayi Musuka
47805fb60c
feat(bus): implement Palette RAM and DISPSTAT
2022-10-21 05:11:48 -03:00
Rekai Nyangadzayi Musuka
abe2fc431e
fix(bus): restrict Game ROM and VRAM to a 16-bit bus
2022-10-21 05:11:48 -03:00
Rekai Nyangadzayi Musuka
46c694d95a
fix(cpu): properly implement SUB/CMP CSPSR carry bit condition
2022-10-21 05:11:48 -03:00
Rekai Nyangadzayi Musuka
faced77161
fix(cpu): resolve reversed if statement + write back on W = 0
2022-10-21 05:11:47 -03:00
Rekai Nyangadzayi Musuka
32f0b9d71c
chore: add mgba compatible (minus disasm) log function
2022-10-21 05:11:47 -03:00
Rekai Nyangadzayi Musuka
bbdcc0a8c2
chore: rename CPSR u32 from val to raw
2022-10-21 05:11:47 -03:00
Rekai Nyangadzayi Musuka
67bf975034
chore: remove print statements
2022-10-21 05:11:47 -03:00
Rekai Nyangadzayi Musuka
da7300a78c
chore: remove all memory leaks
2022-10-21 05:11:47 -03:00
Rekai Nyangadzayi Musuka
5c5179a553
feat(ppu): implement VRAM
2022-10-21 05:11:47 -03:00
Rekai Nyangadzayi Musuka
dcf78d0f76
fix(emu): prevent infinite loop when advancing scheduler
2022-10-21 05:11:46 -03:00
Rekai Nyangadzayi Musuka
4836ea3bcf
fix(io): fix DISPCNT is at wrong IO address
2022-10-21 05:11:46 -03:00
Rekai Nyangadzayi Musuka
182392bf1c
feat(cpu): properly implement STR STRH and STRB
2022-10-21 05:11:46 -03:00
Rekai Nyangadzayi Musuka
c6de540c8a
feat(cpu): implement skipBios method
2022-10-21 05:11:46 -03:00
Rekai Nyangadzayi Musuka
82fb5e7a93
chore: panic on read from BIOS
...
GBA Bios requires a lot of implemented features, so we're ignoring it
for now
2022-10-21 05:11:46 -03:00
Rekai Nyangadzayi Musuka
cbcc6282df
feat(bus): add Io Struct
...
Also, add more information to all panic messages
2022-10-21 05:11:46 -03:00
Rekai Nyangadzayi Musuka
614ac4a262
chore: rename consturctors to fit convention
2022-10-21 05:11:45 -03:00
Rekai Nyangadzayi Musuka
80d49e03d6
chore: move bitfield library to lib director
...
I'd presonally prefer to use a git submodule here but It doesn't quite
seem like git submodules are possible for individual files. I'll have to
check with FlorenceOS every once and a while to ensure that there are no
lingering soundness issues with the library.
Thanks to @N00byEdge for this wonderful library!
2022-10-21 05:11:45 -03:00
Rekai Nyangadzayi Musuka
7016fcdb79
chore: use bitfield library
2022-10-21 05:11:45 -03:00
Rekai Nyangadzayi Musuka
f030889d6c
feat(bus): emu is now able to read from user-provided BIOS
2022-10-21 05:11:45 -03:00
Rekai Nyangadzayi Musuka
d50aff30c9
feat(bus): implement Gameboy Advance MMIO
2022-10-21 05:11:45 -03:00
Rekai Nyangadzayi Musuka
5cbfae677a
feat: implement ROM CLI argument
2022-10-21 05:11:45 -03:00
Rekai Nyangadzayi Musuka
d660babecd
fix(cpu): purposely overflow when calculating PC during branch
2022-10-21 05:11:44 -03:00
Rekai Nyangadzayi Musuka
cb06c20864
feat(cpu): implement condition field behaviour
2022-10-21 05:11:44 -03:00
Rekai Nyangadzayi Musuka
c98e8d384a
chore: conform to zig style guides
2022-10-21 05:11:44 -03:00
Rekai Nyangadzayi Musuka
446eeba094
chore: run zig fmt
2022-10-21 05:11:44 -03:00
Rekai Nyangadzayi Musuka
e841bf44ca
chore(cpu): iron out some false assumptions
2022-10-21 05:11:44 -03:00
Rekai Nyangadzayi Musuka
1991bd8525
feat: implement LDR STR
2022-10-21 05:11:44 -03:00
Rekai Nyangadzayi Musuka
6c6d7d463d
chore: run zig fmt
2022-10-21 05:11:43 -03:00
Rekai Nyangadzayi Musuka
acdf13cb7b
chore: add reccomended vscode extensions
2022-10-21 05:11:43 -03:00
Rekai Nyangadzayi Musuka
5b3b81e4dc
Initial Commit
2021-12-29 15:09:00 -06:00