1
0
mirror of https://github.com/rkujawa/rk65c02.git synced 2024-06-17 02:29:29 +00:00
Commit Graph

291 Commits

Author SHA1 Message Date
Radosław Kujawa
2cc9d86c64 Simplify error handling if malloc fails.
There's no way to reliable handle out of memory situation in an
emulator. So just bail out by raising assertion.
2018-08-05 23:45:44 +02:00
Radosław Kujawa
0896956337
Include argument names in prototype.
For doxygen purposes.
2018-07-24 19:20:29 +02:00
Radosław Kujawa
b1d001113f
Make function declerations proper prototypes. 2018-07-24 19:20:06 +02:00
Radosław Kujawa
61cc5d2c68
Call finish funcs for devices when closing bus. 2018-07-24 11:02:22 +02:00
Radosław Kujawa
ef69c47c25
No reason to inline BCD conversion.
There's no noticable performance gain.
2018-07-06 10:26:44 +02:00
Radosław Kujawa
d3dccffe83
Clarify needed vasm version. 2018-06-25 14:06:48 +02:00
Radosław Kujawa
9f916885b8
Add missing include. 2018-06-25 14:06:38 +02:00
Radosław Kujawa
dc1e2bf829
Refactoring to support (future) string asm. 2018-06-25 14:05:47 +02:00
Radosław Kujawa
dfb3bd1fca
Try to make this build on Linux, NetBSD and OS X.
Without actually using autoconf etc.
2018-06-25 13:19:35 +02:00
Radosław Kujawa
6c3e66a9f1
Merge branch 'master' of github.com:rkujawa/rk65c02 2018-06-13 10:30:13 +02:00
Radosław Kujawa
060f84e07d
Fail if mapping exceeding the bus size 2018-06-13 10:29:26 +02:00
Radosław Kujawa
1ec075518c Split assembler-related things into separate file. 2018-04-27 14:07:42 +02:00
Radosław Kujawa
b7986df553 Split address calculation into separate function.
This removes some code duplication for instruction_data_read/write
functions. Also this way implementing watchpoints will be far easier.
2018-04-27 10:34:48 +02:00
Radosław Kujawa
216450da52 Enable debug-safe optimizations.
Also ggdb for tests.
2018-04-26 14:16:32 +02:00
Radosław Kujawa
e2bf924fa9 Make sure doff is initialized. 2018-04-26 14:16:04 +02:00
Radosław Kujawa
8ca86735df Add tests for BBRx, BBSx. 2018-04-16 12:27:53 +02:00
Radosław Kujawa
4ff3f390db Fix assembling opcode 0xFF (BBS7). 2018-04-16 12:26:52 +02:00
Radosław Kujawa
a2fdb78d2b BBR and BBS instructions have 2 operands. 2018-04-16 12:14:31 +02:00
Radosław Kujawa
7445c275e6 Add test cases for ROR and ROL.
Too old to ROR and to ROL.
2018-04-13 12:26:06 +02:00
Radosław Kujawa
6d7f0abef0 Comment WAI/interrupt behaviour. 2018-04-13 11:25:30 +02:00
Radosław Kujawa
fae3445e58 Add test cases for TRB and TSB. 2018-04-12 15:28:47 +02:00
Radosław Kujawa
e5448f50eb Fix expected PC address. 2018-04-12 15:13:48 +02:00
Radosław Kujawa
0ac5932e75 Doxify more. 2018-04-12 12:45:05 +02:00
Radosław Kujawa
578955e4a1 Add test case for invalid opcode handling. 2018-04-12 11:40:33 +02:00
Radosław Kujawa
d0728c8ade Emulate invalid instructions.
Treat them as NOPs of different length just as real 65C02.
2018-04-10 13:56:37 +02:00
Radosław Kujawa
f0471947fc Doxify more. 2018-04-10 12:49:11 +02:00
Radosław Kujawa
901e9626d5 Add initial Doxyfile. 2018-04-10 12:18:19 +02:00
Radosław Kujawa
faec05b87e Start doxifying the documentation. 2018-04-10 12:17:59 +02:00
Radosław Kujawa
95368a186a Remove leftover attempt at CLI. 2018-04-10 10:23:32 +02:00
Radosław Kujawa
ed4b2786b6 Simplify ROM loading by providing utility function. 2018-04-10 10:12:27 +02:00
Radosław Kujawa
96f955e8c1 Update year. 2018-04-09 17:07:21 +02:00
Radosław Kujawa
fe94c747e5 Add test case for signed comparison. 2018-04-09 15:00:02 +02:00
Radosław Kujawa
eeb564d69f Make log less verbose. 2018-04-06 14:27:05 +02:00
Radosław Kujawa
adef30da21 Load the example at 0xC000, stop the emulator after running. 2018-04-06 14:26:00 +02:00
Radosław Kujawa
5173d10a69 Add code to actually run the example. 2018-04-06 14:25:26 +02:00
Radosław Kujawa
b44dcdc91a Add example routine finding min among 3 numbers. 2018-04-05 00:32:53 +02:00
Radosław Kujawa
7cf3f263e3 Simplify handling ciritcal emulation errors. 2018-04-01 21:40:49 +02:00
Radosław Kujawa
68fa918d97 Document the way invalid opcodes are handled. 2018-04-01 21:16:58 +02:00
Radosław Kujawa
3c684fbf2c Fix zero page wrap for indexed indirect mode. 2018-03-31 15:03:22 +02:00
Radosław Kujawa
7c4d6cea3f Fix indirect indexed with Y addressing.
Also fix test case for this. Problem wasn't detected, because test case
was broken too.
2018-03-31 12:38:45 +02:00
Radosław Kujawa
4f299a6f36 Also fix zero page wrap for bus reads. 2018-03-28 14:18:50 +02:00
Radosław Kujawa
b35323cb3d Use logging function instead of printf. 2018-03-28 13:52:07 +02:00
Radosław Kujawa
390bbdc14e Add test cases for LSR and zero page wrap. 2018-03-28 13:47:18 +02:00
Radosław Kujawa
260ac09c01 Emulate zero page wrap for zp,x addressing. 2018-03-28 13:46:06 +02:00
Radosław Kujawa
0b2be69481 Add test case for ASL. 2018-03-28 13:18:44 +02:00
Radosław Kujawa
9ff0cb26fc Explicitely cast time to long long ints.
Avoid portability bullshit problems.
2018-03-27 13:30:33 +02:00
Radosław Kujawa
25e62f4be4 Avoid compiler warning (variable uninitialized). 2018-03-27 13:18:29 +02:00
Radosław Kujawa
e72871a5b6 Use clock_gettime instead of gettimeofday. 2018-03-27 12:53:08 +02:00
Radosław Kujawa
262321b363 Bring README up to date. 2018-03-26 16:45:07 +02:00
Radosław Kujawa
0f0c0196e4 Add logo. 2018-03-26 16:28:38 +02:00