Commit Graph

450 Commits

Author SHA1 Message Date
Rekai Nyangadzayi Musuka 4111bb5e4f fix: RTC day is 6 bits wide, not 3 2022-10-21 05:13:00 -03:00
Rekai Nyangadzayi Musuka 612f5fe30e feat: put RTC Sync on Scheduler
TODO: Database to see what games have what GPIO devices
2022-10-21 05:13:00 -03:00
Rekai Nyangadzayi Musuka d9776e99d3 chore: import datetime library + default time for RTC 2022-10-21 05:13:00 -03:00
Rekai Nyangadzayi Musuka 960efcd428 fix: ignore RTC Time/DateTime writes
this falls in-line with better emulators
2022-10-21 05:13:00 -03:00
Rekai Nyangadzayi Musuka b07dc8484d chore: use Clock.Writer for Command parsing, delete Clock.Command 2022-10-21 05:12:59 -03:00
Rekai Nyangadzayi Musuka ebcae80a9d feat: implement RTC Read/Writes 2022-10-21 05:12:59 -03:00
Rekai Nyangadzayi Musuka ff8ea79620 feat: implement force irqs for GPIO/RTC 2022-10-21 05:12:59 -03:00
Rekai Nyangadzayi Musuka fe19b19fc7 fix: properly resovle stack UAF 2022-10-21 05:12:59 -03:00
Rekai Nyangadzayi Musuka e709c2030c chore: shorten `orelse @panic` to `.?` 2022-10-21 05:12:59 -03:00
Rekai Nyangadzayi Musuka 5725bbbe35 fix: update GpioData extern union
u4's are no longer supported in extern unions :\
2022-10-21 05:12:59 -03:00
Rekai Nyangadzayi Musuka 372bfdc5f6 tmp: incomplete impl of GPIO + RTC 2022-10-21 05:12:58 -03:00
Rekai Nyangadzayi Musuka 8553ab6e6d chore: Guilty Gear X expects these I/O Registers 2022-10-21 05:12:58 -03:00
Rekai Nyangadzayi Musuka fad5c9e632 feat: implement open bus for unmapped i/o 2022-10-21 05:12:58 -03:00
Rekai Nyangadzayi Musuka 5fb5247d0e chore: comment open bus impl 2022-10-21 05:12:58 -03:00
Rekai Nyangadzayi Musuka 75be6aa82a chore: update dependencies 2022-10-21 05:12:58 -03:00
Rekai Nyangadzayi Musuka 0b8cc30d4d chore: Update README.md 2022-10-21 05:12:58 -03:00
Rekai Nyangadzayi Musuka d2a50cf9d2 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-10-21 05:12:57 -03:00
Rekai Nyangadzayi Musuka b2386a6a2b chore: move arm/thumb lut idx functions 2022-10-21 05:12:57 -03:00
Rekai Nyangadzayi Musuka 22fbe380eb chore: update dependencies 2022-10-21 05:12:57 -03:00
Rekai Nyangadzayi Musuka f2b27f31f4 chore: better conform to zig idioms 2022-10-21 05:12:57 -03:00
Rekai Nyangadzayi Musuka 867025b1ec 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-10-21 05:12:57 -03:00
Rekai Nyangadzayi Musuka 9b0f54b111 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-10-21 05:12:56 -03:00
Rekai Nyangadzayi Musuka 4cf58f1faa chore: improve init/deinit methods 2022-10-21 05:12:56 -03:00
Rekai Nyangadzayi Musuka 1a56f957c1 chore: reorganize some code 2022-10-21 05:12:56 -03:00
Rekai Nyangadzayi Musuka 1a4a2a56a3 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-10-21 05:12:56 -03:00
Rekai Nyangadzayi Musuka c701156ce6 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-10-21 05:12:56 -03:00
Rekai Nyangadzayi Musuka 4b6897aedf feat: Get ZBA working on Zig's new stage2/stage3 compiler 2022-10-21 05:12:55 -03:00
Rekai Nyangadzayi Musuka 1471288969 chore: move window scale const to emu.zig 2022-10-21 05:12:55 -03:00
Rekai Nyangadzayi Musuka 7488fd7fd5 fix: reimpl debug reads w/out throwing away *const Self 2022-10-21 05:12:55 -03:00
Rekai Nyangadzayi Musuka 20056eff2c chore: update dependencies: 2022-10-21 05:12:55 -03:00
Rekai Nyangadzayi Musuka 3f760fccaf feat: reimplement cpu logging 2022-10-21 05:12:55 -03:00
Rekai Nyangadzayi Musuka f833de765c chore: don't init bus in Arm7tdmi init 2022-10-21 05:12:55 -03:00
Rekai Nyangadzayi Musuka aa19ef5f71 feat: move arm instr decoding to module 2022-10-21 05:12:54 -03:00
Rekai Nyangadzayi Musuka f0284107f9 feat: move thumb instr decoding to module 2022-10-21 05:12:54 -03:00
Rekai Nyangadzayi Musuka 91c94fe528 chore: change directory structure 2022-10-21 05:12:54 -03:00
Rekai Nyangadzayi Musuka 45fc49b216 fix: reimplement halt fast-forwarding 2022-10-21 05:12:54 -03:00
Rekai Nyangadzayi Musuka 0939d6d7bc chore: move audio sync, video sync variables 2022-10-21 05:12:53 -03:00
Rekai Nyangadzayi Musuka e7b5410509 chore: update README.md 2022-10-21 05:12:53 -03:00
Rekai Nyangadzayi Musuka 2758e511ea chore: update SDL.zig 2022-10-21 05:12:53 -03:00
Rekai Nyangadzayi Musuka 46ee21f464 feat: impl WININ, WINOUT, WIN{N}H and WIN{N}V 2022-10-21 05:12:53 -03:00
Rekai Nyangadzayi Musuka 0287c9a260 fix: force align DMA transfers 2022-10-21 05:12:53 -03:00
Rekai Nyangadzayi Musuka 665767c250 fix: resolve bugs in VRAM unpredictable read/writes 2022-10-21 05:12:53 -03:00
Rekai Nyangadzayi Musuka 0fd8a13a93 fix: don't start HDMA in vblank 2022-10-21 05:12:52 -03:00
Rekai Nyangadzayi Musuka 125b931d0c feat: implement brightness increase/decrease 2022-10-21 05:12:52 -03:00
Rekai Nyangadzayi Musuka 27259c97db feat: implement object blending 2022-10-21 05:12:52 -03:00
Rekai Nyangadzayi Musuka 9479838614 feat: implement background alpha blending 2022-10-21 05:12:52 -03:00
Rekai Nyangadzayi Musuka 8a203ff05f feat: implement BLDCNT, BLDALPHA, BLDY 2022-10-21 05:12:52 -03:00
Rekai Nyangadzayi Musuka 39f71730e0 chore: update README 2022-10-21 05:12:52 -03:00
Rekai Nyangadzayi Musuka 33f993c19d chore: rename + remove some code 2022-10-21 05:12:51 -03:00
Rekai Nyangadzayi Musuka 18ec16eb6d fix: properly fire DMA IRQs
This resolves Sound DMA Timing issues present in DOOM
2022-10-21 05:12:51 -03:00