Commit Graph

15 Commits

Author SHA1 Message Date
af645d54dd gbasm: make code support gcc -pedantic 2017-11-19 18:27:55 -08: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
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
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
e5acc3088c treewide: restucture source tree per project
Signed-off-by: Max Regan <mgregan2@gmail.com>
2017-05-10 22:40:12 -07:00
0268f13080 common: include newline in debug logger
So it isn't necessary to add it each time.

Signed-off-by: Max Regan <mgregan2@gmail.com>
2017-05-10 22:40:12 -07:00
6e2f4096a2 gb-emu: initial commit
Add a mostly non-functional Gameboy CPU and the skeleton
of a Gameboy assembler intended for unit tests.
2017-05-10 22:40:12 -07:00