Commit Graph

253 Commits

Author SHA1 Message Date
Adrian.Conlon
00f6c14703 Another couple of tests fixed.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-08-14 10:54:44 +01:00
Adrian.Conlon
a8c3c46709 Fix broken GB pop af test, to take low order flags mask.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-08-14 10:42:34 +01:00
Adrian.Conlon
043b7f3338 Another tested GB instruction.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-08-14 10:36:19 +01:00
Adrian.Conlon
e7116c5b56 Another GB test fixed.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-08-14 10:22:22 +01:00
Adrian.Conlon
4d322aeeb3 More GB tests fixed
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-08-13 23:01:52 +01:00
Adrian.Conlon
4a0d2dd930 Miscellaneous GB tests fixed. No surprises.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-08-13 22:51:15 +01:00
Adrian.Conlon
e6c4199b2a More miscellaneous GB tests fixed.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-08-13 22:11:43 +01:00
Adrian.Conlon
fb13d9fdce Correct GB: SWAP r operation. The demoted high nibble was being effectively zeroed each time.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-08-13 21:34:19 +01:00
Adrian.Conlon
c10dced63e Add test for GB SWAP r instructions.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-08-13 21:31:28 +01:00
Adrian.Conlon
6bbd7392dc LR35902 clears the half-carry flag on a CCF
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-08-13 19:51:42 +01:00
Adrian.Conlon
f41050b60c Add working test for 3a: LDD A,(HL)
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-08-13 12:52:30 +01:00
Adrian.Conlon
ca1176f0bb Fix test 32: LDD (HL),A from GB programming manual.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-08-13 12:02:45 +01:00
Adrian.Conlon
3355179884 Fix test for 2a: LDI A,(HL)
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-08-13 11:48:01 +01:00
Adrian.Conlon
a739c0eddf Use daa examples from GB programming manual for tests.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-08-13 11:07:01 +01:00
Adrian.Conlon
c84b757ad9 Move GB documentation to be closer to the LR35902 implementation.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-08-12 23:55:56 +01:00
Adrian.Conlon
dd873d9761 Start adding LR35902 tests, where wrong.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-08-12 23:54:53 +01:00
Adrian.Conlon
a24581caee Add comments pointing out GB specific instructions in the test input suite.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-08-12 15:48:15 +01:00
Adrian.Conlon
37c86fa5cf All comments in the LR35902 test input file
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-08-12 15:47:03 +01:00
Adrian.Conlon
0084d962c1 Unused Z80 prefixes removed from the test suite.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-08-12 14:49:32 +01:00
Adrian.Conlon
78e5451f93 Remove remaining Z80 -> LR35902 test translation code.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-08-12 14:29:12 +01:00
Adrian.Conlon
e7001b2425 Now runs the first pass of the translated Z80 tests as LR35902 style instructions
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-08-12 14:22:10 +01:00
Adrian.Conlon
5526892e2f Adjust for the differences between Z80 LR35902 flags (TBC!)
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-08-11 23:16:24 +01:00
Adrian.Conlon
42b1b7dc53 Add a one off converter for Z80 -> LR35902 fuse tests (TBC!)
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-08-10 23:46:41 +01:00
Adrian.Conlon
f0515ae65f First stab at a port of the fuse tests to LR35902.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-08-10 20:34:17 +01:00
Adrian.Conlon
7948962d70 Because of its boot room, the LR35902 needs a custom clear mechanism.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-08-10 20:30:37 +01:00
Adrian.Conlon
787d9dd799 Missed an easy "assume" entry
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-08-08 13:38:27 +01:00
Adrian.Conlon
9fcb349e1f Brought the LR35902 a little closer to the Z80
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-08-08 13:32:51 +01:00
Adrian.Conlon
99c2e2a719 Tidy up the 10 addressing mode write set to make it clearer when memory writes occur.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-08-07 21:25:21 +01:00
Adrian.Conlon
aa720c4c12 Pass all Klaus Dormann tests again: correct AM_10 write algorithm.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-08-07 21:02:31 +01:00
Adrian.Conlon
ab20fc6107 Place Z80 documentation close to the Z80 emulator.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-08-07 09:30:04 +01:00
Adrian.Conlon
88d773708c Correct some outstanding LR35902 problems arising.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-08-06 22:04:13 +01:00
Adrian.Conlon
016b3bca59 Switch to a memory read/write event driven model. All tests passing.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-08-06 17:06:48 +01:00
Adrian.Conlon
261433bd6e Remove unneeded 16-bit operations.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-07-27 21:44:24 +01:00
Adrian.Conlon
569e1925ce Merge branch 'master' of https://github.com/MoleskiCoder/EightBit 2017-07-25 21:23:27 +01:00
Adrian.Conlon
8535efb30d More i8080 and LR35902 consistency.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-07-25 21:22:15 +01:00
Adrian.Conlon
1b11e0750b Try to make the 8080 emulator a little more like the LR35902
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-07-25 20:52:10 +01:00
Adrian.Conlon
fbf797a610 More unification of "IntelProcessor" derived classes. This time the i8080.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-07-25 19:26:21 +01:00
Adrian.Conlon
b6dd48ca63 Some more small clarifications of shared processor implementation.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-07-25 18:56:43 +01:00
Adrian.Conlon
ff21263b97 Correct a couple of small disassembly issues in the 8080 implementation
Signed-off-by: Adrian.Conlon <adrian.conlon@arup.com>
2017-07-25 14:32:31 +01:00
Adrian.Conlon
2ae4e8331e Replace old i8080 disassembler with new (z80) style.
Signed-off-by: Adrian.Conlon <adrian.conlon@arup.com>
2017-07-25 14:12:34 +01:00
Adrian.Conlon
dfc02c7e54 Remove pointless comment.
Signed-off-by: Adrian.Conlon <adrian.conlon@arup.com>
2017-07-24 22:02:55 +01:00
Adrian.Conlon
c0c969c560 Use a z80 style instruction decoder for the i8080 emulator. 2017-07-24 22:00:49 +01:00
Adrian.Conlon
ad9d37237f Put i8080 instructions into their own region
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-07-23 10:26:53 +01:00
Adrian.Conlon
8f18a128cd First step of moving to an instruction decoder, rather than a lookup table.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-07-22 23:52:58 +01:00
Adrian.Conlon
99c1e8e2f1 Correct 8-bit signed integer display problem in disassembler.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-07-22 14:07:26 +01:00
Adrian.Conlon
9a264c7c06 Bring the LR35902 and i8080 increment/decrement implementations in line with the Z80.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-07-22 10:23:13 +01:00
Adrian.Conlon
19966f6ad8 Z80 eight bit increment/decrement can be simplified a little
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-07-22 10:05:35 +01:00
Adrian.Conlon
0a02c32695 Some things (namely shift.rotate instructions) don't need to be quite so close to the Z80 implementation.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-07-21 19:23:36 +01:00
Adrian.Conlon
beca76d733 Share instruction decoding mechanism between Intel derived processors.
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-07-21 13:33:17 +01:00
Adrian.Conlon
7c3fc469a8 Bring LR35902 a little closer to the Z80
Signed-off-by: Adrian.Conlon <adrian.conlon@gmail.com>
2017-07-20 12:37:54 +01:00