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
2d4daf821e
cpu/decoder - Add missing breaks
2023-08-30 12:32:38 +02:00
b434b63b75
tests_cpu_simple - Add test for RST op
2023-08-30 10:48:18 +02:00
c4e171cb80
Makefile - Add pretty messages
2023-08-30 10:48:05 +02:00
52df4eae27
Rename main.c to main.cpp
2023-08-30 10:47:56 +02:00
7d1d20becf
cpu/decoder - Fix comment
2023-08-30 00:36:20 +02:00
efc6762068
cpu/decoder - Remove extaneous code of instruction already implemented elsewhere
2023-08-30 00:25:49 +02:00
fe825e4f52
memory - Fix bootrom_overlay
2023-08-30 00:08:05 +02:00
45015b68fe
Makefile - Remove deprecated variable test-targets
2023-08-30 00:03:44 +02:00
aec3c7b0e6
cpu - Fix build errors
2023-08-30 00:01:45 +02:00
c4a9a10e09
cpu/decoder - Treat undefined opcodes as NOP
2023-08-29 23:59:32 +02:00
c90788d330
cpu/decoder - Implement STOP n8
2023-08-29 23:47:18 +02:00
2ab37c6468
cpu/cpu - Implement stop mode
2023-08-29 23:46:36 +02:00
4e506a4d3c
cpu/decoder - Implement LD HL, SP + e8
2023-08-29 23:46:09 +02:00
7180ae8c40
cpu/decoder - Implement HALT
2023-08-29 23:32:11 +02:00
5cabe03d25
cpu/cpu - Handle halt mode
2023-08-29 23:30:31 +02:00
077f834c28
Makefile - Also clean test objs
2023-08-29 23:22:20 +02:00
c2d5ca5cfc
tests - Build o-files for tests
...
This should reduce build time when rebuilding tests
2023-08-29 23:19:13 +02:00
a3730b868c
Makefile - let objs depend on all headers
2023-08-29 23:18:51 +02:00
5281ceb0d6
cpu/cpu - Fix include
2023-08-29 23:16:18 +02:00