Rekai Nyangadzayi Musuka
207a99edbe
style: improve code quality
2022-10-21 05:13:04 -03:00
Rekai Nyangadzayi Musuka
3c5b30dece
feat: rewrite device ticks
2022-10-21 05:13:04 -03:00
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