Rekai Nyangadzayi Musuka
1566d60fd4
fix(ppu): add fifo delay when BG fifo is not empty
2021-07-14 21:11:31 -05:00
Rekai Nyangadzayi Musuka
ab99e24f64
chore: modify commented out debug statement
2021-07-14 21:10:44 -05:00
Rekai Nyangadzayi Musuka
192bdffd64
fix(ppu): PPU cycle count increases even if LCDC bit 7 says otherwise
continuous-integration/drone/push Build is passing
Details
2021-07-12 21:32:50 -05:00
Rekai Nyangadzayi Musuka
afdfcfce2c
chore: add _debug_log function to cpu.rs
2021-07-12 21:08:38 -05:00
Rekai Nyangadzayi Musuka
44b605970f
chore(snd): rename some structs
2021-07-12 10:03:45 -05:00
Rekai Nyangadzayi Musuka
b13444c885
feat(snd): simplify audio buffer
...
continuous-integration/drone/push Build is passing
Details
The audio buffer now is held by crossbeam. The developers of said
library could write a batter queue than I could anyday
2021-07-11 23:48:16 -05:00
Rekai Nyangadzayi Musuka
3754325e30
chore(cartridge): silence warning
2021-07-11 23:47:05 -05:00
Rekai Nyangadzayi Musuka
3b772c7c49
feat(snd): synchronize audio with rest of system
...
In it's current form I think this is actually rather inefficient. It's
also not very accurate since I throw away a lot of samples for no real
good reason. More improvements to thiss will be coming henceforth
2021-07-11 23:22:17 -05:00
Rekai Nyangadzayi Musuka
45dc27301c
chore: enable/disable gamepad input at compile time
2021-07-11 15:45:37 -05:00
Rekai Nyangadzayi Musuka
db421c58f8
chore(snd): Don't repeat yourself
continuous-integration/drone/push Build is passing
Details
2021-07-11 13:15:55 -05:00
Rekai Nyangadzayi Musuka
ce6a83425f
feat(snd): implement channel 3
2021-07-11 00:16:25 -05:00
Rekai Nyangadzayi Musuka
d145ae44f3
feat(snd): implement channel 4
2021-07-10 22:36:48 -05:00
Rekai Nyangadzayi Musuka
3dbf026d33
fix(snd): increase accuracy of when to sample from APU
2021-07-10 22:35:54 -05:00
Rekai Nyangadzayi Musuka
7ab6e120f9
feat(snd): implement ch1 & envelopes for ch1 and ch2
2021-07-10 18:56:54 -05:00
Rekai Nyangadzayi Musuka
3c28dd7a6b
fix(snd): clock channel 2 every T-cycle
2021-07-10 14:00:22 -05:00
Rekai Nyangadzayi Musuka
91d19a7e66
chore(snd): mask unreadable bits from return values
2021-07-09 21:16:33 -05:00
Rekai Nyangadzayi Musuka
40ca0abb72
feat: implement keyboard controls
2021-07-09 19:19:52 -05:00
Rekai Nyangadzayi Musuka
548f3867d4
chore(main): remove windows-specific code
2021-07-09 17:25:38 -05:00
Rekai Nyangadzayi Musuka
ce630baa5d
feat(snd): implement audio playback using rodio
continuous-integration/drone/push Build is failing
Details
2021-07-09 01:25:52 -05:00
Rekai Nyangadzayi Musuka
0fa818a1a6
chore(snd): reimplement NR52 & implement sampling for ch2
...
Also add rodio as dependency for audio
2021-07-08 22:36:28 -05:00
Rekai Nyangadzayi Musuka
9b3a5d49d2
chore: update error messages in expect() calls
2021-07-08 18:50:58 -05:00
Rekai Nyangadzayi Musuka
4f3fc3136d
chore: print cartridge info in stderr
continuous-integration/drone/push Build is passing
Details
2021-07-05 01:10:10 -05:00
Rekai Nyangadzayi Musuka
48e81ff426
fix(cartridge): fix bug preventing MBC1 from working
continuous-integration/drone/push Build is passing
Details
2021-07-05 00:43:02 -05:00
Rekai Nyangadzayi Musuka
18b790a777
chore(cartridge): update MBC1 (still broken)
continuous-integration/drone/push Build is passing
Details
2021-07-05 00:14:56 -05:00
Rekai Nyangadzayi Musuka
39af03aebf
chore(bus): stub 0xFF4D
2021-07-01 23:09:02 -05:00
Rekai Nyangadzayi Musuka
559cb54385
chore(snd): add enabled property to all channels
...
Also, rename lsfr property to shift_register
2021-07-01 22:27:42 -05:00
Rekai Nyangadzayi Musuka
fd7f0655ef
chore: satisfy clippy
2021-06-27 20:31:59 -05:00
Rekai Nyangadzayi Musuka
fc4a898177
chore: reorganize select parts of codebase
2021-06-27 20:28:29 -05:00
Rekai Nyangadzayi Musuka
c5aafab3ef
feat(snd): implement trigger event behaviour for lfsr
2021-06-24 01:28:00 -05:00
Rekai Nyangadzayi Musuka
278953ab78
chore(snd): implement shift amount for channel 3 volume
2021-06-24 01:13:58 -05:00
Rekai Nyangadzayi Musuka
67e2a6ad79
feat(snd): implement ch 1,2,3 and 4 length function
2021-06-24 01:00:07 -05:00
Rekai Nyangadzayi Musuka
b8b3563bca
chore(snd): tighten use of access modifiers
2021-06-24 00:40:10 -05:00
Rekai Nyangadzayi Musuka
249d96b443
chore(snd): update select bitfield names
2021-06-24 00:00:28 -05:00
Rekai Nyangadzayi Musuka
d2e37da2b0
feat(snd): implement sweep behaviour
2021-06-23 23:51:30 -05:00
Rekai Nyangadzayi Musuka
29237f0a2c
chore(timer): clean up if let statement
2021-06-23 21:49:46 -05:00
Rekai Nyangadzayi Musuka
0c843b9ca9
feat(snd): implement volume envelope in ch1, 2 and 4
2021-06-23 21:49:25 -05:00
Rekai Nyangadzayi Musuka
1bc5de7cff
chore(cartridge): incremental improvements to MBC1
2021-06-23 17:12:54 -05:00
Rekai Nyangadzayi Musuka
b89515a0c1
fix(ppu): calculating window position is now signed
...
This allows for the window to display properly in Link's Awakening
2021-06-17 18:48:04 -05:00
Rekai Nyangadzayi Musuka
0b50e4eae9
fix(ppu): implement slightly better SCX discarding
2021-06-17 18:29:22 -05:00
Rekai Nyangadzayi Musuka
aa0e3399f6
chore(ppu): fix integer overflow
2021-06-17 17:43:04 -05:00
Rekai Nyangadzayi Musuka
d9db3e404f
fix(ppu): stub IO address 0xFF7F
...
Tetris now runs without requiring any local modifications
2021-06-15 01:19:40 -05:00
Rekai Nyangadzayi Musuka
fe8598fd61
feat(snd): implement ch4
2021-06-15 01:11:18 -05:00
Rekai Nyangadzayi Musuka
5b041d4713
chore(bus): rename sound property to snd
2021-06-15 00:30:08 -05:00
Rekai Nyangadzayi Musuka
909972d36e
feat(snd): implement channel 3
2021-06-15 00:29:31 -05:00
Rekai Nyangadzayi Musuka
e45c13f719
feat(sound): implement NR10
2021-06-14 23:51:37 -05:00
Rekai Nyangadzayi Musuka
6a7ff66274
chore(sound): implement channel 2 registers
2021-06-14 23:37:30 -05:00
Rekai Nyangadzayi Musuka
8149352e63
fix(ppu): Discard SCX mod 8 pixels from fifo
...
As of right now, the implementation of this is rudimentary. There are
currently some visual bugs that still need to get worked out
2021-06-12 13:42:57 -05:00
Rekai Nyangadzayi Musuka
daeb02f7c9
fix(ppu): DMA takes priority over OAM Scan
2021-06-12 13:41:27 -05:00
Rekai Nyangadzayi Musuka
0c22509d24
chore(cartridge): impelement MBC3
2021-06-10 16:57:40 -05:00
Rekai Nyangadzayi Musuka
482d226cd6
fix(ppu): properly implement $8800 addressing mode
2021-06-10 00:37:49 -05:00