125 Commits (master)
 

Author SHA1 Message Date
  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