365 Commits

Author SHA1 Message Date
d68257bb29 fix(ppu): improve accuracy of SCX discard 2021-08-14 22:03:01 -05:00
e27d6dc25b chore(ppu): rename discriminants of fetcher state 2021-08-14 22:02:41 -05:00
1acb5de19d fix(main): GB frametime should be 59.73 Hz 2021-08-14 17:59:59 -05:00
1b78b248a3 chore: minor edits to documentation 2021-08-14 17:51:09 -05:00
5d6df46a2d fix(cpu): reimplement instruction handling
All checks were successful
continuous-integration/drone/push Build is passing
2021-08-14 17:23:45 -05:00
7e65d82fef chore(cpu): document fetch, decode, execute 2021-08-14 16:42:38 -05:00
8c9567b610 chore(cpu): rename discriminants of ImeState enum 2021-08-14 16:42:15 -05:00
53dfaf0de2 fix(apu): increase size of the audio buffer
All checks were successful
continuous-integration/drone/push Build is passing
2021-08-14 15:29:35 -05:00
16c2dd81fc fix(bus): remove dead code 2021-08-14 15:02:25 -05:00
79be38a1e6 fix(main): rename constant SCALE to WINDOW_SCALE
All checks were successful
continuous-integration/drone/push Build is passing
2021-08-14 01:02:18 -05:00
8625bec059 feat: clock bus on instruction read-write
Some checks failed
continuous-integration/drone/push Build is failing
Commit also includes general work towards passing mem-timings.

Note: while cpu_instrs.gb passes, instr_timing.gb and mem_timing.gb both
are stuck in infinite loops (Currently, it seems like a timing issue).
This is a major regression that hopefully shouldn't last for too long.
2021-08-14 00:10:51 -05:00
0637b771e3 chore(instr): implement copy and clone on instruction enum
Some checks failed
continuous-integration/drone/push Build is failing
2021-08-05 20:04:39 -05:00
0107fa04c9 chore(apu): remove implemtation of register that always returns 0xFF 2021-08-05 16:39:04 -05:00
6265c8af04 chore(joypad): poll input every frame instead of every instruction
Some checks failed
continuous-integration/drone/push Build is failing
2021-08-03 20:36:55 -05:00
5482a8e75f fix(apu): fix out of bounds error with channel 3 wave ram 2021-08-03 20:35:22 -05:00
002dae6826 fix(joypad): improve handling of keyboard input 2021-08-03 20:23:43 -05:00
c863dc835c fix(apu): fix index out of bounds error on channel 3 write 2021-08-03 20:23:08 -05:00
d4407cf849 fix(apu): implement NR50 volume controls 2021-08-03 19:33:27 -05:00
de0d147685 fix(cartridge): put a bit more detail into the MBC3 RTC stub
Some checks failed
continuous-integration/drone/push Build is failing
2021-08-03 15:19:08 -05:00
dd8339e8de chore(cartridge): consistently capitalize MBC 2021-08-03 15:06:06 -05:00
05d6475015 fix(cartridge): Use default title instead of empty string 2021-08-03 14:53:30 -05:00
32b597a328 fix(apu): incremental improvements to APU accuracy
Some checks failed
continuous-integration/drone/push Build is failing
2021-08-03 14:10:08 -05:00
33be2e0e83 fix(main): tie emulation to 60Hz on host machine 2021-08-03 14:09:16 -05:00
832e1b7633 fix(apu): implement WAVE RAM blocking 2021-08-02 22:38:00 -05:00
a549b9feef chore(bus): suppress warning 2021-08-02 21:55:07 -05:00
4d6fc95130 chore: remove premature optimizations 2021-08-02 21:52:12 -05:00
7112cd15e3 chore(cpu): refactor SM83 implementation
All checks were successful
continuous-integration/drone/push Build is passing
Instruction::decode no longer requires mutable access to the CPU
2021-07-31 20:29:13 -05:00
2af673d7c5 chore: remove various warnings
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-28 16:25:29 -05:00
e43cac8041 fix(apu): don't spin if ringbuf is full 2021-07-28 16:23:31 -05:00
8724da824e chore: inline some methods 2021-07-28 14:53:52 -05:00
903cfacad3 fix(apu): replace mpsc with spsc ringbuffer
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-28 02:01:04 -05:00
9d0e099a97 chore: remove unnecessary derivations from structs 2021-07-28 00:09:07 -05:00
d9a3a7b0dd chore: update dependencies
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-27 22:52:58 -05:00
1a4546f4a4 chore: remove egui from project
I want to re-implement this later.
2021-07-27 22:38:21 -05:00
bd685a99a4 chore: update dependencies 2021-07-27 22:30:00 -05:00
31abd6dc5c chore(apu): change default sample rate
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-25 18:29:19 -05:00
c7e3cb5b35 fix(apu): abstract Apu read/write using BusIO trait
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-25 18:19:27 -05:00
e4d77d66ba fix(apu): abstract wave RAM behind BusIO trait 2021-07-25 18:03:11 -05:00
9e36e86c14 fix(apu): increase accuracy of apu
All checks were successful
continuous-integration/drone/push Build is passing
Due to this, not all instruments work. This is a regression and will be
fixed in a later commit when presumably the implementation of the APU is
a bit more correct
2021-07-25 17:42:09 -05:00
6f6c308d84 fix(apu): implement write guards for Ch1 & Ch1 when disabled 2021-07-18 22:10:32 -05:00
f429d72882 chore(bus): remove panics in IO bus read/write failures with stderr msgs 2021-07-18 21:52:22 -05:00
4fda7587ce chore(main): disable vsync 2021-07-18 21:33:52 -05:00
3fb182b9cb fix(apu): have send_samples block main thraed
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-18 21:18:04 -05:00
c1430594cf chore(apu): change access modifiers of some methods 2021-07-18 20:58:02 -05:00
8e2ef58b81 chore(main): remove rodio sink 2021-07-18 20:42:36 -05:00
b4b84d0cc5 fix(main): Allow emu to work on windows and linux
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-16 21:07:00 -05:00
1d8fb8d32a fix(ppu): delay ppu by one cycle on scx fifo discard
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-16 21:01:52 -05:00
cc0cb0dd8a chore(apu): satisfy clippy
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-15 22:58:23 -05:00
fd9a5b51ba chore(ppu): reimplement background/window/sprite priority 2021-07-15 22:29:51 -05:00
b9a798d0ad chore: update dependencies 2021-07-15 18:09:44 -05:00