Commit Graph

469 Commits

Author SHA1 Message Date
Adrian Conlon
905e7d3d44 Whoops: Correct cycle counts for the OR instruction on the 6809
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-08-21 23:09:04 +01:00
Adrian Conlon
551c26bb3c Add OR instruction to the 6809 processor
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-08-21 23:07:22 +01:00
Adrian Conlon
06f4300c38 Added MUL instruction to the 6809 processor.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-08-21 22:45:33 +01:00
Adrian Conlon
c571956377 Add LSR implementation to the 6809 processor
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-08-21 21:59:25 +01:00
Adrian Conlon
05ca4166c7 Add LEA instruction to the 6809 processor
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-08-21 20:50:43 +01:00
Adrian Conlon
a917fb0d4c Add LD instructions to the 6809 processor
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-08-21 18:57:20 +01:00
Adrian Conlon
2a3b0a5291 Add JMP and JSR instructions to the 6809 processor.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-08-21 18:10:38 +01:00
Adrian Conlon
d44718ed22 Add INC instruction to the 6809 processor.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-08-21 17:01:20 +01:00
Adrian Conlon
8c8c02f4b7 Add EXG instruction to the 6809
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-08-21 14:51:56 +01:00
Adrian Conlon
f1f64dad93 Add DEC and EOR instructions to the 6809
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-08-21 13:29:52 +01:00
Adrian Conlon
00ca20dbe4 Add DAA to the 6809 processor.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-08-21 12:25:58 +01:00
Adrian Conlon
0882513762 Add CWAI command to the 6809
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-08-21 09:52:03 +01:00
Adrian Conlon
b4abd7c739 Add COM instruction to the 6809
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-08-21 09:01:15 +01:00
Adrian Conlon
aa1a461db7 Whoops: missed a couple bad type conversions in the 6809 processor
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-08-20 22:20:24 +01:00
Adrian Conlon
90805e76bf Try to share more flag adjustments in the 6809 implementation
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-08-20 22:18:41 +01:00
Adrian Conlon
9122b5aa76 Whoops: missed carry adjustment for the 6809
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-08-20 12:54:01 +01:00
Adrian Conlon
dad5ee8926 Add CMP implementations for the 6809 (tricky!)
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-08-20 11:52:09 +01:00
Adrian Conlon
fc31ae84d5 Add 6809 CLR instructions.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-08-19 17:03:32 +01:00
Adrian Conlon
a5a8b6059d Add BIT instructions to the 6809
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-08-19 16:30:31 +01:00
Adrian Conlon
d17cd1777a Add ASL/ASR instructions for the 6809
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-08-19 16:18:06 +01:00
Adrian Conlon
a125c4c24c Implement AND for the 6809
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-08-19 14:08:49 +01:00
Adrian Conlon
33fbad7132 ADD instruction added to the 6809 implementation
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-08-19 12:58:44 +01:00
Adrian Conlon
cca7453e35 Refactor the 6809 a little to shift large blocks of code from the header.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-08-19 10:39:41 +01:00
Adrian Conlon
a7835b943a Add an implementation of ADC for the 6809
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-08-19 10:15:37 +01:00
Adrian Conlon
15e1258f40 Rearrange the 6809 code such that I can fire memory events.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-08-19 00:55:59 +01:00
Adrian Conlon
ab1d84703b Add a skeletal 6809 processor.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-08-19 00:18:08 +01:00
Adrian Conlon
51e6adc5f4 Whoops: remove Rom.h
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-08-19 00:09:00 +01:00
Adrian Conlon
b0aacce406 Tidy header file usage a little.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-08-18 23:56:16 +01:00
Adrian Conlon
cc64e114a9 Start refactoring the processor classes to allow big/little endian processors to be specified.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-08-17 21:53:49 +01:00
Adrian Conlon
677b9a608e Default a couple of project configuration options.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-08-17 14:02:00 +01:00
Adrian Conlon
426043f80b Remove some commented lines
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-08-17 14:00:24 +01:00
Adrian Conlon
ed76038bfa More memptr adjustments
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-08-17 13:59:59 +01:00
Adrian Conlon
1abe3ae456 Adding a couple of const member accessors allows some event handlers to be marked const
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-08-12 17:08:03 +01:00
Adrian Conlon
256e25e344 Tidy up the test suite usage between the 8080 and Z80 processors. 2018-08-12 16:30:32 +01:00
Adrian Conlon
228301573e Refactor Z80 block in/out routines.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-08-12 16:25:30 +01:00
Adrian Conlon
70c70af969 Sort out some exception and member initialisation rules.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-08-11 21:19:19 +01:00
Adrian Conlon
b640da1910 Add some noexcept specifications. Just to experiment.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-08-07 23:06:15 +01:00
Adrian Conlon
e40240694f More removal of duplicated code.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-06-24 22:33:02 +01:00
Adrian Conlon
cf311a5113 Merge branch 'master' of https://github.com/MoleskiCoder/EightBit 2018-06-24 21:09:53 +01:00
Adrian Conlon
cac871cf2b Remove duplicated code (from const definitions) the performance benefit isn't worth the amount of duplicated code.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-06-24 20:58:20 +01:00
Adrian Conlon
feb5e7ad60 Simplifications carried over from the Z80 implementation.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-06-23 16:43:05 +01:00
Adrian Conlon
53461e712f Corrected for use with the latest EightBit library.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-06-17 21:08:01 +01:00
Adrian Conlon
757d8f3c32 Reduce code density a little.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-06-16 10:09:28 +01:00
Adrian Conlon
7d25962f3c Remove commented block.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-06-16 09:56:16 +01:00
Adrian Conlon
d27b490d4c (Hopefully) fix compilation issue on g++
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-06-16 09:53:44 +01:00
Adrian Conlon
67487b5b6e Simplify the usage of the register16_t union.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-06-16 00:55:32 +01:00
Adrian Conlon
89632774a7 Bring closer to the Z80 implementation again.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-06-11 23:02:27 +01:00
Adrian Conlon
7cb5e137f4 Some small simplifications of the 16-bit arithmetic operators.
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-06-11 23:01:48 +01:00
Adrian Conlon
2d8c3d4b12 Simplify AF usage. Keeps speed roughly as before
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-06-11 00:50:46 +01:00
Adrian Conlon
fbf098ae00 Simplify memory event handlers and ROM recognition a little (bit of speed difference)
Signed-off-by: Adrian Conlon <Adrian.conlon@gmail.com>
2018-06-10 22:00:52 +01:00