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
Rekai Nyangadzayi Musuka
f1df3d6615
chore: clean up io
2022-03-04 22:55:04 -04:00
Rekai Nyangadzayi Musuka
85f0b13f4a
feat: improve DMA Transfer support
2022-03-03 02:10:29 -04:00
Rekai Nyangadzayi Musuka
cb4d3a9a51
chore: replace unnecessarily complex sign extension implementation
2022-02-28 20:38:50 -04:00
Rekai Nyangadzayi Musuka
ddb68a7952
feat: pass beeg yoshi
2022-02-28 18:24:24 -04:00
Rekai Nyangadzayi Musuka
d6ef53fd67
feat: DMA Transfer MVP
2022-02-28 12:34:00 -06:00
Rekai Nyangadzayi Musuka
ac0486be1b
chore(io): replace some bitfields with enums
2022-02-24 17:20:23 -06:00
Rekai Nyangadzayi Musuka
441ebc38c7
fix: better emulate behaviour of IO reads
2022-02-24 17:20:20 -06:00
Rekai Nyangadzayi Musuka
be2dfb379a
chore: document select unimplmented I/O registers
...
These registers are written to / read from Kirby: Nightmare in Dream Land
2022-02-22 17:14:30 -06:00
Rekai Nyangadzayi Musuka
bc66be6c06
feat: impelement a barebones SRAM
2022-02-22 17:14:26 -06:00
Rekai Nyangadzayi Musuka
c2cf2d2965
feat: implement Hblank and Vcount Interrupts
...
Also implemented unique behaviour when writing to IF
2022-02-21 14:45:47 -06:00
Rekai Nyangadzayi Musuka
c767e88e8d
chore: improve io.zig
2022-02-19 11:48:17 -05:00
Rekai Nyangadzayi Musuka
9e2e8c3d1a
feat: implement mirroring for IWRAM EWRAM, OAM and PALRAM
...
Also realized I confused IWRAM and EWRAM. This is also fixed
TODO: Implemnt Mirroring for VRRAM
2022-02-19 10:08:31 -05:00
Rekai Nyangadzayi Musuka
3746cf6025
chore: don't panic on 32-bit I/O
2022-02-19 06:45:39 -04:00
Rekai Nyangadzayi Musuka
f6c8d7ca07
chore: stub CPU HALTing
2022-02-17 00:27:34 -04:00
Rekai Nyangadzayi Musuka
4018f3875b
chore: properly write to VOFS and HOFS in 32-bit bus
2022-02-16 23:23:41 -04:00
Rekai Nyangadzayi Musuka
034f2e8d1d
feat: implement hofs and vofs on io bus
2022-02-16 04:29:04 -04:00
Rekai Nyangadzayi Musuka
ce97a52868
feat: add support for multiple BGs in Mode 0
2022-02-16 03:27:06 -04:00