367eb60238
chore: update CI config
continuous-integration/drone/push Build is failing
2021-07-09 01:30:40 -05:00
ce630baa5d
feat(snd): implement audio playback using rodio
continuous-integration/drone/push Build is failing
2021-07-09 01:25:52 -05:00
0fa818a1a6
chore(snd): reimplement NR52 & implement sampling for ch2
...
Also add rodio as dependency for audio
2021-07-08 22:36:28 -05:00
9b3a5d49d2
chore: update error messages in expect() calls
2021-07-08 18:50:58 -05:00
4f3fc3136d
chore: print cartridge info in stderr
continuous-integration/drone/push Build is passing
2021-07-05 01:10:10 -05:00
48e81ff426
fix(cartridge): fix bug preventing MBC1 from working
continuous-integration/drone/push Build is passing
2021-07-05 00:43:02 -05:00
18b790a777
chore(cartridge): update MBC1 (still broken)
continuous-integration/drone/push Build is passing
2021-07-05 00:14:56 -05:00
39af03aebf
chore(bus): stub 0xFF4D
2021-07-01 23:09:02 -05:00
559cb54385
chore(snd): add enabled property to all channels
...
Also, rename lsfr property to shift_register
2021-07-01 22:27:42 -05:00
9b6c302890
chore: update build badge
continuous-integration/drone/push Build is passing
2021-06-29 23:22:25 -05:00
a0ecac0915
chore: remove debug feature listing from cargo.toml
2021-06-27 20:52:40 -05:00
fd7f0655ef
chore: satisfy clippy
2021-06-27 20:31:59 -05:00
fc4a898177
chore: reorganize select parts of codebase
2021-06-27 20:28:29 -05:00
c5aafab3ef
feat(snd): implement trigger event behaviour for lfsr
2021-06-24 01:28:00 -05:00
278953ab78
chore(snd): implement shift amount for channel 3 volume
2021-06-24 01:13:58 -05:00
67e2a6ad79
feat(snd): implement ch 1,2,3 and 4 length function
2021-06-24 01:00:07 -05:00
b8b3563bca
chore(snd): tighten use of access modifiers
2021-06-24 00:40:10 -05:00
249d96b443
chore(snd): update select bitfield names
2021-06-24 00:00:28 -05:00
d2e37da2b0
feat(snd): implement sweep behaviour
2021-06-23 23:51:30 -05:00
29237f0a2c
chore(timer): clean up if let statement
2021-06-23 21:49:46 -05:00
0c843b9ca9
feat(snd): implement volume envelope in ch1, 2 and 4
2021-06-23 21:49:25 -05:00
1bc5de7cff
chore(cartridge): incremental improvements to MBC1
2021-06-23 17:12:54 -05:00
dbcab4b5ec
chore: update dependencies
2021-06-22 19:42:34 -05:00
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
0b50e4eae9
fix(ppu): implement slightly better SCX discarding
2021-06-17 18:29:22 -05:00
aa0e3399f6
chore(ppu): fix integer overflow
2021-06-17 17:43:04 -05:00
d9db3e404f
fix(ppu): stub IO address 0xFF7F
...
Tetris now runs without requiring any local modifications
2021-06-15 01:19:40 -05:00
fe8598fd61
feat(snd): implement ch4
2021-06-15 01:11:18 -05:00
5b041d4713
chore(bus): rename sound property to snd
2021-06-15 00:30:08 -05:00
909972d36e
feat(snd): implement channel 3
2021-06-15 00:29:31 -05:00
e45c13f719
feat(sound): implement NR10
2021-06-14 23:51:37 -05:00
6a7ff66274
chore(sound): implement channel 2 registers
2021-06-14 23:37:30 -05:00
f2513c6964
chore: update dependencies
2021-06-14 17:08:25 -05:00
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
daeb02f7c9
fix(ppu): DMA takes priority over OAM Scan
2021-06-12 13:41:27 -05:00
0c22509d24
chore(cartridge): impelement MBC3
2021-06-10 16:57:40 -05:00
482d226cd6
fix(ppu): properly implement $8800 addressing mode
2021-06-10 00:37:49 -05:00
17024c439a
chore(ppu): emu now properly handles VRAM and OAM write guards
2021-06-09 22:04:06 -05:00
2b7958f5f3
chore(bus): add a select few read/write guards
2021-06-09 20:48:31 -05:00
50efe12aec
chore: change how bus components are clocked
2021-06-09 19:41:10 -05:00
aa4a898a6b
fix: resolve type issue with debug feature enabled
2021-06-09 13:45:12 -05:00
a904503b90
chore: document IO registers
2021-06-09 13:43:46 -05:00
1449ed3765
fix(joypad): reimplement joypad
2021-06-07 17:23:48 -05:00
83994e6adc
chore(gui): add two windows to top menu
2021-06-07 17:05:55 -05:00
dd86330e1d
fix(bus): Fix address calculation error in Echo RAM
2021-06-07 00:22:11 -05:00
d5e67568dd
chore(bus): temporarily disable VRAM and OAM gates
...
There appears to be severe timing issues in the ppu which result in
regressions with these gates enabled. They are commented out for now,
but will be re-enabled once the timing issues in the PPU are fixed
2021-06-07 00:01:40 -05:00
e8e6c41dbe
fix(dma): initial version of dma transfer now works
2021-06-06 23:57:54 -05:00
d623800005
fix: apply clippy suggestions
2021-06-06 21:30:08 -05:00
c428e934d8
fix(bus): improve guards for illlegal memory IO
2021-06-06 21:18:19 -05:00
ef4e54aba6
chore: restrict what should be pub or not
2021-06-06 20:47:11 -05:00