e3553bcbd6
feat: panic on unimplemented I/O in ReleaseSafe/Debug but not ReleaseFast
2022-04-22 20:56:52 -03:00
9cce4d9859
chore: misc improvements
2022-04-21 10:15:52 -03:00
75ba9a4bf9
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-04-21 07:56:17 -03:00
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
f6d746e810
feat: impelemt THUMB open bus
2022-04-14 00:21:49 -03:00
9b9b6c0d6f
feat: implement ARM read open bus
2022-04-13 23:28:14 -03:00
2c763e9772
feat: pass jsmolka memory.gba
2022-04-11 22:52:17 -03:00
76b4d56ca6
feat: Initial Implementation of DMA Audio
2022-04-10 04:50:09 -03:00
c100d64fcb
chore: tick scheduler on memory access
2022-04-09 19:43:27 -03:00
76789aa8bc
chore: rewrite I/O read/writes
2022-04-08 17:07:36 -03:00
80e714e2eb
chore: reimplement bus read/writes
2022-04-08 16:48:43 -03:00
37a360ec07
fix: force align reads/writes in memory bus rather than in CPU
2022-04-08 15:17:31 -03:00
a976a5769e
fix: pass none.gba and kind of sram.gba from jsmolka test suite
2022-04-08 14:38:35 -03:00
aac01b0bfe
chore: rewrite read/write methods for remainig Bus devices
2022-04-08 02:08:26 -03:00
5310c12669
chore: mirror VRAM
2022-04-08 01:10:12 -03:00
9b9de11e0c
chore: write generic read/write for VRAM
2022-04-08 00:44:52 -03:00
e127669549
Revert "chore: tick on memory access instead of 1cpi"
...
This reverts commit 7f555095f2c49cbb06bca9fc2fd6cdee05a1b2cd.
2022-03-29 08:58:57 -03:00
7f555095f2
chore: tick on memory access instead of 1cpi
2022-03-29 08:50:12 -03:00
bf7b533b3c
chore: stub more apu I/O addresses
2022-03-28 19:40:47 -03:00
bd54cba8a0
feat: implement SRAM saving and loading
2022-03-22 14:41:18 -03:00
40968f0990
fix: implement proper SRAM mirroring and stub Flash
2022-03-15 21:54:55 -03:00
04d54ec97a
chore: move DMA and Timers from io to bus
2022-03-15 08:25:26 -03:00
1fd80c1c23
feat: define APU registers
2022-03-15 08:09:07 -03:00
8e3f48837d
chore: organize io switch statements
2022-03-13 07:50:19 -03:00
025f295c08
fix: mirror SRAM
...
SRAM is mirrored in 64K chunks
TODO: According to GBATEK SRAM chips are 32K and mirrored
2022-03-13 05:53:32 -03:00
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
4a76611fca
feat: implement Timers
2022-03-13 05:35:01 -03:00
f1df3d6615
chore: clean up io
2022-03-04 22:55:04 -04:00
bc66be6c06
feat: impelement a barebones SRAM
2022-02-22 17:14:26 -06:00
e5ab8b51a9
chore: improve Bus log + panic messages
2022-02-19 11:48:43 -05:00
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
3746cf6025
chore: don't panic on 32-bit I/O
2022-02-19 06:45:39 -04:00
31fa06ac4a
chore: give io read/write functions access to the entire Bus
2022-02-13 04:13:06 -04:00
aca7fc9a60
feat: implement OAM
2022-02-13 02:30:02 -04:00
b93bd53529
chore: make use of scoped logging
2022-02-11 01:33:33 -04:00
2842345111
chore: remove unnecessary @as calls
2022-02-05 21:01:39 -04:00
3e4f9eddb2
feat: integrate zig-clap with ZBA
2022-02-04 03:12:35 -04:00
1c173eb4b8
chore(io): implement IE and IME
2022-01-12 02:19:26 -04:00
c1be53bcb2
fix(bus): remove accidental recursion
2022-01-10 21:25:45 -04:00
0f08ad05be
feat(bus): implement IWRAM and EWRAM
2022-01-10 07:59:21 -04:00
c54145ce3c
chore: improve code clarity
2022-01-09 23:34:33 -04:00
568c374131
chore: code cleanup
2022-01-07 20:00:42 -04:00
910745f442
chore(bus): refactor bus.zig
2022-01-07 19:49:58 -04:00