Bryan Miller
|
8c174a787d
|
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.
|
5 years ago |
Bryan Miller
|
fc75246fe3
|
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.
|
5 years ago |
Bryan Miller
|
221d15755a
|
Tokenizer now accepts ':' as a 'punc' token.
|
5 years ago |
Bryan Miller
|
ba2545fe64
|
Environment can now emit on initial variable/label value assignment.
|
5 years ago |
Bryan Miller
|
825b7f5d0b
|
Parser no longer has 'prog'. Now just uses 'block'.
|
5 years ago |
Bryan Miller
|
a77ac0537a
|
Renamed the compiler to assembler.
|
5 years ago |
Bryan Miller
|
f1528e3a8d
|
Environment class can now have a 'special' variable for the Program Counter defined (using the PCLabel property).
|
5 years ago |
Bryan Miller
|
da3a8b826f
|
Parser can now have it's Program Counter Label (PCLabel) defined. Defaults to '__PC__'. The symbole '*' is no longer used.
|
5 years ago |
Bryan Miller
|
b3262793c0
|
Number of parser fixes. OpCode parser now properly parses Indirect op codes.
|
5 years ago |
Bryan Miller
|
e8c246247f
|
Removed stray console.log() command.
|
5 years ago |
Bryan Miller
|
7e92c653b7
|
Added compiler environment class.
|
5 years ago |
Bryan Miller
|
6c7235577f
|
MOS/6502/tpl.js contains objects and functions used by Tokenizer and Parser to allow them to codify 6502 assembly.
|
5 years ago |
Bryan Miller
|
54d32839f0
|
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.
|
5 years ago |
Bryan Miller
|
58201c6cf6
|
Parse coming along
|
5 years ago |
Bryan Miller
|
4e64570f32
|
More buildout of the parser
|
5 years ago |
Bryan Miller
|
908ba8852d
|
Tokenizer will now only accept multi-line strings if the newline is preceeded by a backspace.
|
5 years ago |
Bryan Miller
|
aa79ab6340
|
More 6502 assembly parser work.
|
5 years ago |
Bryan Miller
|
f02c5c4ef9
|
Working on the parser. :-/
|
5 years ago |
Bryan Miller
|
c5c72ee036
|
Tokenizer now outputs opcodes as their own token.
|
5 years ago |
Bryan Miller
|
da0816d194
|
Started work on parser.
|
5 years ago |
Bryan Miller
|
9a3cb5162f
|
Tokenizer finished.
|
5 years ago |
Bryan Miller
|
198ef7d18d
|
Started work on a new assembler for the 6502 cpu. Something cleaner!
|
5 years ago |
Bryan Miller
|
92e960dd07
|
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.
|
5 years ago |
Bryan Miller
|
5237ac8a8c
|
Added module index file for src/MOS.
|
5 years ago |
Bryan Miller
|
2784031e8a
|
Broke up the src/memory/memory.js file into rom, ram, and shadow. Updated src/memory/index.js and tests as needed.
|
5 years ago |
Bryan Miller
|
37709db2ee
|
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.
|
5 years ago |
Bryan Miller
|
35333360c1
|
IO moved from common to root. Adjusted modules to use the new IO path.
|
5 years ago |
Bryan Miller
|
887c5adfd3
|
MOS6502/cpu has the method .hardReset(). Improvements to ALU function, especially in BCD math. Tests enhanced and added test for ADC Immediate BCD mode.
|
5 years ago |
Bryan Miller
|
fd49d3d657
|
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.
|
5 years ago |
Bryan Miller
|
65ad33f262
|
Started adjusting MOS6502.cpu tests to use the MOS6502.assembler to 'compile' the assembly being tested.
|
5 years ago |
Bryan Miller
|
55bde60f14
|
Enhanced ALU with BCD mode and fixed ADC/SBC flag results.
|
5 years ago |
Bryan Miller
|
c5014d935f
|
Added file to force test execution order.
|
5 years ago |
Bryan Miller
|
1309eca595
|
Clock tests updated for new features.
|
5 years ago |
Bryan Miller
|
e7a447abfc
|
Clock can now handle 'layers'. Every added layer reduces call speed of grouped components by <hz>/<# layers>.
|
5 years ago |
Bryan Miller
|
e65b597706
|
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.
|
5 years ago |
Bryan Miller
|
fce7c0eecd
|
MOSCIA Tests now contain all Timer B tests!
|
5 years ago |
Bryan Miller
|
fa33745af9
|
MOSCIA Fixed typo and CNT is no longer automatically set to zero at the end of a phi2 tick.
|
5 years ago |
Bryan Miller
|
2bf492355c
|
MOSCIA More Timer A Tests.
|
5 years ago |
Bryan Miller
|
d137381005
|
Clock test allows slight variance for amount of real time passage.
|
5 years ago |
Bryan Miller
|
f411ce2643
|
Continued MOSCIA tests.
|
5 years ago |
Bryan Miller
|
0d26e362ad
|
Fixed issues with interrupts. Fixed bugs in TimerA.
|
5 years ago |
Bryan Miller
|
a7b0ba2202
|
MOSCIA TOD and other tests added. Breaks due to interrupt issues.
|
5 years ago |
Bryan Miller
|
de34b64ed7
|
Fixed TOD issues. Working on interrupt issues.
|
5 years ago |
Bryan Miller
|
d667ca6ad6
|
Testing the ability to trigger events for PDA and PDB as well as DD* masking.
|
5 years ago |
Bryan Miller
|
4772ddfaf5
|
Tweaks to MOSCIA
|
5 years ago |
Bryan Miller
|
4e28ffbe91
|
RAM, ROM, and Shadow memory now use the new IO class. Dropped the Listener helper class.
|
5 years ago |
Bryan Miller
|
59978a550d
|
Renamed wireable.js to io.js to match exported class name. Fixed bug
|
5 years ago |
Bryan Miller
|
07593c8ca9
|
Created class that can handle specialty IO events.
|
5 years ago |
Bryan Miller
|
124d9d4ff3
|
Clock test improved to allow for a +/-1% variation in cycles.
|
5 years ago |
Bryan Miller
|
5bb38e2ab2
|
Started adding tests for MOS CIA
|
5 years ago |