8c174a7
(HEAD -> master)
Environment will now accept ':' as temp labels and handle their values accordingly. As soon as a new var is defined, all temp labels are cleared. by
2019-10-21 13:26:43 -0400
fc75246
Parser now treats ':' punctuations at the beginning of a line as a 'temp label' definition. Temp labels can be referenced by ':<num>' where <num> is the index number (zero-based) of the temp label. by
2019-10-21 13:25:38 -0400
221d157
Tokenizer now accepts ':' as a 'punc' token. by
2019-10-21 13:23:47 -0400
ba2545f
Environment can now emit on initial variable/label value assignment. by
2019-10-17 12:54:09 -0400
825b7f5
Parser no longer has 'prog'. Now just uses 'block'. by
2019-10-17 10:59:17 -0400
a77ac05
Renamed the compiler to assembler. by
2019-10-16 08:47:53 -0400
f1528e3
Environment class can now have a 'special' variable for the Program Counter defined (using the PCLabel property). by
2019-10-15 13:42:09 -0400
da3a8b8
Parser can now have it's Program Counter Label (PCLabel) defined. Defaults to '__PC__'. The symbole '*' is no longer used. by
2019-10-15 13:09:01 -0400
b326279
Number of parser fixes. OpCode parser now properly parses Indirect op codes. by
2019-10-15 12:52:14 -0400
e8c2462
Removed stray console.log() command. by
2019-10-15 12:51:38 -0400
7e92c65
Added compiler environment class. by
2019-10-04 11:06:58 -0400
6c72355
MOS/6502/tpl.js contains objects and functions used by Tokenizer and Parser to allow them to codify 6502 assembly. by
2019-10-03 13:36:21 -0400
54d3283
Parser functional and turned into a class. Tokenizer now has a tokenize() method. Both Parser and Tokenizer have been moved from MOS/6502/assembler into the compiler folder. Both Parser and Tokenizer have op code identification generalized out... which should allow Parser and Tokenizer to be used for more than one CPU type. by
2019-10-03 13:35:11 -0400
58201c6
Parse coming along by
2019-10-02 13:46:08 -0400
4e64570
More buildout of the parser by
2019-10-01 14:00:03 -0400
908ba88
Tokenizer will now only accept multi-line strings if the newline is preceeded by a backspace. by
2019-10-01 13:59:50 -0400
aa79ab6
More 6502 assembly parser work. by
2019-09-30 12:58:17 -0400
f02c5c4
Working on the parser. :-/ by
2019-09-27 11:04:14 -0400
c5c72ee
Tokenizer now outputs opcodes as their own token. by
2019-09-27 11:03:48 -0400
da0816d
Started work on parser. by
2019-09-26 14:05:21 -0400
9a3cb51
Tokenizer finished. by
2019-09-26 14:05:06 -0400
198ef7d
Started work on a new assembler for the 6502 cpu. Something cleaner! by
2019-09-25 14:05:17 -0400
92e960d
Modified memory/MMC to allow 'writePassthrough' (enabled by default) which will pass any write attempt to a writable chunk of memory within the same bank if one is available. Updated tests as needed. by
2019-09-24 11:53:12 -0400
5237ac8
Added module index file for src/MOS. by
2019-09-24 10:18:27 -0400
2784031
Broke up the src/memory/memory.js file into rom, ram, and shadow. Updated src/memory/index.js and tests as needed. by
2019-09-24 10:14:43 -0400
37709db
Moved all MOS-based chips into a single MOS directory. Modified test names to match. Updated all affected files to reflect new path and file name changes. by
2019-09-24 10:01:14 -0400
3533336
IO moved from common to root. Adjusted modules to use the new IO path. by
2019-09-24 09:48:49 -0400
887c5ad
MOS6502/cpu has the method .hardReset(). Improvements to ALU function, especially in BCD math. Tests enhanced and added test for ADC Immediate BCD mode. by
2019-09-23 13:57:58 -0400
fd49d3d
MOS6502.cpu increasing of program counter slightly modified, fixed some minor bugs. MOS6502.cpu tests updated to be cleaner and clearer and include from flag testing in the existing ADC/SBC tests. by
2019-09-19 13:37:16 -0400
65ad33f
Started adjusting MOS6502.cpu tests to use the MOS6502.assembler to 'compile' the assembly being tested. by
2019-09-18 19:04:28 -0400
55bde60
Enhanced ALU with BCD mode and fixed ADC/SBC flag results. by
2019-09-18 19:03:30 -0400
c5014d9
Added file to force test execution order. by
2019-09-13 13:48:47 -0400
1309eca
Clock tests updated for new features. by
2019-09-13 13:42:32 -0400
e7a447a
Clock can now handle 'layers'. Every added layer reduces call speed of grouped components by <hz>/<# layers>. by
2019-09-13 13:42:09 -0400
e65b597
Clock moved from common to the root src path. Renamed some tests. Combined utils.bcd and utils.bitman tests into a unified utils test. Utils path can now be imported like a module. by
2019-09-13 10:52:22 -0400
fce7c0e
MOSCIA Tests now contain all Timer B tests! by
2019-09-12 13:43:00 -0400
fa33745
MOSCIA Fixed typo and CNT is no longer automatically set to zero at the end of a phi2 tick. by
2019-09-12 13:42:38 -0400
2bf4923
MOSCIA More Timer A Tests. by
2019-09-11 13:59:09 -0400
d137381
Clock test allows slight variance for amount of real time passage. by
2019-09-11 07:07:48 -0400
f411ce2
Continued MOSCIA tests. by
2019-09-10 16:38:58 -0400
0d26e36
Fixed issues with interrupts. Fixed bugs in TimerA. by
2019-09-10 16:38:22 -0400
a7b0ba2
MOSCIA TOD and other tests added. Breaks due to interrupt issues. by
2019-09-10 14:10:19 -0400
de34b64
Fixed TOD issues. Working on interrupt issues. by
2019-09-10 14:09:47 -0400
d667ca6
Testing the ability to trigger events for PDA and PDB as well as DD* masking. by
2019-09-06 13:57:09 -0400
4772ddf
Tweaks to MOSCIA by
2019-09-06 13:56:35 -0400
4e28ffb
RAM, ROM, and Shadow memory now use the new IO class. Dropped the Listener helper class. by
2019-09-06 08:44:49 -0400
59978a5
Renamed wireable.js to io.js to match exported class name. Fixed bug by
2019-09-06 08:42:45 -0400
07593c8
Created class that can handle specialty IO events. by
2019-09-05 15:53:52 -0400
124d9d4
Clock test improved to allow for a +/-1% variation in cycles. by
2019-09-05 08:04:09 -0400
5bb38e2
Started adding tests for MOS CIA by
2019-09-04 13:43:19 -0400
8020104
Bug fixes to MOS CIA Serialization. by
2019-09-04 13:42:49 -0400
d3b1742
MOS CIA can now be reset. Serial communication implemented. by
2019-09-04 10:52:08 -0400
9abb5bc
MOS CIA Interrupt control/mask mechanics in place. by
2019-09-04 09:32:25 -0400
e13f5b0
CIA Timers A/B coded. by
2019-09-03 13:10:31 -0400
f7ed007
Rework of the CIA TOD registers. by
2019-09-03 10:21:30 -0400
f8ef85f
Tweaks to MOSCIA by
2019-08-29 13:25:01 -0400
c1f1f23
Memory now has a peek() and poke() method; like read() and write() respectively, but will not trigger listeners. by
2019-08-29 13:24:11 -0400
613d11b
MOSCIA will now uses utils/bcd and TOD clock should work... untested. by
2019-08-28 16:04:01 -0400
d443ff4
More work on utils/bcd and added unit tests. by
2019-08-28 16:03:09 -0400
a162b4a
Started working a BCD helper, and an implementation of the MOS CIA chip. by
2019-08-28 14:05:50 -0400
ecd453d
Moved MOS6502 out of the chip directory. Adjusted tests accordingly. by
2019-08-28 09:26:30 -0400
fcdf419
Added some tests for the Clock class. by
2019-08-27 14:04:32 -0400
a9ba4f1
Minor tweaks to Clock by
2019-08-27 14:04:19 -0400
b12f868
Finished MMC memory tests. by
2019-08-26 13:41:52 -0400
2e5ad38
Bug fixes by
2019-08-26 13:41:34 -0400
4c9f047
Fixed the .address property behaviour by
2019-08-26 13:21:45 -0400
dda1c22
Fixed a couple bugs. Removed mmSwitchRegister(). Added switchBank() by
2019-08-26 11:39:09 -0400
5ba52a5
Added another couple tests to the memory test set. by
2019-08-21 13:54:51 -0400
30f9504
Rewrote .load() method. by
2019-08-21 13:54:30 -0400
10a62b4
Minor test addition by
2019-08-20 15:53:00 -0400
9d773f6
Added pages property to memory. Bringing MMC more inline with IMem interface. by
2019-08-20 15:52:36 -0400
495c5b6
Memory module bug fixes. Memory test added. by
2019-08-20 14:01:02 -0400
beab016
Rewrote memory classes and put them in their own folder. Updated MOS6502/cpu and relavent tests. by
2019-08-19 14:02:17 -0400
f005dda
Finished all opcodes in assembler by
2019-08-16 09:36:47 -0400
c2f0652
Several more opcodes tested. by
2019-08-15 16:11:19 -0400
8744d3c
Fixed bug with LDX Absolute,Y by
2019-08-15 16:11:01 -0400
c722a48
Large number of 6502 assembler tests written. by
2019-08-15 13:42:02 -0400
bed8ec0
Fixed a typo by
2019-08-15 13:41:41 -0400
5781e76
Added interrupt handlers (by way of psuedo hijacking BRK) and make reset a property. Updated tests accordingly. by
2019-08-14 13:06:00 -0400
e92b54d
Finished coding all opcodes. by
2019-08-14 10:41:24 -0400
baed6e6
Added dedicated StackPush() and StackPop() methods. Fixed BRK and JSR opcodes. Wrote RTS and RTI opcodes. by
2019-08-14 10:36:29 -0400
9265cb2
Added the ROL and ROR opcodes. by
2019-08-13 17:33:27 -0400
3e17915
More opcodes finished. by
2019-08-13 13:46:47 -0400
440c543
Added more MOS6502/cpu tests. File dummy updated with unofficial tests. by
2019-08-12 20:34:47 -0400
145fb53
Added LDA opcode. Tweaking ALU() by
2019-08-12 20:34:10 -0400
50526cd
MATHC() broken into ADC() and SBC() once again. ProccessOp() handles memory and value access in the various mode types and returns true when the process who generate an outcome. by
2019-08-12 18:50:06 -0400
b94470c
Testing file for MOS6502/cpu by
2019-08-12 13:55:38 -0400
b31404b
Fixed conflict with BIT (using BITM for the utility file). Method reset() should now match basic 6502 reset mechanics. by
2019-08-12 13:55:16 -0400
a8ad08b
Method rename and two new methods added to Bank class. by
2019-08-12 13:50:50 -0400
b9802d8
ADC() method turned into the MATHC() method which can be used for both the ADC and SBC op codes. CPU.clk() updated accordingly. by
2019-08-12 09:02:35 -0400
fa1b9f9
ALU() method modified to directly use and set the cpu.__AR value. ADC() Adjusted according to the new ALU() changes. by
2019-08-12 08:58:21 -0400
52e5111
Added ALU and the ADC op code. by
2019-08-09 13:45:54 -0400
004d99d
Can now get the direct bit value with the new .val() method. by
2019-08-09 13:45:35 -0400
30132b1
Fixed the order of the status register flags and initialized the status register to 32 (bit 5 on). by
2019-08-09 08:24:35 -0400
0ab6bb5
Branching fixed. Added Register, Flag, and Stack commands. by
2019-08-08 18:06:06 -0400
2433ed5
Branches coded. by
2019-08-08 13:55:01 -0400
58e181f
MOS6502 CPU buildout. by
2019-08-08 11:48:17 -0400
7f25738
Tokenizer handles strings. Directives use handlers. Updated tests. by
2019-08-07 17:25:12 -0400
3daef52
MOS6502 moved into src/chip/MOS6502 and broken into two different files. Tests have been flattened. by
2019-08-07 13:53:38 -0400
fdee76c
Reorganization of source files. by
2019-08-07 11:27:21 -0400