1
0
mirror of https://github.com/rkujawa/rk65c02.git synced 2024-12-13 01:29:57 +00:00
Commit Graph

155 Commits

Author SHA1 Message Date
Radosław Kujawa
5cec9a9784 More work on devices subsystem. 2017-02-20 12:31:26 +01:00
Radosław Kujawa
7baefe9277 Attempt to design a semi-flexible device subsystem. 2017-02-19 21:45:15 +01:00
Radosław Kujawa
cc61646ba9 Fix carry flag setting in comparison instructions. Resolve #2. 2017-02-15 21:58:42 +01:00
Radosław Kujawa
de1ab25427 Make runtime disassembly optional. 2017-02-15 21:38:51 +01:00
Radosław Kujawa
0b83a263d7 Introduce trace functionality. 2017-02-15 21:32:12 +01:00
Radosław Kujawa
6afb4531d5 The rk65c02_exec should return immediately after hitting breakpoint. 2017-02-15 19:56:22 +01:00
Radosław Kujawa
3286891ea8 Add missing prototype of debug_breakpoint_remove to include file. 2017-02-15 19:55:48 +01:00
Radosław Kujawa
ea5c09d7c0 Report failure when malloc errors. 2017-02-15 19:55:15 +01:00
Radosław Kujawa
3363959b87 Add breakpoints. 2017-02-14 11:17:40 +01:00
Radosław Kujawa
7db9b2f7c6 RMB1 instruction is 2 byte long (opcode + one operand). 2017-02-13 21:54:10 +01:00
Radosław Kujawa
c23136800a Unbreak BBR and BBS - they access zero page, don't act like immediate. 2017-02-13 18:39:51 +01:00
Radosław Kujawa
8de5574aab Handle accessing bus in zero page relative mode just as in zero page.
It should make things less awkward and still work fine, as the only
instructions using this mode are BBS and BBR. These only use first
operand as the address in zero page to read data from.
2017-02-13 18:37:14 +01:00
Radosław Kujawa
0cbbce4eeb Fix operands fetching for zero page relative addressing. 2017-02-13 09:37:11 +01:00
Radosław Kujawa
7f1c27af75 Fix carry flag handling for SBC. 2017-02-12 23:27:36 +01:00
Radosław Kujawa
23105b4861 Hopefully fix decimal mode handling. Hopefully. 2017-02-12 22:56:07 +01:00
Radosław Kujawa
8f4900a877 Add simplified assemble_single_implied for implied addressing mode. 2017-02-12 21:54:07 +01:00
Radosław Kujawa
0fc79103f8 Well, once again... 2017-02-12 21:51:20 +01:00
Radosław Kujawa
1995569ec1 Fix prototypes for assembler functions. 2017-02-12 21:50:16 +01:00
Radosław Kujawa
0bd7b85dea Implement simpler to use assembly mode, straight to bus.
While here refactor existing assembly functions.
2017-02-12 16:47:06 +01:00
Radosław Kujawa
630daee702 Premilinary support for decimal mode.
While here add SED emulation. Implement BCD support for ADC instruction.
2017-02-10 22:23:06 +01:00
Radosław Kujawa
4c7a15f524 Add emulation of WAI instruction. 2017-02-09 21:53:45 +01:00
Radosław Kujawa
5cca703020 Add RTI emulation and test case. 2017-02-08 15:55:39 +01:00
Radosław Kujawa
299b7ee7d8 Add functions to dump stack.
Always useful.
2017-02-06 23:16:00 +01:00
Radosław Kujawa
272c4d0b7b BIT instruction does not affect overflow flag in immediate mode. 2017-02-04 22:07:56 +01:00
Radosław Kujawa
ac48e5435f Add preliminary support for interrupts. 2017-02-04 21:44:13 +01:00
Radosław Kujawa
51b47d707b Set reason for stopping the emulation when stepping. 2017-02-03 22:21:43 +01:00
Radosław Kujawa
a255b093e9 Fix overflow flag for SBC. 2017-02-02 22:54:34 +01:00
Radosław Kujawa
1f8db85688 Fix pointer precedence. Should resolve #1. 2017-02-02 20:58:30 +01:00
Radosław Kujawa
7f7fdad8dc Enable GDB-specific debug symbols. 2017-02-02 16:22:53 +01:00
Radosław Kujawa
77ce27e4fc Try to support assembling multi byte instructions. 2017-02-02 15:41:29 +01:00
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
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
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
3c5162b0b9 Add emulation of branch instructions. 2017-01-29 13:57:51 +01:00