Commit Graph

107 Commits

Author SHA1 Message Date
Preston Skupinski a9b70c8ad0 Rework the way the cpu object loads and executes code 2011-11-05 21:45:36 -04:00
Preston Skupinski 798dd18835 use the correct p status register bit in DEC accumulator 2011-10-30 22:12:50 -04:00
Preston Skupinski a1a337f3f6 finish adding cycle counting to the remaining instructions 2011-10-30 00:18:36 -04:00
Preston Skupinski 06d512a668 added cycle counting to even more instructions 2011-10-29 22:30:28 -04:00
Preston Skupinski 5a44410146 numerous more instructions now feature cycle counting 2011-10-29 20:53:32 -04:00
Preston Skupinski fdaf4dd024 added cycle counting to numerous instructions 2011-10-28 21:15:55 -04:00
Preston Skupinski f98a4770d7 added cycle counting to numerous instructions 2011-10-19 17:09:57 -04:00
Preston Skupinski 16f32df754 don't remove memory mapped io devices on cpu reset 2011-10-12 15:19:55 -04:00
Preston Skupinski 10cd88d08e Make sure branching can't cause the program counter to go below zero
or above 0xffff
2011-10-12 14:39:25 -04:00
Preston Skupinski 03a5217759 make sure lines don't go past column 80 in cpu.js 2011-09-15 13:55:13 -04:00
Preston Skupinski d902611e9c added decimal mode support for SBC, wrote unit tests to verify that support and updated the TODO 2011-09-04 11:34:09 -04:00
Preston Skupinski b505f7a50d handle the carry bit properly when in decimal mode for adc 2011-09-03 22:07:44 -04:00
Preston Skupinski 7cee0a3cd1 added decimal mode support for adc with 16-bit memory/accumulator mode and wrote unit tests to verify it 2011-09-03 21:56:39 -04:00
Preston Skupinski 990bbdc06c add decimal mode support for adc in emulation or 8-bit memory/accumulator mode and wrote up unit tests to verify it 2011-09-03 21:20:52 -04:00
Preston Skupinski fadcea4c5d added more unit tests for LDA and fixed a bug in the implemention of the direct page indirect mode for LDA 2011-08-31 15:41:27 -04:00
Preston Skupinski 90cf744589 turn MMU into a function object so multiple cpu objects can be used at once and fixes a long standing bug where various unit tests would randomly fail 2011-08-30 10:44:45 -04:00
Preston Skupinski 19c9215181 add basic stepping support 2011-07-18 20:44:55 -04:00
Preston Skupinski 4a9456f83f added a reset function 2011-07-11 19:04:51 -04:00
Preston Skupinski dbe014ada1 added STP 2011-06-19 13:13:29 -04:00
Preston Skupinski 5813feaa89 added WAI 2011-06-12 21:23:02 -04:00
Preston Skupinski 8377d8c009 added JSR absolute indexed x indirect 2011-06-12 19:37:07 -04:00
Preston Skupinski a9e15285cb added JMP absolute indexed x indirect 2011-06-12 18:54:16 -04:00
Preston Skupinski 26fddd8943 added WDM 2011-06-09 20:24:05 -04:00
Preston Skupinski eff69c28bc added JMP absolute long and JMP absolute indirect long 2011-06-09 20:01:36 -04:00
Preston Skupinski fe0117a1e0 the cpu object is now passed as the first argument to memory mapped io device interaction functions 2011-06-04 11:36:20 -04:00
Preston Skupinski a0b9497eb4 added TXS and TSX 2011-06-01 13:17:03 -04:00
Preston Skupinski 4f98a754b7 added TRB and both addressing modes for it 2011-06-01 13:01:16 -04:00
Preston Skupinski 48c6fe5cf9 added TSB and both addressing modes for it 2011-05-30 19:55:59 -04:00
Preston Skupinski c9d491411b added the rest of the addressing modes for BIT and fixed a bug in a few operations 2011-05-30 19:22:19 -04:00
Preston Skupinski 71552b5720 added BIT immediate 2011-05-30 18:57:20 -04:00
Preston Skupinski 150d6e57d2 added basic memory mapped i/o support 2011-05-30 17:23:00 -04:00
Preston Skupinski 688c2aaaa3 added DEC and INC direct page indexed x and absolute indexed x 2011-05-23 21:37:28 -04:00
Preston Skupinski 4998c9c4dc added operations that still need to be implemented to the TODO and fixed a few errors in the opcode map 2011-05-22 20:07:29 -04:00
Preston Skupinski bd89ee30e1 added direct page indexed x indirect addressing for operations that support it 2011-05-22 18:35:05 -04:00
Preston Skupinski 382a4b1fc6 added absolute long indexed x addressing for operations that support it 2011-05-22 15:16:44 -04:00
Preston Skupinski 1b1193abbf added absolute long addressing for many operations that support it 2011-05-22 14:13:16 -04:00
Preston Skupinski e046787510 added direct page indirect long indexed y addressing for operations that support it 2011-05-22 12:52:42 -04:00
Preston Skupinski c469f3f3ae added direct page indirect long addressing mode for operations that support it 2011-05-22 11:20:02 -04:00
Preston Skupinski 7de24ebf33 added COP 2011-05-15 20:05:31 -04:00
Preston Skupinski e37b40fb76 added basic working interrupt handling and the BRK and RTI operations. 2011-05-14 23:17:28 -04:00
Preston Skupinski d446c727bf quick fix for a mistake in the opcode map 2011-05-13 22:28:13 -04:00
Preston Skupinski a2b0188024 added stack relative indirect indexed y addressing for the operations that support it 2011-05-13 22:24:05 -04:00
Preston Skupinski 179980e8c3 added stack relative addressing for operations that support it 2011-05-13 18:30:22 -04:00
Preston Skupinski 38505fdc8b added direct page indexed x, absolute indexed x and absolute indexed y addressing modes for CMP 2011-05-13 15:24:00 -04:00
Preston Skupinski 7b821a0473 added direct page indirect indexed y addressing mode for those operations that support it 2011-05-13 14:58:10 -04:00
Preston Skupinski e2341a63a1 added XBA 2011-05-13 13:51:10 -04:00
Preston Skupinski 0fd6d30fe3 added TCS and TSC 2011-05-13 12:46:35 -04:00
Preston Skupinski 8500c21618 added TCD and TDC 2011-05-13 12:18:16 -04:00
Preston Skupinski e1f33e4af4 fixed the emulation mode stack register and stack behavior to be a bit more accurate 2011-05-12 00:57:29 -04:00
Preston Skupinski b4f795f368 added BRL 2011-05-12 00:09:02 -04:00