100 Commits
Author SHA1 Message Date
FranLMSP 4b47ae96a1 refactor bus and ppu registers, env var to unlock fps 2023-10-09 22:16:00 -05:00
FranLMSP 76a930385d fix double speed mode not being triggered 2023-10-09 16:21:26 -05:00
FranLMSP 7bfe760a57 Fix tearing 2023-07-09 12:09:09 -05:00
FranLMSP 60bcc39a74 Small PPU refactor for HDMA addresses 2022-10-12 10:25:37 -05:00
FranLMSP a69c5be762 WIP cgb double speed switch 2022-10-11 20:34:01 -05:00
FranLMSP ba4051bc14 Refactor cpu constructor and fix tests 2022-02-07 19:11:23 -05:00
FranLMSP 2ca1813939 basic HDMA implementation 2022-01-02 21:09:48 -05:00
FranLMSP 7925dd75c9 Fix cgb RAM 2021-12-27 14:10:39 -05:00
FranLMSP b4b560231e fix cram address issue 2021-12-27 10:58:40 -05:00
FranLMSP e48e8881e7 update readme 2021-12-26 10:53:39 -05:00
FranLMSP 758d17675e More cgb-acid2 progress 2021-12-26 10:49:32 -05:00
FranLMSP eb0f61aebd CPU Registers for CGB mode 2021-12-26 08:58:09 -05:00
FranLMSP abac2b3bf3 First cgb-acid2 signs of life 2021-12-26 00:10:37 -05:00
FranLMSP 3f2824714f WIP PPU CGB support 2021-12-23 19:40:25 -05:00
FranLMSP c109346dcf RAM for cgb 2021-12-21 20:14:49 -05:00
FranLMSP d6ef80afe4 Sample rate of 48000 2021-12-21 14:32:03 -05:00
FranLMSP 060dbde966 Some progress on sound I guess 2021-12-18 19:12:20 -05:00
FranLMSP 10848d28eb Refactor interrupts 2021-11-25 21:13:55 -05:00
FranLMSP aa88a6498e more WIP for sound 2021-11-25 20:09:17 -05:00
FranLMSP 7fe522ea3b Timer tests 2021-11-23 09:21:25 -05:00
FranLMSP 23e7607319 Per pixel rendering PPU 2021-11-22 20:55:51 -05:00
FranLMSP d619c653f5 Add screenshots to readme 2021-11-21 20:22:47 -05:00
FranLMSP 7abe363e75 Calculating frames delay in microseconds 2021-11-20 20:52:56 -05:00
FranLMSP 4caac23f66 Frame limiter 2021-11-20 11:27:08 -05:00
FranLMSP 46262dfefa Some more implementations for MBC3, still WIP 2021-11-20 10:54:13 -05:00
FranLMSP c009c65c45 mbc5 bitmask 2021-11-20 09:38:55 -05:00
FranLMSP c0fde459e0 Refactor MBCs 2021-11-20 09:35:12 -05:00
FranLMSP 9464df5f22 Update resources 2021-11-20 07:56:27 -05:00
FranLMSP 275cfb847f fix bug when emulator close is triggered twice 2021-11-19 19:31:58 -05:00
FranLMSP 52ad064ab5 Saving RAM when the emulator is closed 2021-11-19 17:20:37 -05:00
FranLMSP 2eb5d55bcc Fix DMA bug 2021-11-19 13:26:16 -05:00
FranLMSP 186d6fa23b fix ram banking mbc1 2021-11-19 12:46:14 -05:00
FranLMSP 841cc96a67 Fix sprites bug 2021-11-19 10:19:01 -05:00
FranLMSP 22c09895d7 update readme 2021-11-18 20:50:00 -05:00
FranLMSP 2e3122f1e0 More MBC implementations 2021-11-18 20:48:02 -05:00
FranLMSP 70ac674fe9 Some changes to MBC1 2021-11-18 14:18:31 -05:00
FranLMSP 569df9edd3 Refactor PrefixCB opcode 2021-11-17 19:41:03 -05:00
FranLMSP 5493eb5690 Fix tests and more PPU optimizations 2021-11-17 10:12:11 -05:00
FranLMSP dc7d06cefc Fix instruction timing 2021-11-16 10:50:56 -05:00
FranLMSP 7396345f76 WIP mbc3 2021-11-16 09:25:33 -05:00
FranLMSP a44dcd0ce8 Basic MBC2 implementation 2021-11-16 08:28:15 -05:00
FranLMSP fb929a05a9 Header checksum 2021-11-15 19:35:53 -05:00
FranLMSP 2ed5fdb823 Refactor MBCs 2021-11-15 18:52:44 -05:00
FranLMSP 71692a05a5 Initial hardware registers 2021-11-15 17:25:43 -05:00
FranLMSP 6104f5b077 Refactor project structure and fix all warnings 2021-11-15 16:38:52 -05:00
FranLMSP e2959abfaf Fix crashing bug 2021-11-15 13:15:31 -05:00
FranLMSP 0aa6e56fc1 clippy 2021-11-15 11:33:21 -05:00
FranLMSP 7fa6857ac3 Refactor ppu and vram (currently crashing) 2021-11-15 11:25:30 -05:00
FranLMSP de021c2eff Replace AddressRange struct by ranges 2021-11-15 09:46:59 -05:00
FranLMSP 5acb3ba6d5 Refactor timer 2021-11-15 09:27:03 -05:00
FranLMSP c1dc14680e Refactor joypad 2021-11-15 09:15:31 -05:00
FranLMSP d601f2e67e Minor PPU optimizations 2021-11-14 21:35:18 -05:00
FranLMSP d4e8ec1f3f Little optimization to check_interrupts 2021-11-14 17:04:17 -05:00
FranLMSP 854b25b253 Constants for colors 2021-11-14 16:48:08 -05:00
FranLMSP 0957a79f15 Remove wgpu dependency 2021-11-13 09:24:01 -05:00
FranLMSP 0a30d9d194 Banking mode 2021-11-13 08:04:34 -05:00
FranLMSP d90a25e6f6 Fix LCD status when turned on or off 2021-11-12 19:52:46 -05:00
FranLMSP 7beeae01fa Frame counter 2021-11-12 14:04:10 -05:00
FranLMSP 6404593f2c Remove hardcoded roms 2021-11-12 11:18:09 -05:00
FranLMSP 0f0784b2ed Raspberry Pi 4 compatible 2021-11-12 09:43:47 -05:00
FranLMSP 747a528c27 Little tweak to timer 2021-11-11 10:29:00 -05:00
FranLMSP c68f24ea05 Refactor check_interrupts 2021-11-11 09:24:09 -05:00
FranLMSP 66182da336 Reduce get_tile_bytes calls 2021-11-11 09:11:13 -05:00
FranLMSP a67c7d5bb6 Caching LY, window and scroll values 2021-11-10 22:19:40 -05:00
FranLMSP 0ce0c11488 Optimizations 2021-11-10 20:57:58 -05:00
FranLMSP 2fc82faef6 Add resources to readme 2021-11-09 19:52:14 -05:00
FranLMSP 4bab81cbfa Fix MBC1 bug. Mario Land is now playable 2021-11-09 19:42:21 -05:00
FranLMSP bb19a6a6db Update readme 2021-11-09 16:33:56 -05:00
FranLMSP aa30b98679 Fix window and implement sprite over background 2021-11-09 15:34:37 -05:00
FranLMSP 2474cd72b7 Fix LCD on/off issue 2021-11-09 10:39:26 -05:00
FranLMSP b92160dee4 Fix bug with LCD enable and LY=0 and disabling background when bit 0 is reset 2021-11-08 19:40:30 -05:00
FranLMSP f7ca3fcc25 PPU optimization 2021-11-06 21:36:16 -05:00
FranLMSP d94b912ff6 Some ROM changes 2021-11-05 19:08:51 -05:00
FranLMSP 2bd74eddb4 Fix 02-interrupts test 2021-11-05 14:32:37 -05:00
FranLMSP 6da1b022d8 Basic MBC1 implementation (WIP) 2021-11-05 14:20:10 -05:00
FranLMSP 62071d7310 Reduce warnings 2021-11-05 10:08:17 -05:00
FranLMSP e490228c39 Sprite flip implementation 2021-11-05 08:32:02 -05:00
FranLMSP 488f36272c Fix OAM search bug 2021-11-05 08:13:35 -05:00
FranLMSP 5d488d4fa6 Refactor joypad and implement sprite fetching. Tetris is now playable 2021-11-05 00:19:55 -05:00
FranLMSP b7236e862a moonoeye if_ie_registers test 2021-11-04 13:13:22 -05:00
FranLMSP c5ff92c0ab Refactor PPU interrupt requests and fix Scroll X 2021-11-03 22:24:31 -05:00
FranLMSP 60fd55abca Optimize framebuffer render 2021-11-03 11:59:48 -05:00
FranLMSP 659f602b2a Interrupts tests passing 2021-11-03 08:36:30 -05:00
FranLMSP 806a4bf211 Refactor timer 2021-11-01 22:22:43 -05:00
FranLMSP 98be8f29dd EI instruction delay and fix palette bug 2021-11-01 17:03:56 -05:00
FranLMSP aed56708fd Some refactors 2021-11-01 13:04:09 -05:00
FranLMSP af15c0ef68 Update readme 2021-10-31 21:09:10 -05:00
FranLMSP 292c7d1507 Basic joypad implementation 2021-10-31 21:02:09 -05:00
FranLMSP b5bb582c54 Tile fetch refactor and window pixel get 2021-10-31 17:03:59 -05:00
FranLMSP b0c07a5264 Refactor LCDControl 2021-10-31 07:32:19 -05:00
FranLMSP 5723c3b3b6 Fix interrupts, implement halt mode and fix IME 2021-10-31 07:25:47 -05:00
FranLMSP 61db367f31 Timer implement 2021-10-30 09:13:31 -05:00
FranLMSP abbd46ebed Refactor interrupt enum 2021-10-29 18:27:21 -05:00
FranLMSP 66731e1c8e Refactor interrupt implementation 2021-10-29 17:03:02 -05:00
FranLMSP c77bc9db70 Experimental interrupts 2021-10-29 15:40:47 -05:00
FranLMSP f90900a4c1 Enabling lcd and vblank flag registers 2021-10-28 22:13:23 -05:00
FranLMSP c401726da5 update readme 2021-10-28 19:42:15 -05:00
FranLMSP 7f9fdc9935 PPU timings 2021-10-28 19:38:30 -05:00
FranLMSP 6ad3f9f29b Experimental background rendering with scrolling 2021-10-28 12:58:03 -05:00
FranLMSP ce4afa96bf Rendering tiles with a temporally algorithm 2021-10-28 10:30:48 -05:00