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

154 Commits

Author SHA1 Message Date
Radosław Kujawa
b6ed8892bb Add generation of emulation.h to Makefile. 2017-01-21 14:58:00 +01:00
Radosław Kujawa
1802bfbd1d Add missing includes, fix typo. 2017-01-21 14:57:49 +01:00
Radosław Kujawa
e3abea91ef Add awk script to automatically generate emulation.h from CSV. 2017-01-21 14:52:38 +01:00
Radosław Kujawa
0d5916eb7d Gotta generate header for emulation functions from CSV. 2017-01-21 12:08:00 +01:00
Radosław Kujawa
5ca671aecb Print value of PC register when unimplemented opcode encountered. 2017-01-21 09:13:43 +01:00
Radosław Kujawa
1820418c62 Adjust C header generation to take CSV header into account. 2017-01-20 23:23:25 +01:00
Radosław Kujawa
d2dc51cbd3 Add a header. Now looks nicer on GitHub! 2017-01-20 23:23:04 +01:00
Radosław Kujawa
07e1a008d9 Add preliminary stack tests, test ROMs for PLA, PHA. 2017-01-20 23:18:25 +01:00
Radosław Kujawa
51de051e19 Stop on unimplemented instruction. 2017-01-20 23:18:00 +01:00
Radosław Kujawa
2adf864f4f Debugging symbols by default. 2017-01-20 23:17:35 +01:00
Radosław Kujawa
c083114c12 Increment stack pointer before poping. 2017-01-20 23:16:02 +01:00
Radosław Kujawa
86e00e651d Make this actually compile. 2017-01-20 22:38:46 +01:00
Radosław Kujawa
0dc7dac6a3 Add PLA, PHA emulation. 2017-01-20 22:26:13 +01:00
Radosław Kujawa
657fb0cad2 Use rom_start() for NOP test. 2017-01-20 22:24:08 +01:00
Radosław Kujawa
172b2e3f6f Add test case for immediate AND. 2017-01-20 22:04:33 +01:00
Radosław Kujawa
7862703c88 Add functions to pop/push emulated CPU stack. 2017-01-20 22:03:03 +01:00
Radosław Kujawa
a50da41388 Implement AND emulation and test. 2017-01-20 10:41:56 +01:00
Radosław Kujawa
3bcc7bb096 Introduce instruction-independent status adjustment functions.
For now only for negative and zero. Also use them in LDA emulation.
2017-01-20 10:25:19 +01:00
Radosław Kujawa
5201cfdc87 Print operand hex vals during disassembly. 2017-01-20 09:46:33 +01:00
Radosław Kujawa
14233cf3ca Implement status flags for LDA emulation. 2017-01-20 09:11:34 +01:00
Radosław Kujawa
bcedb50e48 Clean up. 2017-01-20 09:11:22 +01:00
Radosław Kujawa
b498da3ac8 Add CLI skeleton. 2017-01-19 23:49:27 +01:00
Radosław Kujawa
f42f88c148 Add status register bits. 2017-01-19 14:06:19 +01:00
Radosław Kujawa
8d3f7266fb LDA emulation tests. 2017-01-19 11:50:11 +01:00
Radosław Kujawa
6b7ddbf865 LDA zero page emulation and test for it. 2017-01-19 11:49:05 +01:00
Radosław Kujawa
49b70f0e1f Make instruction data read more flexible and split from emulation of particular instruction. 2017-01-19 10:59:35 +01:00
Radosław Kujawa
87cafb607f Support loading ROMs from files, adjust nop test case. 2017-01-19 00:57:09 +01:00
Radosław Kujawa
abc209df99 Add emulation tests. 2017-01-19 00:21:00 +01:00
Radosław Kujawa
e7380477a9 Remove debug printfs. 2017-01-19 00:20:53 +01:00
Radosław Kujawa
73e4be2acc Add support for building test case ROMs with vasm.
While here add first such ROM, for nop instruction test.
2017-01-18 23:47:55 +01:00
Radosław Kujawa
92914d4aa0 Experiment with emulating opcode requring operands.
Immediate lda now works.
2017-01-18 22:37:00 +01:00
Radosław Kujawa
e7e30292d5 Fix incorrect instruction sizes. 2017-01-18 22:11:13 +01:00
Radosław Kujawa
380b524a51 Assign a separate identifier for all invalid nops. 2017-01-18 22:05:50 +01:00
Radosław Kujawa
52ce9bff8c Preliminary support for emulation of instructions.
Some refactoring while here.
2017-01-18 17:18:19 +01:00
Radosław Kujawa
f106e227cd Prepare structures for adding emulation of instructions. 2017-01-18 15:45:28 +01:00
Radosław Kujawa
d6876b38a1 Write down all 65C02 instructions. 2017-01-18 14:37:44 +01:00
Radosław Kujawa
3032baeac4 Temporarily disable assert checking if instr was implemented. 2017-01-18 14:37:24 +01:00
Radosław Kujawa
bd0eeea144 Adjust build process and instruction-related funcs.
Due to new dynamically build 65c02isa.h header.
2017-01-18 12:09:14 +01:00
Radosław Kujawa
611f51201f Generate instruction set from CSV file and awk script. 2017-01-18 12:08:55 +01:00
Radosław Kujawa
372dca2db8 Remove instruction set. 2017-01-18 12:08:07 +01:00
Radosław Kujawa
e36a9c34fb Add accumulator addressing mode handling. 2017-01-18 11:12:37 +01:00
Radosław Kujawa
23802b176f Instruction set definition is now private to 65c02isa.c, has API.
Minor refactoring while here, splitting stuff.
2017-01-17 14:29:20 +01:00
Radosław Kujawa
aa362b81fd Add structs representing current emulator state. 2017-01-17 11:28:42 +01:00
Radosław Kujawa
d515954f44 Move reg_state struct to header, rename op to opcode. 2017-01-17 11:18:48 +01:00
Radosław Kujawa
0da3d6dc5f Instruction addressing modes now handled with enum.
While here imlpement instruciton printing for all addressing modes.
2017-01-17 00:42:31 +01:00
Radosław Kujawa
5861d40352 When linking against static lib, the order matters. 2017-01-16 23:56:10 +01:00
Radosław Kujawa
a0821195c7 Also build static library and use it for tests. 2017-01-16 23:54:46 +01:00
Radosław Kujawa
64e71a081f Since this is a library, off with the main function now. 2017-01-16 23:54:24 +01:00
Radosław Kujawa
f298eaade0 rk65c02 is now a shared library. 2017-01-16 22:56:07 +01:00
Radosław Kujawa
b446b08271 Add missing argument to bus_finish() prototype. 2017-01-16 22:55:42 +01:00