Commit Graph

164 Commits

Author SHA1 Message Date
Preston Skupinski
a29ee2fb7c move common addressing functionality for absolute long to cpu_lib and use that as the basis for instructions that utilize that addressing mode 2011-12-31 18:01:06 -05:00
Preston Skupinski
9398885bc2 move common addressing functionality for direct page indirect to cpu_lib and use that as the basis for instructions that utilize that addressing mode 2011-12-31 17:32:39 -05:00
Preston Skupinski
0f73c71a7e move common addressing functionality for stack relative indirect indexed y to cpu_lib and use that as the basis for instructions that utilize that addressing mode 2011-12-31 17:21:24 -05:00
Preston Skupinski
1fd918801a move common addressing functionality for absolute indexed y to cpu_lib and use that as the basis for instructions that utilize that addressing mode 2011-12-31 16:56:57 -05:00
Preston Skupinski
19e50d4bf7 move common addressing functionality for absolute indexed x to cpu_lib and use that as the basis for instructions that utilize that addressing mode 2011-12-31 16:56:48 -05:00
Preston Skupinski
72508335ba move common addressing functionality for stack relative to cpu_lib and use that as the basis for instructions that utilize that addressing mode 2011-12-31 15:52:45 -05:00
Preston Skupinski
539aaff3ce move common addressing functionality for direct page indexed x to cpu_lib and use that as the basis for instructions that utilize that addressing mode 2011-12-31 15:26:41 -05:00
Preston Skupinski
65b7448052 move common addressing functionality for direct page and absolute to cpu_lib and use that as the basis for instructions that utilize that addressing mode 2011-12-31 15:26:29 -05:00
Preston Skupinski
4c5c5dc631 add unit tests for memory mapped io device support 2011-12-29 01:37:01 -05:00
Preston Skupinski
84472fab78 use read_byte_long rather than directly accessing bytes in the memory
array in the tests
2011-12-29 00:17:29 -05:00
Preston Skupinski
26ea82204f added the ability for the cpu to load in an array of bytes 2011-12-27 19:33:14 -05:00
Preston Skupinski
64fbd28610 remove trailing whitespace 2011-12-27 19:04:10 -05:00
Preston Skupinski
225755bfb2 added functions for reading and storing words and then refactored the
codebase to use that instead where useful
2011-12-27 18:55:44 -05:00
Preston Skupinski
cd3c112b00 change 'reg' to 'r' in cpu_lib to shorten up calls and have it look more
like using the normal cpu object
2011-12-27 16:00:54 -05:00
Preston Skupinski
5ca04694de started refactoring the codebase by turning zero checks to either set or clear the p status register z flag into a function in a helper library 2011-12-27 01:16:05 -05:00
Preston Skupinski
4106d81cdf use charAt for accessing characters in a string for IE compatibility, fixes #1 2011-12-23 18:04:06 -05:00
Preston Skupinski
95e5a75e92 move MMU and CPU_65816 to the bottom of the function 2011-12-22 00:53:51 -05:00
Preston Skupinski
1199bff3e1 further minor style changes 2011-12-22 00:10:36 -05:00
Preston Skupinski
188fc0e713 numerous style fixes and code cleanup 2011-12-21 23:36:00 -05:00
Preston Skupinski
6950345d03 use equal rather than equals as equals is deprecated 2011-12-16 00:45:03 -05:00
Preston Skupinski
ad4f9e3c76 use a self executing function to hide as much from global scope as possible 2011-12-15 00:00:20 -05:00
Preston Skupinski
3bbe3c9999 many numerous minor style fixes 2011-11-23 02:05:19 -05:00
Preston Skupinski
4e19f48383 move size checking to read_byte and store_byte functions and clean up
all calls to those functions that do that checking
2011-11-22 13:42:55 -05:00
Preston Skupinski
155a153a29 don't use "location" as a name for a variable, general cleanup and
added checks where necessary
2011-11-22 11:53:42 -05:00
Preston Skupinski
f7e6cdff02 have load_binary use store_byte_long rather than store_byte 2011-11-06 19:34:32 -05:00
Preston Skupinski
7b016f1abb updated the TODO 2011-11-06 10:15:42 -05:00
Preston Skupinski
135be106d9 Added executing only a set number of cycles per second and fixed the
problems firefox had with it
2011-11-06 00:20:31 -04:00
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
5f0424fd0b update the TODO now that cycle counting has been added to everything 2011-10-30 00:22:44 -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
833048fefa added numerous tests for stz 2011-10-02 22:33:54 -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
8a1f3364ff Merge branch 'master' of github.com:scud43/JavaScript-65816 2011-09-03 21:22:49 -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
b4bda09bf6 added more unit tests for LDA(absolute long, absolute long indexed x) 2011-09-02 22:43:47 -04:00
Preston Skupinski
3f23b8f7f7 added some more unit tests for LDA(stack relative and absolute indexed y) 2011-09-01 16:20:34 -04:00
Preston Skupinski
c9a559ab6e added more unit tests for LDA and provided all of the dependencies for running the unit tests so no internet connection is required to use that page 2011-09-01 14:37:34 -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
a8f5cc4556 added more unit tests for LDA 2011-08-31 14:22:35 -04:00
Preston Skupinski
d2a9f2589c begin work on unit tests for LDA 2011-08-30 12:39:43 -04:00