01c1c9e393
gbdb: change cycle calculation for better performance
...
The conditions are hotpath, so pre-calcuate the end cycle count instead of doing it every loop.
I didn't verify that the compiler wasn't doing this anyway, but this won't hurt.
2018-07-01 21:57:25 +00:00
c53802495c
build: do not use LTO for --perf
...
LTO results in a significant performance boost, but hurts debugability of the results from perf. For now, disable it.
2018-07-01 21:54:27 +00:00
25e26804a9
cpu: correct some print formats and use more "native" types
...
These were found while running on a Raspberry Pi (ARM).
2018-07-01 21:43:49 +00:00
100704eb1a
common: add simple bitmap image writer
...
This will be useful for initial testing of the video processor.
2018-06-30 09:45:50 -07:00
e520e64bc4
cpu: fix C flag calculation during ADD A,*
2018-06-17 14:34:09 -07:00
6e3c9f4448
cpu: implement all BIT, SET, and RES opcodes
...
The CPU now runs until it hits a "HALT" instruction in my test game.
2018-06-17 14:34:09 -07:00
fb1deb05d5
cpu: correct opcode 0x22 to be "LD (HL+), A"
2018-06-17 14:34:09 -07:00
c1f972c448
cpu: fix DEC C to decrement the correct register
...
Now the CPU runs to the end of the boot ROM
2018-06-17 14:34:09 -07:00
0a3340f4fc
Fix assertion on $af register and add more debug output to asserts
2018-06-17 14:34:09 -07:00
a4df6411ca
Update boot test to check registers on completion of boot
2018-06-17 14:34:09 -07:00
6b2e3464cc
cleanup
2018-05-03 05:23:36 +00:00
d20d929335
test: add assertions during video init
2018-02-19 06:52:21 +00:00
ee318b348d
video: fix writes
2018-02-19 06:51:48 +00:00
1a0dcbdb81
cpu: implement LDH instructions
2018-02-19 06:51:28 +00:00
bd95e66280
fixup whitespace
2018-02-19 05:41:26 +00:00
29ce85b87c
gbdb: optimize breakpoints and add runto
2018-02-19 05:13:40 +00:00
94551e3e61
build: add -flto flag for performance and perf configuration
2018-02-19 04:34:33 +00:00
9b69088b35
pushing to dev
2018-02-18 12:51:10 -08:00
d62a8d3f0e
cpu: implement enought to make bootrom use display hardware
2018-01-01 16:51:56 -08:00
92f9ef591b
gbdb: add scripting features for automatic testing
2018-01-01 16:50:14 -08:00
3f11a3a167
cpu: rewrite to a single switch-based dispatch
...
This will make it easier to experiment with direct-threading in the future.
2017-11-19 18:39:12 -08:00
af645d54dd
gbasm: make code support gcc -pedantic
2017-11-19 18:27:55 -08:00
ebc65ac4a5
build: make the build emit relative paths
2017-11-19 18:26:39 -08:00
3976d8635e
gbdb: add support for multiple commands on single line
2017-11-19 18:25:50 -08:00
23898c72b6
WIP
2017-09-17 19:02:46 -04:00
8e3a8056fa
WIP: idk
2017-09-17 10:35:55 -04:00
2532bc077f
WIP: makefile: fixx relative paths
2017-08-05 11:12:45 -07:00
be4b876955
buildbot: fix coverage reports
...
A recent commit which added out-of-tree builds broke buildbot coverage
reports. This fixes them.
2017-05-31 22:23:02 -07:00
df22d782f5
Makefile: fix stopping on failed tests
...
A previous patch changed the way tests are run by piping the output
into sed to indent the output. This broke checking the return code of
the test because the return code is really that of sed.
Fix this by taking a dependecy on bash and using PIPESTATUS to get
the return code fo the test.
2017-05-31 22:03:30 -07:00
8dbcf353ab
gbemu: refactor testing infrastructure
...
Similar to gbasm, break the testing into different files for sanity's
sake. This patch also adds a "test" register state which is compared
to the state of the actual CPU registers at the end of the test.
Finally, break the inc and dec tests, but add "ld r8, r8" and "ld dr,
d8" tests.
2017-05-31 22:03:29 -07:00
30df5164d6
cpu: add missing header guards
2017-05-31 22:03:27 -07:00
f76d384e6d
cpu: define get_reg functions as const
...
This will be useful in the future when we want to reference the CPU
state in a const-way.
2017-05-31 22:03:26 -07:00
e062a40571
gbasm: return the position of the first differing byte
...
This aids debugging failing tests by showing exactly where things
failed in assertions that follow failed comparisons.
2017-05-31 22:03:25 -07:00
7900ac28ff
ld: add support for loading 8-bit immediates
2017-05-31 22:03:23 -07:00
6a9e8b06a7
configure: add a proper configure script
...
It's not very good, but it supports all of the options by the
previous far-worse Makefile configure targets, and also now supports
out-of-tree builds.
Also include the relevent updates to the .buildbot script and
.gitignore.
2017-05-31 22:03:21 -07:00
ba534f81e4
gbasm: do not differentiate immediate bit lengths
...
Instead, treat them simply as values. Specific instructions can
determine if their values are valid or representable.
2017-05-31 22:03:05 -07:00
05bff5cefb
gbasm: truncate file at end of output
...
When overwriting an old output file, this will delete the extra data
if the new output is shorter than the old output.
2017-05-23 22:12:22 -07:00
4cad9a3ec3
gbasm: make some internal functions static
2017-05-20 18:59:40 -07:00
e64d59c793
parser: treat comma as a delimiter
2017-05-20 18:58:59 -07:00
bc3d54edbc
gbasm: add test for "ld r8, r8"
2017-05-20 16:55:58 -07:00
b0577cebc6
gbasm: add support for generating source input
...
By adding an "init" function per test, it is easier to
generate code that would be laborious to write by hand.
2017-05-20 16:50:49 -07:00
70a7e80d3e
gbasm: add support for "ld, r8, r8"
2017-05-20 16:47:57 -07:00
a5f3ae7ad6
gbasm: correct the "(hl)" operand
...
Though not a real register, the operand "(hl)" fits in
better with the 8-bit registers than it does with the
sixteen bit ones. As such, move its definition.
Also, define useful values for the 8-bit operands rather
than arbitrary ones.
2017-05-20 16:43:29 -07:00
e1d8eb0257
buildbot: remove extra directories from uploads
2017-05-13 11:19:27 -07:00
2a6178da6f
gitignore: remove buildbot and doxygen artifacts
2017-05-10 22:40:12 -07:00
e506e74ca4
buildbot: update buildbot output directory
2017-05-10 22:40:12 -07:00
cdeae65824
buildbot: vacuously succeed on unknown commands
2017-05-10 22:40:12 -07:00
a6786ae01e
README: update compilation documentation
...
Signed-off-by: Max Regan <mgregan2@gmail.com >
2017-05-10 22:40:12 -07:00
23fa8db134
test: add buildbot configuration
...
Signed-off-by: Max Regan <mgregan2@gmail.com >
2017-05-10 22:40:12 -07:00
5cdda55874
doxygen: add simple config
...
Signed-off-by: Max Regan <mgregan2@gmail.com >
2017-05-10 22:40:12 -07:00