Commit Graph

324 Commits

Author SHA1 Message Date
Rekai Nyangadzayi Musuka 0f343f0b74 chore: only sync to audio for now 2022-10-21 05:12:38 -03:00
Rekai Nyangadzayi Musuka 7a670c6ed9 feat: panic on unimplemented I/O in ReleaseSafe/Debug but not ReleaseFast 2022-10-21 05:12:38 -03:00
Rekai Nyangadzayi Musuka e690f88cda chore: misc improvements 2022-10-21 05:12:37 -03:00
Rekai Nyangadzayi Musuka c7f537959b fix: improper lifetime for *Arm7tdmi ptr in Bus
*Arm7tdmi ptr is now assigned one scope up so that it lives as least
as long as Bus does
2022-10-21 05:12:37 -03:00
Rekai Nyangadzayi Musuka f074b703b3 feat: implement Noise
Kirby & The Amazing Mirror crashes only in ReleaseSafe / ReleaseBug.

TODO: Figure out why
2022-10-21 05:12:37 -03:00
Rekai Nyangadzayi Musuka f8159645e0 feat: implement ch3 2022-10-21 05:12:37 -03:00
Rekai Nyangadzayi Musuka cccb83a926 feat: implement ch2 2022-10-21 05:12:37 -03:00
Rekai Nyangadzayi Musuka af8fe66c43 feat: implement ch1
TODO: It's really loud
2022-10-21 05:12:36 -03:00
Rekai Nyangadzayi Musuka 1f23aff22c chore: broken impl of ch1 2022-10-21 05:12:36 -03:00
Rekai Nyangadzayi Musuka e580b78020 feat: add audio resampler
Also implement extremely naive audio sync
2022-10-21 05:12:36 -03:00
Rekai Nyangadzayi Musuka a87a5ce273 chore: calculate apu sample rate a bit better 2022-10-21 05:12:36 -03:00
Rekai Nyangadzayi Musuka af1887e0a6 feat: schedule audio sampling on scheduler
DMA sound in games like Pokemon Emerald, Chobits, Love Hina, and Kirby:
Nightmare in Dream Land sound great save for conerns about resampling
2022-10-21 05:12:36 -03:00
Rekai Nyangadzayi Musuka 14bb2f6fbe chore: improve timer behaviour 2022-10-21 05:12:36 -03:00
Rekai Nyangadzayi Musuka d144973acf chore: move some init code to functions 2022-10-21 05:12:35 -03:00
Rekai Nyangadzayi Musuka eecd78a008 feat: impelemt THUMB open bus 2022-10-21 05:12:35 -03:00
Rekai Nyangadzayi Musuka c03c142b14 feat: implement ARM read open bus 2022-10-21 05:12:35 -03:00
Rekai Nyangadzayi Musuka 40f3600de2 fix: remove accidental rotation in ldrsh instructions 2022-10-21 05:12:35 -03:00
Rekai Nyangadzayi Musuka c08e331f77 chore: move log statement 2022-10-21 05:12:35 -03:00
Rekai Nyangadzayi Musuka a92989ed24 chore: remove magic numbers 2022-10-21 05:12:35 -03:00
Rekai Nyangadzayi Musuka 6c61eb3537 chore: remove unnecessary 32MB allocation 2022-10-21 05:12:34 -03:00
Rekai Nyangadzayi Musuka 05c1274ec1 chore: define more I/O read/writes 2022-10-21 05:12:34 -03:00
Rekai Nyangadzayi Musuka f5bc78ae22 chore: update README 2022-10-21 05:12:34 -03:00
Rekai Nyangadzayi Musuka 27ad8772ea feat: pass jsmolka memory.gba 2022-10-21 05:12:34 -03:00
Rekai Nyangadzayi Musuka 135987745c chore: ignore instead of logging errors for perf reasons 2022-10-21 05:12:34 -03:00
Rekai Nyangadzayi Musuka f039c891c7 feat: Initial Implementation of DMA Audio 2022-10-21 05:12:33 -03:00
Rekai Nyangadzayi Musuka e69f4cfafe chore: tick scheduler on memory access 2022-10-21 05:12:33 -03:00
Rekai Nyangadzayi Musuka a4020400da chore: log error on open bus in page 0x00 and 0x01 2022-10-21 05:12:33 -03:00
Rekai Nyangadzayi Musuka d4aac22e34 chore: rewrite I/O read/writes 2022-10-21 05:12:33 -03:00
Rekai Nyangadzayi Musuka 601e717850 chore: reimplement bus read/writes 2022-10-21 05:12:33 -03:00
Rekai Nyangadzayi Musuka 886b9abf3d fix: force align reads/writes in memory bus rather than in CPU 2022-10-21 05:12:32 -03:00
Rekai Nyangadzayi Musuka 9c87b9820e fix: pass none.gba and kind of sram.gba from jsmolka test suite 2022-10-21 05:12:32 -03:00
Rekai Nyangadzayi Musuka 1fe332a44f feat: implement GamePak out-of-bounds reads 2022-10-21 05:12:32 -03:00
Rekai Nyangadzayi Musuka b6d2084c96 chore: run zigfmt 2022-10-21 05:12:32 -03:00
Rekai Nyangadzayi Musuka ed896d976d chore: change implementation of rotr 2022-10-21 05:12:32 -03:00
Rekai Nyangadzayi Musuka 677eecad41 chore: rewrite read/write methods for remainig Bus devices 2022-10-21 05:12:32 -03:00
Rekai Nyangadzayi Musuka 74b6fa2ecc chore: mirror VRAM 2022-10-21 05:12:31 -03:00
Rekai Nyangadzayi Musuka effb6315e9 chore: write generic read/write for VRAM 2022-10-21 05:12:31 -03:00
Rekai Nyangadzayi Musuka 3c8390a248 Merge branch 'main' of ssh://musuka.dev:2222/paoda/zba 2022-10-21 05:12:31 -03:00
Rekai Nyangadzayi Musuka 8337a6dcd9 chore: update dependencies 2022-10-21 05:12:31 -03:00
Rekai Nyangadzayi Musuka ee194b03d0 chore: update README 2022-10-21 05:12:31 -03:00
Rekai Nyangadzayi Musuka 2d8fa9c2f7 fix: don't create un-needed save file
If we don't know if we support a game's save type yet, avoid
creating a file for it.
2022-10-21 05:12:30 -03:00
Rekai Nyangadzayi Musuka b76481b34c chore: don't assume 1cpi when stepping by a frame 2022-10-21 05:12:30 -03:00
Rekai Nyangadzayi Musuka 147f6ac9ec Revert "chore: tick on memory access instead of 1cpi"
This reverts commit 7f555095f2.
2022-10-21 05:12:30 -03:00
Rekai Nyangadzayi Musuka 84273cbdad chore: tick on memory access instead of 1cpi 2022-10-21 05:12:30 -03:00
Rekai Nyangadzayi Musuka 885f92beeb feat: implement Flash backup cartrige kinds 2022-10-21 05:12:30 -03:00
Rekai Nyangadzayi Musuka f12800f2d0 chore: stub more apu I/O addresses 2022-10-21 05:12:30 -03:00
Rekai Nyangadzayi Musuka a93b335dea fix: account for subset of disallowed chars in save file names 2022-10-21 05:12:29 -03:00
Rekai Nyangadzayi Musuka ad9463dcb9 feat: implement SRAM saving and loading 2022-10-21 05:12:29 -03:00
Rekai Nyangadzayi Musuka 242627199b chore: properly deallocate OAM buffer 2022-10-21 05:12:29 -03:00
Rekai Nyangadzayi Musuka 22a8f67d81 fix: speed percentage in title is now accurate
We now properly account for full speed being 59.97Hz not, 59Hz or 60Hz
2022-10-21 05:12:29 -03:00