1716fe1e98
lcd - Initial work on the LCD/PPU
2023-09-12 00:15:15 +02:00
dc81fcb4e5
Makefile - Add SFML as dependency
2023-09-09 22:08:23 +02:00
ec4adf289f
Fix mapping in gbdif
2023-09-09 22:08:23 +02:00
77e24a6803
Add empty main.cpp
2023-09-09 15:52:18 +02:00
dba9fb41e8
Simplify gitignore
2023-09-09 15:52:00 +02:00
cc6cb865bc
Move gameboy doctor code to misc/
2023-09-09 15:50:39 +02:00
7bc272afb6
cpu/decoder - Fix DAA
2023-09-09 15:42:46 +02:00
9c20befc60
cpu/decoder - Fix ADC edge case
2023-09-09 15:41:02 +02:00
15c4811804
tests - Sort tests into subdirectories
2023-09-09 14:45:47 +02:00
2762b3aa8b
Move MBC implementations into cartridge subfolder
2023-09-05 21:32:42 +02:00
89fc62b312
Makefile - Fix default goal
2023-09-05 21:30:58 +02:00
720a9b4609
Makefile - Handle .d files correctly
2023-09-05 12:51:24 +02:00
9ca6c84043
cpu/decoder - Fix output reg for LD HL, SP + e8
2023-09-02 00:38:47 +02:00
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
c7cb345c08
cpu/cpu - Fix writeback for add16
2023-09-02 00:13:07 +02:00
9db97b80ab
cpu/decoder - Fix decoding of bit op codes
2023-09-02 00:01:55 +02:00
c38f0de994
main.cpp - Add try-catch for CpuException
2023-09-01 23:44:06 +02:00
243553acba
cpu/cpu - Fix F register
2023-09-01 23:43:24 +02:00
899cebb698
cpu/cpu - Fix carry and halfcarry in aluop8
...
Found by Gameboy Doctor
2023-09-01 23:19:31 +02:00
c52aa91f26
Implement everything for Gameboy Doctor
2023-09-01 23:19:02 +02:00
66c19caaee
Use exceptions instead of panic
2023-09-01 23:13:12 +02:00
a0377959dc
Makefile - Add TARGETS to clean-objs
2023-09-01 15:13:16 +02:00
8703edbec8
Makefile - Rework build system a bit
2023-09-01 09:28:23 +02:00
fb65792e87
Makefile - Add vgbc.inspect to clean-objs
2023-09-01 08:36:12 +02:00
3b4c50cbc5
memory/mbc - Partial implementation of MBC1
2023-08-31 23:55:49 +02:00
6e7d06299a
Implement class for cartridge and rudimentary ROM inspector
2023-08-31 23:55:16 +02:00
0c52f9d2e0
memory - Add bank device
2023-08-31 00:28:40 +02:00
c82d966ba1
test_memory_register - Use value that would not be returned on read error
2023-08-30 22:49:36 +02:00
1cd7d0c2f2
test_cpu_simple - Add test for HALT with IME=1
2023-08-30 22:46:25 +02:00
ed202b107e
test_cpu_state - Add test for SI
2023-08-30 22:46:06 +02:00
9c07356ead
memory - Rename mem_device.* to device.*
2023-08-30 22:34:45 +02:00
86eeb90868
tests - Add test for memory register
2023-08-30 22:17:17 +02:00
09b2823ef6
memory - Add way to map register into address space
2023-08-30 22:16:57 +02:00
3f1a23b7e5
cpu/cpu - Fix build errors
2023-08-30 22:13:58 +02:00
5d5f1803b2
Makeconf - remove deprecated tests variable
2023-08-30 22:03:37 +02:00
57f029bc6e
cpu - best effort implementation of haltbug
2023-08-30 21:47:38 +02:00
c1ba944fc9
cpu/decoder - RETI enables interrupts without delay
2023-08-30 21:35:57 +02:00
7574c9f709
cpu/decoder - Remove superfluous include mem_device.h
2023-08-30 18:34:22 +02:00
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
ef9bda4a30
cpu/decoder - Little conversion fix for ADD SP, e8
2023-08-30 13:43:10 +02:00
53daaeba6b
cpu/decoder - Remove more extraneous brackets
2023-08-30 13:41:35 +02:00
a8edf40b96
cpu/decoder - Unify code for ALU n ops
2023-08-30 13:41:15 +02:00
9bc6f935ac
cpu/decoder - Fix comment
2023-08-30 13:40:50 +02:00
77bd32114a
cpu/decoder - Join code for INC rr and DEC rr
2023-08-30 13:34:14 +02:00
e45704e2ab
cpu/decoder - Reduct empty lines
2023-08-30 13:27:04 +02:00
dbd42c4573
cpu/decoder - Remove extraneous brackets
2023-08-30 13:26:35 +02:00
87b939c80e
cpu/decoder - add function with shared code for 16-bit addition
2023-08-30 13:20:57 +02:00
317d22b8ab
memory/bus - use Range class
2023-08-30 13:02:20 +02:00
66c98f53fb
test_cpu_simple - Add DAA example as a test
2023-08-30 12:56:40 +02:00
3d244d1ec0
cpu/decoder - Implement DAA
...
This is a best effort implementation, possible quirks of the actual
hardware have not been considered.
2023-08-30 12:56:00 +02:00