Rekai Nyangadzayi Musuka
c40cc2ba30
feat: stub Affine BG registers
2022-05-18 15:50:40 -03:00
Rekai Nyangadzayi Musuka
2e821ab79c
chore: improve audio accuracy
2022-05-17 11:28:05 -03:00
Rekai Nyangadzayi Musuka
660c8a2d62
chore: clean up DMA code
2022-05-05 22:36:11 -03:00
Rekai Nyangadzayi Musuka
9d590b099a
feat: handle DMA IRQs (maybe?)
2022-05-05 22:04:59 -03:00
Rekai Nyangadzayi Musuka
d5443d9c2f
chore: contain Timers in a tuple rather than a struct
2022-05-05 20:09:00 -03:00
Rekai Nyangadzayi Musuka
f0ce39230b
chore: contain DMA Controllers in a tuple rather than a struct
2022-05-05 19:53:12 -03:00
Rekai Nyangadzayi Musuka
208e88e869
chore: resolve incorrect memory mirror in VRAM
...
+ stub GPIO registers on ROM Write
2022-05-05 16:44:48 -03:00
Rekai Nyangadzayi Musuka
5df023fb41
chore: stub a few I/O registers
2022-05-03 22:41:05 -03:00
Rekai Nyangadzayi Musuka
46ac1542a6
chore: allow 8-bit IO to BG0CNT and BG1CNT
...
BG0CNT and and BG1CNT now work properly in mario kart
2022-05-01 20:41:00 -03:00
Rekai Nyangadzayi Musuka
f2f4bb205a
chore: misc print message improvements
2022-04-29 12:41:05 -05:00
Rekai Nyangadzayi Musuka
6c88a0aec2
chore: improvements to APU accuracy
2022-04-29 12:19:31 -05:00
Rekai Nyangadzayi Musuka
a87b46898b
chore: special case saving for ROMS without titles
2022-04-27 18:08:44 -05:00
Rekai Nyangadzayi Musuka
d9c9105449
feat: pass DenSinH's eeprom-test
2022-04-25 17:20:43 -05:00
Rekai Nyangadzayi Musuka
05a432f1c1
feat: implement EEPROM
2022-04-25 16:23:24 -05:00
Rekai Nyangadzayi Musuka
f4a48d536c
chore: implement I/O regsister for Minish Cap
2022-04-25 08:01:34 -05:00
Rekai Nyangadzayi Musuka
1812fb8008
chore: write more debug log messages for unimplemented registers
2022-04-22 22:19:26 -03:00
Rekai Nyangadzayi Musuka
e3553bcbd6
feat: panic on unimplemented I/O in ReleaseSafe/Debug but not ReleaseFast
2022-04-22 20:56:52 -03:00
Rekai Nyangadzayi Musuka
9cce4d9859
chore: misc improvements
2022-04-21 10:15:52 -03:00
Rekai Nyangadzayi Musuka
85e8ca9146
feat: implement Noise
...
Kirby & The Amazing Mirror crashes only in ReleaseSafe / ReleaseBug.
TODO: Figure out why
2022-04-21 02:40:02 -03:00
Rekai Nyangadzayi Musuka
2f07c18f0b
feat: implement ch3
2022-04-21 00:21:55 -03:00
Rekai Nyangadzayi Musuka
ed3d275974
feat: implement ch2
2022-04-20 21:33:46 -03:00
Rekai Nyangadzayi Musuka
0184ec3e5e
feat: implement ch1
...
TODO: It's really loud
2022-04-20 20:52:50 -03:00
Rekai Nyangadzayi Musuka
172a59aefb
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-04-14 05:58:32 -03:00
Rekai Nyangadzayi Musuka
92cabd248b
chore: improve timer behaviour
2022-04-14 01:58:40 -03:00
Rekai Nyangadzayi Musuka
9b9b6c0d6f
feat: implement ARM read open bus
2022-04-13 23:28:14 -03:00
Rekai Nyangadzayi Musuka
c1b74d556a
chore: move log statement
2022-04-13 21:45:15 -03:00
Rekai Nyangadzayi Musuka
dfe94fb931
chore: remove magic numbers
2022-04-13 21:39:35 -03:00
Rekai Nyangadzayi Musuka
ffbb31c767
chore: remove unnecessary 32MB allocation
2022-04-13 21:25:41 -03:00
Rekai Nyangadzayi Musuka
714209565b
chore: define more I/O read/writes
2022-04-12 00:50:44 -03:00
Rekai Nyangadzayi Musuka
76b4d56ca6
feat: Initial Implementation of DMA Audio
2022-04-10 04:50:09 -03:00
Rekai Nyangadzayi Musuka
c100d64fcb
chore: tick scheduler on memory access
2022-04-09 19:43:27 -03:00
Rekai Nyangadzayi Musuka
5da84aff36
chore: log error on open bus in page 0x00 and 0x01
2022-04-09 18:01:17 -03:00
Rekai Nyangadzayi Musuka
76789aa8bc
chore: rewrite I/O read/writes
2022-04-08 17:07:36 -03:00
Rekai Nyangadzayi Musuka
80e714e2eb
chore: reimplement bus read/writes
2022-04-08 16:48:43 -03:00
Rekai Nyangadzayi Musuka
a976a5769e
fix: pass none.gba and kind of sram.gba from jsmolka test suite
2022-04-08 14:38:35 -03:00
Rekai Nyangadzayi Musuka
6df55c2d86
feat: implement GamePak out-of-bounds reads
2022-04-08 02:34:08 -03:00
Rekai Nyangadzayi Musuka
a1008738d2
chore: run zigfmt
2022-04-08 02:13:58 -03:00
Rekai Nyangadzayi Musuka
aac01b0bfe
chore: rewrite read/write methods for remainig Bus devices
2022-04-08 02:08:26 -03:00
Rekai Nyangadzayi Musuka
29da7b294e
feat: implement Flash backup cartrige kinds
2022-03-28 19:41:22 -03:00
Rekai Nyangadzayi Musuka
bf7b533b3c
chore: stub more apu I/O addresses
2022-03-28 19:40:47 -03:00
Rekai Nyangadzayi Musuka
37c039fb92
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-03-22 15:03:05 -03:00
Rekai Nyangadzayi Musuka
4c172cff70
fix: account for subset of disallowed chars in save file names
2022-03-22 14:55:08 -03:00
Rekai Nyangadzayi Musuka
bd54cba8a0
feat: implement SRAM saving and loading
2022-03-22 14:41:18 -03:00
Rekai Nyangadzayi Musuka
1901a471e4
feat: minor performance improvements
2022-03-18 09:49:49 -03:00
Rekai Nyangadzayi Musuka
40968f0990
fix: implement proper SRAM mirroring and stub Flash
2022-03-15 21:54:55 -03:00
Rekai Nyangadzayi Musuka
04d54ec97a
chore: move DMA and Timers from io to bus
2022-03-15 08:25:26 -03:00
Rekai Nyangadzayi Musuka
1fd80c1c23
feat: define APU registers
2022-03-15 08:09:07 -03:00
Rekai Nyangadzayi Musuka
8e3f48837d
chore: organize io switch statements
2022-03-13 07:50:19 -03:00
Rekai Nyangadzayi Musuka
017ec407f5
chore: don't panic on unknown bus and io writes/reads
...
This will lead to emulation bugs due to devices I've yet to implement but by
doing this a lot of games become playable "by default" such as Doom or
Kirby: Nightmare in Dream Land.
When implementing feature and/or debuggin make sure to set:
panic_on_und_bus and panic_on_und_io to true so that the emu crashes
on unknown reads/writes
2022-03-13 05:39:09 -03:00
Rekai Nyangadzayi Musuka
4a76611fca
feat: implement Timers
2022-03-13 05:35:01 -03:00