Commit Graph

440 Commits

Author SHA1 Message Date
Rekai Nyangadzayi Musuka b7b213b6b9 chore(bus): implement read/write blocks when dma is active 2021-06-05 20:53:35 -05:00
Rekai Nyangadzayi Musuka 2e42513d71 chore(cartrige): rewrite error to be more descriptive 2021-06-04 13:47:49 -05:00
Rekai Nyangadzayi Musuka 811a9f9cc9 feat(dma): implement non-working dma transfer 2021-06-04 13:47:06 -05:00
Rekai Nyangadzayi Musuka 778e04e645 feat(ppu): account for OBJ ENABLE bit in LCDC 2021-06-03 02:16:03 -05:00
Rekai Nyangadzayi Musuka aeaaee8c6c fix(ppu): fix bugs in code that grabs sprite tiles
PPU now supports 8x16 tiles
2021-06-03 02:14:59 -05:00
Rekai Nyangadzayi Musuka 138aba52c1 fix(ppu): fix integer overflow error in bg fetcher 2021-06-03 00:41:21 -05:00
Rekai Nyangadzayi Musuka 66c2b51e10 chore(ppu): fix silly spelling mistake 2021-06-03 00:16:25 -05:00
Rekai Nyangadzayi Musuka be39c249e1 chore(ppu): reimplement WindowLineCounter behaviour 2021-06-03 00:13:51 -05:00
Rekai Nyangadzayi Musuka 112454aa59 chore(ppu): reimplement fifo pixel merging logic 2021-06-02 23:32:39 -05:00
Rekai Nyangadzayi Musuka cd21c90722 chore(ppu): rename ppu/registers.rs to ppu/types.rs 2021-06-02 23:31:57 -05:00
Rekai Nyangadzayi Musuka c60bf704ff chore(cpu): Ensure Cycles is the size of an u32 2021-06-02 23:09:45 -05:00
Rekai Nyangadzayi Musuka 50ba300d23 chore(gui): ensure all windows are disabled by default 2021-06-02 23:06:20 -05:00
Rekai Nyangadzayi Musuka 86f3a897f1 feat(egui): add timer window 2021-06-02 02:44:32 -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 9ea26d4a05 chore: improve performance of match statements 2021-05-19 02:52:32 -05:00
Rekai Nyangadzayi Musuka e89e89df5b chore(ppu): refactor small part of bg fetcher 2021-05-08 15:52:43 -05:00
Rekai Nyangadzayi Musuka fd2b64496c chore(ppu): refactor reset behaviour in fetchers
and other components like window_stat and the window line counter
2021-05-08 15:35:16 -05:00
Rekai Nyangadzayi Musuka 705194eced chore(ppu): rename PixelFetcher properties 2021-05-08 15:13:26 -05:00
Rekai Nyangadzayi Musuka 5917ca203f chore(ppu): rename pixel fetcher and background fetcher variables 2021-05-08 14:31:20 -05:00
Rekai Nyangadzayi Musuka 48abc97505 chore(ppu): add bytes() method to Pixels 2021-05-08 14:06:41 -05:00
Rekai Nyangadzayi Musuka f7b2aa60a6 chore: update dependencies 2021-05-07 23:16:08 -05:00
Rekai Nyangadzayi Musuka a67aec55e2 chore(ppu): rename ppu property 2021-05-05 20:25:15 -05:00
Rekai Nyangadzayi Musuka f6cf5393b6 chore(ppu): fix logic error in shifter 2021-05-05 20:24:09 -05:00
Rekai Nyangadzayi Musuka 6575eb5531 chore(bus): ensure no read-only bits are overwritten by the cpu 2021-05-05 19:23:01 -05:00
Rekai Nyangadzayi Musuka f4e0a024eb chore: update .gitignore 2021-05-05 18:37:11 -05:00
Rekai Nyangadzayi Musuka af3edde2ab chore(ppu): rearrange/reimplement some behaviour 2021-05-05 17:47:06 -05:00
Rekai Nyangadzayi Musuka abdff1251e fix: properly implement LY==LYC behaviour 2021-05-05 08:29:39 -05:00
Rekai Nyangadzayi Musuka b36f4441fa chore(ppu): change signature of get_obj_low_addr 2021-05-05 00:14:14 -05:00
Rekai Nyangadzayi Musuka 2cf85b0add fix(ppu): fix off by one error when grabbing sprite address 2021-05-05 00:01:19 -05:00
Rekai Nyangadzayi Musuka b57df3d2a7 chore(ppu): rename Pixel to Pixels
Since the Pixel struct represents 8 pixels in a 2BPP format, I felt like
the name of the type needed to represent this
2021-05-04 22:55:34 -05:00
Rekai Nyangadzayi Musuka 6b0bba48f9 chore(build): remove verbose flags from cargo 2021-05-04 22:17:15 -05:00
Rekai Nyangadzayi Musuka 5bdf5d4084 chore(build): add dependency to CI build config 2021-05-04 22:15:58 -05:00
Rekai Nyangadzayi Musuka 2a7377c724 chore(ppu): reimplement offset calculation for obj fetcher 2021-05-04 22:11:03 -05:00
Rekai Nyangadzayi Musuka 6f919acafb chore(bus): remove 0xFF7F matches from read and write_byte 2021-05-04 21:38:37 -05:00
Rekai Nyangadzayi Musuka 834b1bd9fd chore(cpu): remove branching code in instructions
also, rename a couple of methods
2021-05-04 00:50:22 -05:00
Rekai Nyangadzayi Musuka 5a59c31b72 fix(joypad): fix bug where gameboy overwrites read only bits 2021-05-03 23:37:30 -05:00
Rekai Nyangadzayi Musuka 4abb2833c4 chore: implement gamepad controls 2021-05-03 23:11:39 -05:00
Rekai Nyangadzayi Musuka 1e19854ab0 feat: reimplement joypad status register 2021-05-03 03:27:23 -05:00
Rekai Nyangadzayi Musuka 66414075da fix(ppu): fix bug when loading sprite pixels into FIFO 2021-05-01 16:22:44 -05:00
Rekai Nyangadzayi Musuka b251efcc7d fix(ppu): reimplement the pixel fifo shifter 2021-04-30 17:44:02 -05:00
Rekai Nyangadzayi Musuka 11398303b5 feat(ppu): reimplement window line counter check 2021-04-30 02:10:16 -05:00
Rekai Nyangadzayi Musuka 51252db753 chore(ppu): rename select structs 2021-04-30 00:24:22 -05:00
Rekai Nyangadzayi Musuka 6ffdd92dbb feat(ppu): implement sprite x-flip check 2021-04-30 00:20:50 -05:00
Rekai Nyangadzayi Musuka 3c680dec2f fix(ppu): reimplement OAM scan 2021-04-30 00:09:17 -05:00
Rekai Nyangadzayi Musuka 0672c7346a chore(ppu): rename select method and variables 2021-04-28 19:36:00 -05:00
Rekai Nyangadzayi Musuka 8a06fe9ff8 chore(ppu): improve code quality 2021-04-28 17:59:30 -05:00
Rekai Nyangadzayi Musuka 7620633116 chore(ppu): reimplement background/sprite fetcher state machine 2021-04-27 04:57:00 -05:00
Rekai Nyangadzayi Musuka 9003617459 chore: rename properties in bus.rs 2021-04-27 04:06:08 -05:00
Rekai Nyangadzayi Musuka 9d01b2458d chore: move ppu bitfield structs to separate file 2021-04-27 04:03:50 -05:00