Commit Graph

520 Commits

Author SHA1 Message Date
Rekai Nyangadzayi Musuka 739d38533a style(scheduler): rename scheduler event handlers 2022-10-21 05:13:04 -03:00
Rekai Nyangadzayi Musuka ae6b8e2f03 style: code refactoring 2022-10-21 05:13:04 -03:00
Rekai Nyangadzayi Musuka 208f4b522d style(apu): split apu.zig into multiple files + refactor 2022-10-21 05:13:03 -03:00
Rekai Nyangadzayi Musuka bd54700103 style(backup): refactor code 2022-10-21 05:13:03 -03:00
Rekai Nyangadzayi Musuka 08d27520e0 style(flash): move flash code into it's own file 2022-10-21 05:13:03 -03:00
Rekai Nyangadzayi Musuka bfe97c671e style(eeprom): move eeprom code to it's own file 2022-10-21 05:13:03 -03:00
Rekai Nyangadzayi Musuka 9baadadba2 style(bus): refactor several hardware abstractions 2022-10-21 05:13:03 -03:00
Rekai Nyangadzayi Musuka 68a87e0a54 chore: SDL2.zig expects target to be set before link() is called 2022-10-21 05:13:02 -03:00
Rekai Nyangadzayi Musuka 1d7dfe71ca chore: update dependencies 2022-10-21 05:13:02 -03:00
Rekai Nyangadzayi Musuka 1acc5e35e9 chore: move util.zig 2022-10-21 05:13:02 -03:00
Rekai Nyangadzayi Musuka df73cdbecc chore: disable audio sync by default
forgot SDL2 AudioStream doesn't work well for my use-case
2022-10-21 05:13:02 -03:00
Rekai Nyangadzayi Musuka 6738dfac85 chore: change default settings 2022-10-21 05:13:02 -03:00
Rekai Nyangadzayi Musuka 11985f4019 chore: reimpl util.escape
should make use of stdlib when I can
2022-10-21 05:13:02 -03:00
Rekai Nyangadzayi Musuka 7cad3aca13 fix: Detect FRAM ROMs 2022-10-21 05:13:01 -03:00
Rekai Nyangadzayi Musuka 2bbc12cd1a chore: improve util and Gui API 2022-10-21 05:13:01 -03:00
Rekai Nyangadzayi Musuka 270db2b5ff chore: move Gpio and Clock structs to separate file 2022-10-21 05:13:01 -03:00
Rekai Nyangadzayi Musuka bce46418cd Merge pull request 'Implement RTC' (#1) from rtc into main
Reviewed-on: #1
2022-10-21 05:13:01 -03:00
Rekai Nyangadzayi Musuka 2d9b03a725 feat: add option to force-enable RTC 2022-10-21 05:13:01 -03:00
Rekai Nyangadzayi Musuka c34752ac65 feat: auto-detect RTC in commercial ROMS 2022-10-21 05:13:00 -03:00
Rekai Nyangadzayi Musuka 60680a36e2 fix: account for lateness in RTC scheduler event 2022-10-21 05:13:00 -03:00
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 8553ab6e6d chore: Guilty Gear X expects these I/O Registers 2022-10-21 05:12:58 -03:00
Rekai Nyangadzayi Musuka 372bfdc5f6 tmp: incomplete impl of GPIO + RTC 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