Commit Graph

61 Commits

Author SHA1 Message Date
Rekai Nyangadzayi Musuka ce121864d2 feat: implement cartridge saving
Implemented for MBC1, MBC2, MBC3 and MBC5
2021-09-20 04:13:25 -03:00
Rekai Nyangadzayi Musuka 5882678bc5 chore: inline some functions
continuous-integration/drone/push Build was killed Details
2021-09-20 01:34:41 -03:00
Rekai Nyangadzayi Musuka bcd67cb317 chore: begin refactor of public api 2021-09-20 01:34:21 -03:00
Rekai Nyangadzayi Musuka 6087e3b20b chore: remove Cycle struct and begin scheduler design 2021-09-12 04:56:34 -03:00
Rekai Nyangadzayi Musuka 10ac579c40 fix(main): Use LogicalSize and PhysicalSize properly 2021-09-11 22:56:40 -03:00
Rekai Nyangadzayi Musuka db012c7f4b fix(main): remove code unrelated to audio sync
continuous-integration/drone/push Build is passing Details
2021-09-07 02:09:02 -03:00
Rekai Nyangadzayi Musuka e42c87aeb7 fix(apu): quiet gameboy APU 2021-09-07 01:52:02 -03:00
Rekai Nyangadzayi Musuka 9fa40f8584 fix(main): do not drop output stream 2021-08-18 22:39:55 -05:00
Rekai Nyangadzayi Musuka b10bc7b4fd chore(main): add flag that enables audio 2021-08-18 16:34:26 -05:00
Rekai Nyangadzayi Musuka 360a9a7b65 chore(apu): improve code organization
continuous-integration/drone/push Build is passing Details
2021-08-18 00:04:27 -05:00
Rekai Nyangadzayi Musuka 9b2c91445a chore: enable audio by default
even if it sounds really bad right now
2021-08-17 21:25:55 -05:00
Rekai Nyangadzayi Musuka aa22e93049 chore: clean up TODO messages
continuous-integration/drone/push Build is passing Details
2021-08-15 23:31:27 -05:00
Rekai Nyangadzayi Musuka 1acb5de19d fix(main): GB frametime should be 59.73 Hz 2021-08-14 17:59:59 -05:00
Rekai Nyangadzayi Musuka 79be38a1e6 fix(main): rename constant SCALE to WINDOW_SCALE
continuous-integration/drone/push Build is passing Details
2021-08-14 01:02:18 -05:00
Rekai Nyangadzayi Musuka 33be2e0e83 fix(main): tie emulation to 60Hz on host machine 2021-08-03 14:09:16 -05:00
Rekai Nyangadzayi Musuka e43cac8041 fix(apu): don't spin if ringbuf is full 2021-07-28 16:23:31 -05:00
Rekai Nyangadzayi Musuka 903cfacad3 fix(apu): replace mpsc with spsc ringbuffer
continuous-integration/drone/push Build is passing Details
2021-07-28 02:01:04 -05:00
Rekai Nyangadzayi Musuka 1a4546f4a4 chore: remove egui from project
I want to re-implement this later.
2021-07-27 22:38:21 -05:00
Rekai Nyangadzayi Musuka 4fda7587ce chore(main): disable vsync 2021-07-18 21:33:52 -05:00
Rekai Nyangadzayi Musuka c1430594cf chore(apu): change access modifiers of some methods 2021-07-18 20:58:02 -05:00
Rekai Nyangadzayi Musuka 8e2ef58b81 chore(main): remove rodio sink 2021-07-18 20:42:36 -05:00
Rekai Nyangadzayi Musuka b4b84d0cc5 fix(main): Allow emu to work on windows and linux
continuous-integration/drone/push Build is passing Details
2021-07-16 21:07:00 -05:00
Rekai Nyangadzayi Musuka cc0cb0dd8a chore(apu): satisfy clippy
continuous-integration/drone/push Build is passing Details
2021-07-15 22:58:23 -05:00
Rekai Nyangadzayi Musuka 44b605970f chore(snd): rename some structs 2021-07-12 10:03:45 -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 9b3a5d49d2 chore: update error messages in expect() calls 2021-07-08 18:50:58 -05:00
Rekai Nyangadzayi Musuka fc4a898177 chore: reorganize select parts of codebase 2021-06-27 20:28:29 -05:00
Rekai Nyangadzayi Musuka aa4a898a6b fix: resolve type issue with debug feature enabled 2021-06-09 13:45:12 -05:00
Rekai Nyangadzayi Musuka 1449ed3765 fix(joypad): reimplement joypad 2021-06-07 17:23:48 -05:00
Rekai Nyangadzayi Musuka d623800005 fix: apply clippy suggestions 2021-06-06 21:30:08 -05:00
Rekai Nyangadzayi Musuka b1bf6c5868 feat: integrate eui and pixels-rs for debug info 2021-06-02 01:50:35 -05:00
Rekai Nyangadzayi Musuka 96cf705966 chore: update dependencies 2021-05-31 23:24:20 -05:00
Rekai Nyangadzayi Musuka 4abb2833c4 chore: implement gamepad controls 2021-05-03 23:11:39 -05:00
Rekai Nyangadzayi Musuka b43c8ac7c9 feat(cartridge): grab title from the ROM 2021-04-14 01:21:45 -05:00
Rekai Nyangadzayi Musuka cbd085c25b chore: use Default::default instead of Type::Default 2021-04-13 23:02:13 -05:00
Rekai Nyangadzayi Musuka 2b05571c49 chore: rename Cycles newtype to Cycle 2021-03-27 12:10:18 -05:00
Rekai Nyangadzayi Musuka 45466a5733 feat: implement clap for cli and improve error messages 2021-03-22 21:41:22 -05:00
Rekai Nyangadzayi Musuka 4db6f1de6e chore: move LR35902_CLOCK_SPEED to lib.rs 2021-03-21 02:10:56 -05:00
Rekai Nyangadzayi Musuka 15da6cb7d2 fix: squash several bugs in MBC1 implementation 2021-03-21 01:52:29 -05:00
Rekai Nyangadzayi Musuka cd0eac9d37 chore: improve code quality
Removed a lot of magic constants. Gave them descriptive variable names
2021-03-20 20:26:49 -05:00
Rekai Nyangadzayi Musuka 0f4dec8a38 feat: implement cpu timing for emulator
When running the GB Boot ROM, a garbled Nin***** logo will appear
2021-03-20 19:56:26 -05:00
Rekai Nyangadzayi Musuka 558f9e7c72 feat: implement cpu interrupts 2021-03-18 21:07:19 -05:00
Rekai Nyangadzayi Musuka fb38ef3f68 feat: emu slowly draws scanline to pixelbuffer 2021-03-18 21:06:57 -05:00
Rekai Nyangadzayi Musuka b053260c8b feat: don't embed gb boot rom in emulator 2021-01-27 22:07:31 -06:00
Rekai Nyangadzayi Musuka 842e670807 fix: replace MathTarget::HL and ::SP with already-existing enums 2021-01-19 02:05:04 -06:00
Rekai Nyangadzayi Musuka 68c9557c43 chore: improve code quality 2021-01-19 01:36:44 -06:00
Rekai Nyangadzayi Musuka 1da01a318d feat: emulator now sucessfully runs boot rom 2021-01-19 00:30:32 -06:00