1
0
mirror of https://github.com/rkujawa/rk65c02.git synced 2024-12-23 07:30:31 +00:00
Commit Graph

158 Commits

Author SHA1 Message Date
Radosław Kujawa
9eff6d535b Add functions to assemble mnemonics into machine code (into buffer). 2017-02-02 14:45:06 +01:00
Radosław Kujawa
941036615e Add some null pointer checking asserts. 2017-02-02 14:43:44 +01:00
Radosław Kujawa
6711a8fe11 Fix bus space array indexing. Makes bus loading from buffer work. 2017-02-02 14:43:02 +01:00
Radosław Kujawa
3075ed87fa Add ability to load things onto bus from buffer. 2017-02-02 12:06:41 +01:00
Radosław Kujawa
eb7179f89a Fix emulation function for nop.
Problem introduced by s/'ing mindlessly.
2017-02-02 11:51:32 +01:00
Radosław Kujawa
4e3721ef85 Mark invalid instructions as invalid, not as nops. 2017-02-02 11:23:30 +01:00
Radosław Kujawa
249509fad0 Clean up unused function. 2017-02-02 11:00:32 +01:00
Radosław Kujawa
a153b4e77f Also test overflow for SBC. 2017-02-02 00:03:27 +01:00
Radosław Kujawa
8e732f3b94 Make SBC somewhat less broken. 2017-02-01 22:15:16 +01:00
Radosław Kujawa
436810b79f The overflow flag should be represented by "V". 2017-02-01 22:11:24 +01:00
Radosław Kujawa
92418b0f1f Add SBC emulation.
Of dubious quality.
2017-02-01 14:35:50 +01:00
Radosław Kujawa
371856f6c7 Make emul_bbr/bbs/smb/rmb functions static.
Since they are only called by wrappers within the same file.
2017-01-31 23:30:49 +01:00
Radosław Kujawa
faa824e306 Implement emulation of ADC, plug the overflow test.
While here fix numerous test cases, lol.
2017-01-31 23:08:23 +01:00
Radosław Kujawa
2f076f4a16 Stop cleanly even if test is not working properly. 2017-01-31 23:07:17 +01:00
Radosław Kujawa
14830b7950 Add test case checking operation of overflow flag. 2017-01-31 23:06:05 +01:00
Radosław Kujawa
afadfd8b13 Fix pointer usage. 2017-01-31 14:11:21 +01:00
Radosław Kujawa
44f723b016 Attempt to emulate the BRK instruction. 2017-01-31 00:31:28 +01:00
Radosław Kujawa
b21d884f8b Clear the decimal flag on initialisation. 2017-01-31 00:31:04 +01:00
Radosław Kujawa
bc137b9390 Add emulation of BBR0-7 and BBS0-7 instructions. 2017-01-30 21:25:45 +01:00
Radosław Kujawa
1c72bd23a8 More meaningful comments. 2017-01-30 21:24:45 +01:00
Radosław Kujawa
5554de9411 Add TSB and TRB emulation. 2017-01-29 22:54:06 +01:00
Radosław Kujawa
923a9db649 Add emulation of SMB0-SMB7 instructions. 2017-01-29 21:34:58 +01:00
Radosław Kujawa
bf01ceb4cf Add test cases for branches. 2017-01-29 21:18:01 +01:00
Radosław Kujawa
3c5162b0b9 Add emulation of branch instructions. 2017-01-29 13:57:51 +01:00
Radosław Kujawa
79b5a01d10 Add forgotten prototype of program_counter_branch(). 2017-01-29 13:57:20 +01:00
Radosław Kujawa
e0fa334e3e Fix relative address pritning in disassembly. 2017-01-29 13:55:53 +01:00
Radosław Kujawa
f5a4f45127 Add function setting the PC for branches. 2017-01-29 13:29:17 +01:00
Radosław Kujawa
762f140efd Better operand formatting in disassembly. 2017-01-29 13:08:32 +01:00
Radosław Kujawa
bb3f77ec7f Add JSR and RTS emulation and tests. 2017-01-29 11:47:34 +01:00
Radosław Kujawa
4a8fbfbaeb Add CPX and CPY emulation and test cases. 2017-01-28 14:04:20 +01:00
Radosław Kujawa
3640a162a3 Add CMP emulation and test cases. 2017-01-28 13:26:51 +01:00
Radosław Kujawa
f3205e7272 Add CLI and SEI emulation and test case. 2017-01-28 11:19:34 +01:00
Radosław Kujawa
ee66f9c78c Add emulation and test for CLV instruction. 2017-01-28 11:12:25 +01:00
Radosław Kujawa
f66e986cef Test indirect modes of JMP. 2017-01-28 00:11:16 +01:00
Radosław Kujawa
735c3677ce Correct address calculation for absolute indirect and absolute indirect X modes. 2017-01-28 00:10:22 +01:00
Radosław Kujawa
8d2d694158 Implement (partial) JMP emulation and basic test for it. 2017-01-27 22:28:33 +01:00
Radosław Kujawa
05cedfb1f5 Also print program counter when dumping regs. 2017-01-27 22:28:09 +01:00
Radosław Kujawa
9da9f61f5a There's one more field in that generated header. Adjust. 2017-01-27 22:27:30 +01:00
Radosław Kujawa
2430cfd722 Branch and jump instrucitons need special PC treatment. 2017-01-27 20:43:08 +01:00
Radosław Kujawa
9294891a23 Remove unused variable. 2017-01-27 20:43:02 +01:00
Radosław Kujawa
28a5d54510 Add ASL and LSR emulation. 2017-01-27 17:14:56 +01:00
Radosław Kujawa
f63c00b192 Add RMB emulation. 2017-01-27 13:18:02 +01:00
Radosław Kujawa
9122615df4 Split function determining full path to ROM.
Adjust bus tests to this change.
2017-01-27 12:32:12 +01:00
Radosław Kujawa
ca291b0336 IRQ disable flag is present by default after CPU boot. 2017-01-27 12:31:20 +01:00
Radosław Kujawa
c1a63b011f Use srcdir config variable to obtain location of ROM files.
This fixes "kyua test".
2017-01-27 12:12:00 +01:00
Radosław Kujawa
1f3b61bec8 Implement test cases for DEC instruction. 2017-01-27 11:43:15 +01:00
Radosław Kujawa
db75a9becc Add test cases for INC instruction. 2017-01-27 11:29:17 +01:00
Radosław Kujawa
1f581d3fd3 Add function to dump registers state onto stdout. 2017-01-27 11:27:14 +01:00
Radosław Kujawa
646c7d1905 Some opcodes also write data to accumulator. 2017-01-27 11:03:50 +01:00
Radosław Kujawa
8d5482ad09 Remove x bit from the awk program, it is never started directly. 2017-01-27 10:14:32 +01:00