Commit graph

123 commits

Author SHA1 Message Date
madmaurice 19c09901fb lcd - A few steps towards handling tilemaps
Bit by bit.
2023-09-19 23:21:15 +02:00
madmaurice da91ec4d1b timer - Start implementing timer 2023-09-19 23:20:42 +02:00
madmaurice 6263386b11 frontend with sfml window displaying tile data 2023-09-18 23:33:39 +02:00
madmaurice d0a4b5a217 cpu - Add run method to run a specific number of mcycles 2023-09-18 23:32:58 +02:00
madmaurice 431e7bb9a7 input - Add first implementation for joypad class
handling the Joypad register
2023-09-12 00:15:15 +02:00
madmaurice 8d40d491b1 system - Create a system class for the DMG 2023-09-12 00:15:15 +02:00
madmaurice 1716fe1e98 lcd - Initial work on the LCD/PPU 2023-09-12 00:15:15 +02:00
madmaurice dc81fcb4e5 Makefile - Add SFML as dependency 2023-09-09 22:08:23 +02:00
madmaurice ec4adf289f Fix mapping in gbdif 2023-09-09 22:08:23 +02:00
madmaurice 77e24a6803 Add empty main.cpp 2023-09-09 15:52:18 +02:00
madmaurice dba9fb41e8 Simplify gitignore 2023-09-09 15:52:00 +02:00
madmaurice cc6cb865bc Move gameboy doctor code to misc/ 2023-09-09 15:50:39 +02:00
madmaurice 7bc272afb6 cpu/decoder - Fix DAA 2023-09-09 15:42:46 +02:00
madmaurice 9c20befc60 cpu/decoder - Fix ADC edge case 2023-09-09 15:41:02 +02:00
madmaurice 15c4811804 tests - Sort tests into subdirectories 2023-09-09 14:45:47 +02:00
madmaurice 2762b3aa8b Move MBC implementations into cartridge subfolder 2023-09-05 21:32:42 +02:00
madmaurice 89fc62b312 Makefile - Fix default goal 2023-09-05 21:30:58 +02:00
madmaurice 720a9b4609 Makefile - Handle .d files correctly 2023-09-05 12:51:24 +02:00
madmaurice 9ca6c84043 cpu/decoder - Fix output reg for LD HL, SP + e8 2023-09-02 00:38:47 +02:00
madmaurice cfa32424c7 cpu/decoder - Fix H and C bits for ADD SP, e8 and LD HL, SP + e8 2023-09-02 00:38:01 +02:00
madmaurice c7cb345c08 cpu/cpu - Fix writeback for add16 2023-09-02 00:13:07 +02:00
madmaurice 9db97b80ab cpu/decoder - Fix decoding of bit op codes 2023-09-02 00:01:55 +02:00
madmaurice c38f0de994 main.cpp - Add try-catch for CpuException 2023-09-01 23:44:06 +02:00
madmaurice 243553acba cpu/cpu - Fix F register 2023-09-01 23:43:24 +02:00
madmaurice 899cebb698 cpu/cpu - Fix carry and halfcarry in aluop8
Found by Gameboy Doctor
2023-09-01 23:19:31 +02:00
madmaurice c52aa91f26 Implement everything for Gameboy Doctor 2023-09-01 23:19:02 +02:00
madmaurice 66c19caaee Use exceptions instead of panic 2023-09-01 23:13:12 +02:00
madmaurice a0377959dc Makefile - Add TARGETS to clean-objs 2023-09-01 15:13:16 +02:00
madmaurice 8703edbec8 Makefile - Rework build system a bit 2023-09-01 09:28:23 +02:00
madmaurice fb65792e87 Makefile - Add vgbc.inspect to clean-objs 2023-09-01 08:36:12 +02:00
madmaurice 3b4c50cbc5 memory/mbc - Partial implementation of MBC1 2023-08-31 23:55:49 +02:00
madmaurice 6e7d06299a Implement class for cartridge and rudimentary ROM inspector 2023-08-31 23:55:16 +02:00
madmaurice 0c52f9d2e0 memory - Add bank device 2023-08-31 00:28:40 +02:00
madmaurice c82d966ba1 test_memory_register - Use value that would not be returned on read error 2023-08-30 22:49:36 +02:00
madmaurice 1cd7d0c2f2 test_cpu_simple - Add test for HALT with IME=1 2023-08-30 22:46:25 +02:00
madmaurice ed202b107e test_cpu_state - Add test for SI 2023-08-30 22:46:06 +02:00
madmaurice 9c07356ead memory - Rename mem_device.* to device.* 2023-08-30 22:34:45 +02:00
madmaurice 86eeb90868 tests - Add test for memory register 2023-08-30 22:17:17 +02:00
madmaurice 09b2823ef6 memory - Add way to map register into address space 2023-08-30 22:16:57 +02:00
madmaurice 3f1a23b7e5 cpu/cpu - Fix build errors 2023-08-30 22:13:58 +02:00
madmaurice 5d5f1803b2 Makeconf - remove deprecated tests variable 2023-08-30 22:03:37 +02:00
madmaurice 57f029bc6e cpu - best effort implementation of haltbug 2023-08-30 21:47:38 +02:00
madmaurice c1ba944fc9 cpu/decoder - RETI enables interrupts without delay 2023-08-30 21:35:57 +02:00
madmaurice 7574c9f709 cpu/decoder - Remove superfluous include mem_device.h 2023-08-30 18:34:22 +02:00
madmaurice 175a24c77d cpu/decoder - define opcode class with methods
Instead of doing the same bit operations on the opcode everywhere, and
possibly botching it in the process, we create a datatype which has
methods return often used values extracted from the opcode.
2023-08-30 18:27:53 +02:00
madmaurice ef9bda4a30 cpu/decoder - Little conversion fix for ADD SP, e8 2023-08-30 13:43:10 +02:00
madmaurice 53daaeba6b cpu/decoder - Remove more extraneous brackets 2023-08-30 13:41:35 +02:00
madmaurice a8edf40b96 cpu/decoder - Unify code for ALU n ops 2023-08-30 13:41:15 +02:00
madmaurice 9bc6f935ac cpu/decoder - Fix comment 2023-08-30 13:40:50 +02:00
madmaurice 77bd32114a cpu/decoder - Join code for INC rr and DEC rr 2023-08-30 13:34:14 +02:00