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 |
|
Preston Skupinski
|
6acdd0d596
|
changed the program bank register's name from pbr to k as it should be
|
2011-05-11 22:44:48 -04:00 |
|
Preston Skupinski
|
758d336563
|
added emulation mode page one swap wrapping
|
2011-05-11 20:31:12 -04:00 |
|
Preston Skupinski
|
7f6ce58d56
|
leave stack pointer alteration with byte pushing or pulling to the mmu object
|
2011-05-11 17:31:50 -04:00 |
|
Preston Skupinski
|
4797ad0cd9
|
more work on emulation mode support, making sure that any operation that checks for 8-bit registers checks for emulation mode first
|
2011-05-11 12:41:07 -04:00 |
|
Preston Skupinski
|
25dbc8f08e
|
begin work on emulation mode support
|
2011-05-11 12:25:54 -04:00 |
|
Preston Skupinski
|
5347ced894
|
added MVN and MVP
|
2011-05-11 01:05:31 -04:00 |
|
Preston Skupinski
|
02835299a7
|
added JSL and RTL
|
2011-05-09 14:43:47 -04:00 |
|
Preston Skupinski
|
9e1177864b
|
added JSR and RTS, marking the beginning of subroutine support
|
2011-05-09 14:14:41 -04:00 |
|
Preston Skupinski
|
4a48a49547
|
added CLD, SED and CLV
|
2011-05-09 12:37:09 -04:00 |
|
Preston Skupinski
|
6a4d4ceeaa
|
added PER
|
2011-05-09 12:21:50 -04:00 |
|
Preston Skupinski
|
8d68d281c7
|
added PHD and PLD
|
2011-05-09 00:56:00 -04:00 |
|
Preston Skupinski
|
81767302e4
|
use the program bank register when fetching the byte representing the instruction to execute next
|
2011-05-09 00:38:15 -04:00 |
|
Preston Skupinski
|
aa08ce700d
|
added PHB and PLB
|
2011-05-09 00:34:19 -04:00 |
|
Preston Skupinski
|
b956d2254f
|
added PEA and PEI
|
2011-05-09 00:01:16 -04:00 |
|
Preston Skupinski
|
98a058058f
|
added PHP and PLP
|
2011-05-08 23:46:22 -04:00 |
|
Preston Skupinski
|
9af3fe68ee
|
added PHY, PLY, PHX, PLX
|
2011-05-08 22:46:51 -04:00 |
|
Preston Skupinski
|
395e381c4f
|
beginning of stack support with PHA and PLA
|
2011-05-08 22:20:33 -04:00 |
|
Preston Skupinski
|
86ea739777
|
added ROR and all of its addressing modes
|
2011-05-08 17:46:40 -04:00 |
|
Preston Skupinski
|
b3488669a8
|
added ROL and all of its addressing modes
|
2011-05-08 17:03:23 -04:00 |
|
Preston Skupinski
|
b1c6249169
|
added ASL and all of the addressing modes for it
|
2011-05-08 15:02:50 -04:00 |
|
Preston Skupinski
|
937dfdb7d8
|
make sure to add the direct page register to the location with the LSR direct page operation
|
2011-05-08 14:12:29 -04:00 |
|
Preston Skupinski
|
e8e96e0164
|
added LSR and all of the addressing modes for and rewrote the way in which I get the high byte from 16-bit data
|
2011-05-08 14:03:59 -04:00 |
|
Preston Skupinski
|
c941641d6a
|
added EOR and many addressing modes for it
|
2011-05-08 01:11:11 -04:00 |
|
Preston Skupinski
|
8e3363b1e8
|
added ORA and many addressing modes for it
|
2011-05-08 00:58:50 -04:00 |
|
Preston Skupinski
|
4bac875b5c
|
added AND and many addressing modes for it
|
2011-05-08 00:41:57 -04:00 |
|
Preston Skupinski
|
c716e6e2f0
|
added support for more addressing modes for SBC
|
2011-05-07 22:42:11 -04:00 |
|
Preston Skupinski
|
645c3b6a5b
|
added CMP absolute and CPX/CPY immediate, direct page and absolute
|
2011-05-07 20:42:09 -04:00 |
|
Preston Skupinski
|
cbe6896e8f
|
fix a mistake when it came to storing the high byte in memory, while the previous method "worked" it could cause problems down the road as I was storing data larger than 1 byte in 1 byte cells in numerous cases
|
2011-05-07 19:32:22 -04:00 |
|
Preston Skupinski
|
96022047d6
|
added CMP immediate and fixed a misunderstanding as to when the carry bit is set or not set with SBC/CMP
|
2011-05-07 18:18:25 -04:00 |
|
Preston Skupinski
|
146992b192
|
added SBC immediate
|
2011-05-07 17:45:39 -04:00 |
|
Preston Skupinski
|
047095c8cc
|
don't add the execute function by extending the prototype
|
2011-05-07 15:43:13 -04:00 |
|
Preston Skupinski
|
9254648308
|
added ADC direct page indexed x, ADC absolute indexed x, ADC absolute indexed y
|
2011-05-07 15:16:37 -04:00 |
|
Preston Skupinski
|
47766a6b0d
|
added ADC direct page indirect
|
2011-05-07 14:37:29 -04:00 |
|
Preston Skupinski
|
1f127547e1
|
added ADC direct page and ADC absolute
|
2011-05-07 13:08:02 -04:00 |
|
Preston Skupinski
|
861a8183b2
|
check for signed overflow with ADC
|
2011-05-07 12:17:14 -04:00 |
|
Preston Skupinski
|
676b111870
|
added ADC immediate
|
2011-05-07 11:02:17 -04:00 |
|
Preston Skupinski
|
f613f2b15e
|
add 'var' where I somehow forgot to in order to satisfy QUnit
|
2011-05-05 22:42:16 -04:00 |
|
Preston Skupinski
|
17dd04c7d6
|
fixed DEC operations to properly handle decrementing 0 by 1 and numerous fixes to the DEC and INC operations otherwise
|
2011-05-05 22:34:49 -04:00 |
|
Preston Skupinski
|
7500a31ef5
|
started adding test cases for the emulator, I've decided upon using QUnit for the tests
|
2011-05-05 17:25:44 -04:00 |
|
Preston Skupinski
|
aed03f6ff5
|
fixed SEP and REP
|
2011-05-05 11:39:34 -04:00 |
|
Preston Skupinski
|
a9f15f133b
|
set the n bit of the p status register as required and a few bug fixes otherwise
|
2011-05-04 22:39:19 -04:00 |
|
Preston Skupinski
|
94af723baa
|
added DEC accumulator, DEC absolute, DEC direct page, DEX, and DEY as well as added overflow handling for INC and DEC operations and made some style changes
|
2011-05-03 00:00:40 -04:00 |
|
Preston Skupinski
|
5a349a4381
|
added BPL, BMI
|
2011-05-02 22:28:20 -04:00 |
|
Preston Skupinski
|
9795ea416b
|
added BCC, BCS, BEQ, BNE, BVC, BVS
|
2011-05-02 21:11:57 -04:00 |
|
Preston Skupinski
|
ddbf51d8ef
|
added BRA
|
2011-05-02 20:20:20 -04:00 |
|
Preston Skupinski
|
8a401c9eba
|
added JMP absolute indirect and repositioned the incrementing of the program counter so the program counter doesn't incorrectly increment after a branch or jump and increments at the correct time anyways
|
2011-05-02 18:10:17 -04:00 |
|
Preston Skupinski
|
952b6ba840
|
added JMP absolute
|
2011-05-02 16:29:09 -04:00 |
|
Preston Skupinski
|
a5d690e9cb
|
quick fix to a silly mistake
|
2011-05-02 08:03:53 -04:00 |
|
Preston Skupinski
|
4828d9c1b1
|
added STA and LDA absolute long
|
2011-05-01 20:09:14 -04:00 |
|
Preston Skupinski
|
09fce7cff5
|
added STA direct page indirect
|
2011-05-01 17:38:04 -04:00 |
|
Preston Skupinski
|
96a8899204
|
added LDA direct page indirect (0xb2)
|
2011-05-01 16:52:48 -04:00 |
|
Preston Skupinski
|
982107a90b
|
fixed a mistake where I mixed up high byte and low byte in a few cases
|
2011-05-01 16:07:10 -04:00 |
|
Preston Skupinski
|
93ae3ec6a0
|
check if transferred value is zero and set the z bit of the p status register
|
2011-05-01 13:46:28 -04:00 |
|
Preston Skupinski
|
b167d4c164
|
added TAX, TAY, TXA and TYA
|
2011-05-01 13:15:16 -04:00 |
|
Preston Skupinski
|
08593831b3
|
added TXY and TYX
|
2011-05-01 12:20:18 -04:00 |
|
Preston Skupinski
|
44696ed8ce
|
direct page addressing when using an index register must overflow to 0x0000 and not be allowed to exceed 0xffff, so 0xfff0+0x12 should result in an address of 0x02
|
2011-04-30 23:54:07 -04:00 |
|
Preston Skupinski
|
f809dfccc7
|
initial commit
|
2011-04-30 21:45:56 -04:00 |
|