Commit Graph

  • 866f553346 assembler - Add feature: Allow binary numbers with prefix '0b' and hex numbers with prefix '0x' n loewen 2023-08-29 21:26:36 -0400
  • eff9043665 cpu - Fix: Include '$' before hex in debug-peeking for indirect ops n loewen 2023-08-29 21:25:59 -0400
  • 05f57ed93c 2023-08-29 - Add info on how overflow flag should behave n loewen 2023-08-29 21:22:41 -0400
  • 1fe582663b conversions - Create `conversions.js` and move `hex2num` et al. out of `logging.js` n loewen 2023-08-29 20:30:53 -0400
  • 8bb3b9b43f conversions - Create `conversions.js` and move `hex2num` et al. out of `logging.js` n loewen 2023-08-29 20:30:44 -0400
  • e9d721042b cardiograph - Remove old debug logging n loewen 2023-08-29 20:29:15 -0400
  • 19784b56b6 dbg - Add 'none' debugging level, which turns off all output n loewen 2023-08-29 19:34:22 -0400
  • 12d592c262 assembler - WIP - Add a 'return on stdout' mode that turns off all debug logging, and prints machine code output to stdout, so that output can be piped directly to the simulator n loewen 2023-08-29 19:32:43 -0400
  • 5671314b10 (docs) readme - Add intro + re-arrange, to clarify relationship between Cardiograph and its constituent parts n loewen 2023-08-29 09:26:09 -0400
  • 9cbf34be6e 2023-08-29 - Update todo list n loewen 2023-08-29 13:13:25 -0400
  • a6e9966797 (docs) Readme - Update info on how to run the assembler and simulator n loewen 2023-08-29 13:08:48 -0400
  • 8a38d6f831 (docs) readme - Update dependency list n loewen 2023-08-29 13:05:04 -0400
  • be13802e1e assembler / cardiograph - Add shebangs n loewen 2023-08-29 13:04:38 -0400
  • 45c8fe3bd2 assembler - Remove dbg log n loewen 2023-08-29 13:04:26 -0400
  • 049d9367ac cardiograph - Change to take input from stdin! n loewen 2023-08-29 12:54:32 -0400
  • 7faf190fe2 assembler / run-assembler - Make assembler get input from stdin! / Remove `run-assembler` n loewen 2023-08-29 12:54:06 -0400
  • 41d7b7ba54 assembler - Rename 'debugInfo' to 'sourceInfo' and return it second in output - {machinecode, sourceinfo} n loewen 2023-08-29 12:52:48 -0400
  • 14a32b9c27 dbg - Add feature: allow any number of arguments when logging n loewen 2023-08-29 12:51:28 -0400
  • 8a19238612 dbg - Change to hardcoded functions instead of factory-generated ones, because VS Code type checking can't cope with the generated ones n loewen 2023-08-29 12:02:18 -0400
  • 28b92b4980 assembler - Replace debugging with new debugging library n loewen 2023-08-29 11:51:53 -0400
  • a2a79cea46 dbg - Create debugging library n loewen 2023-08-29 11:51:17 -0400
  • b776951e81 logging - Fix bad alignment on rows with just one entry n loewen 2023-08-29 11:51:00 -0400
  • d9212ab620 cardiograph - Move display-drawing so that it nests nicely inside a console.group() n loewen 2023-08-29 10:44:06 -0400
  • 37bb92f296 cpu - Change to throw errors, instead of logging with console.error() n loewen 2023-08-29 10:42:36 -0400
  • 1c60fa5ab8 2023-08-29 - Update todos n loewen 2023-08-29 10:04:46 -0400
  • b08d9854c4 Update TODO/FIXME comments for increased clarity and accuracy n loewen 2023-08-29 10:04:18 -0400
  • 74c6f83fcc machine config - Change CFG variable names to lowercase; Change to always access them as 'CFG.property' n loewen 2023-08-29 09:56:21 -0400
  • ccc032b379 Move display functions to `io.js`, and re-implement keypad in `io.js` n loewen 2023-08-29 09:49:21 -0400
  • efe20eabdf cpu - Rename back to 'cpu.js' n loewen 2023-08-29 09:30:33 -0400
  • b27e1e7496 2023-08-29 - Update todos n loewen 2023-08-29 09:27:12 -0400
  • 144ae8de6c (docs) readme - Add intro + re-arrange, to clarify relationship between Cardiograph and its constituent parts n loewen 2023-08-29 09:26:09 -0400
  • dee5b4afd4 Remove 'issues' dir - it lives in the 'issues' branch now n loewen 2023-08-29 09:15:21 -0400
  • 0eee5a2624 Move issues and notes back into this branch n loewen 2023-08-29 08:55:03 -0400
  • e6883fbc65 (notes) Remove all notes - they live in the 'notes' branch now n loewen 2023-08-29 08:46:09 -0400
  • b161fb1415 Remove empty .gitmodules n loewen 2023-08-29 08:45:05 -0400
  • 33539224a4 Move all files to root dir n loewen 2023-08-29 08:44:49 -0400
  • 3982ce3254 Remove files that aren't notes n loewen 2023-08-29 08:40:36 -0400
  • 3cc41b8b5a Remove 'test-programs' dir n loewen 2023-08-29 08:34:01 -0400
  • 072d2ccdb5 (notes) 2023-08-20 - Create note with list of short-term goals n loewen 2023-08-29 08:26:17 -0400
  • 9f4a67770f (notes) - 2023-08-28 - Update todos n loewen 2023-08-29 08:25:56 -0400
  • 5b52143ad0 Remove `run-cpu.js` (it is superseded by `cardiograph`) n loewen 2023-08-28 23:11:15 -0400
  • fbda5ce927 cardiograph - WIP - Create minimal version of `cardiograph` file to act as CLI entrypoint to simulator n loewen 2023-08-28 23:09:51 -0400
  • 18d77086df cpu - WIP - Finish refactoring into a library n loewen 2023-08-28 23:09:12 -0400
  • 81617dfe42 Merge commit '49cb3171da959490277a8ea5b8b7a70ee8bf1783' into Re-architect n loewen 2023-08-28 23:06:31 -0400
  • 49cb3171da Add gitignore n loewen 2023-08-28 23:05:39 -0400
  • 03715a6a8e cpu - Rename to cpu.lib.js n loewen 2023-08-28 16:56:13 -0400
  • b7d13087e6 cpu - WIP - Continue removing material that has to move elsewhere so that this can be treated as a library n loewen 2023-08-28 16:55:24 -0400
  • b173d46cb6 cpu - Change structure of CPU object to group State and Debug info n loewen 2023-08-28 16:25:43 -0400
  • ccebc6ec3d (notes) 2023-08-28 - Create note outlining plans to re-architect the simulator n loewen 2023-08-28 15:56:28 -0400
  • 2d210303e6 (tests) WIP - Create a rough, partial sketch for an implementation of Conway's Game of Life n loewen 2023-08-28 15:31:57 -0400
  • bf589411e7 Add `argparser` as a submodule n loewen 2023-08-28 09:18:51 -0400
  • e09bd9a66f Remove old sketches n loewen 2023-08-28 09:12:26 -0400
  • 1c8722c65e Move JavaScript source to new `/src` directory n loewen 2023-08-28 09:11:20 -0400
  • 6545df9cfd cpu - WIP - Start re-configuring CLI interface, in order to allow passing clock speed as a CLI argument (while also keeping a defualt value in machine.config.js) n loewen 2023-08-28 09:10:21 -0400
  • f335aba94d (issues) todos - Add "fix overflow flag" entry n loewen 2023-08-28 09:09:10 -0400
  • 97e54d01cb (tests) move-pixel-with-keypad - Change keys to match new mapping / WASD n loewen 2023-08-26 16:45:14 -0400
  • 29f25bda7a config / cpu - Add feature: Map the arrow keys to hex keypad, in addition to the larger Qwerty set n loewen 2023-08-26 16:44:30 -0400
  • 872489c18d tests - Remove commented-out line n loewen 2023-08-26 14:58:29 +0100
  • ac0fccf2e9 tests - finish WIP - Make a 'move a pixel with the keypad' program n loewen 2023-08-26 14:56:01 +0100
  • 86d0b57c7a cpu - Fix: Make sure that the 'reached cycle limit' message displays in all output modes n loewen 2023-08-26 14:48:37 +0100
  • 9f68bd3027 tests - WIP - Create 'move pixel with keypad' program n loewen 2023-08-26 14:35:49 +0100
  • b290eb1568 cpu - Refactor CPU flags -- stop using a bitmask to make them easier to handle n loewen 2023-08-26 14:34:02 +0100
  • ddab8f42c4 cpu / display - Fix/Refactor: Fix CPU status display so that it doesn't crash when JMPing to an address that isn't in the assembly source. Refactor CPU status display to streamline. n loewen 2023-08-26 14:29:43 +0100
  • edad9ecbb8 cpu - Fix: Quit the process when the CPU halts n loewen 2023-08-26 13:26:26 +0100
  • 41632b0a0f cpu - Change debug printout formatting n loewen 2023-08-26 13:25:09 +0100
  • d0b620f1ad cpu - Fix incorrect flag numbering n loewen 2023-08-26 13:24:49 +0100
  • 7cfad439f8 run-cpu / cpu - Change command-line interface to use more standard flags (--debug --step --pretty) n loewen 2023-08-26 12:57:27 +0100
  • 4bb394f039 assembler - Fix: Count lines with only whitespace as blank n loewen 2023-08-26 11:35:12 +0100
  • 1ce6757838 run-assembler - Remove unused import n loewen 2023-08-26 11:09:55 +0100
  • dea1a445f6 logging - Fix memory printing function so that it works for arrays that start or end on odd address numbers n loewen 2023-08-26 11:07:38 +0100
  • 902b218547 (tests) - draw-xy - Change selected pixel to (3, 3) v0.3.0 n loewen 2023-08-25 11:06:34 +0100
  • 0a3d474c43 issues - Move 'issues' directory out of 'notes' directory n loewen 2023-08-24 20:57:36 +0100
  • 98c17cf925 display - Fix: Pretty display was displaying the wrong pixels n loewen 2023-08-24 17:06:09 +0100
  • f612e7582a tests - Create routine for plotting a pixel at an (x, y) coordinate n loewen 2023-08-24 17:03:51 +0100
  • 897749b108 cpu - Add feature: Quit after cycle limit reached n loewen 2023-08-24 16:35:21 +0100
  • 2802623c4c assembler - Change error handling: Just quit, don't throw a JS error n loewen 2023-08-24 16:33:33 +0100
  • 1bf2144a67 assembler - Fix 'Too many arguments' error so that it works for normal lines as well as lines with `*` (which might include an optional 2nd arg) n loewen 2023-08-24 16:32:29 +0100
  • d30050a292 cpu - Add feature: 'Invalid opcode' error message n loewen 2023-08-24 16:31:11 +0100
  • dbe630eb5e cpu - Fix debugging output on JMP / Add previous IP to state + add functions that abstract setting and incrementing the IP n loewen 2023-08-24 16:30:28 +0100
  • d56eb34a44 assembler - Add feature: throw useful error on references to undefined constants n loewen 2023-08-24 16:01:56 +0100
  • d6b55db381 assembler - Add feature: allow use of `*` with a numeric offset n loewen 2023-08-24 15:26:37 +0100
  • dc78518b73 assembler - Fix test for argument-less operations / Remove unnecessary variable n loewen 2023-08-24 15:16:12 +0100
  • 51bc13fe5b cpu - Change END to increment IP, to make debugging printout work when the only line in the program is an END n loewen 2023-08-24 15:13:49 +0100
  • 0fca21dfab assembler - Change to better catch lines that are missing operands, and provide a useful error message n loewen 2023-08-24 15:00:33 +0100
  • 9268b2c59a assembler - Fix: Make preparse start counting lines at 1, so that they match the numbers in your text editor n loewen 2023-08-24 14:42:45 +0100
  • 621afa0553 (issues) todo - Add "Abandoned" section and re-insert 'return pure machine code from assembler' in there n loewen 2023-08-24 13:19:58 +0100
  • 527d70fcdf (issues) todo - Remove 'return pure machine code from assembler' entry n loewen 2023-08-24 13:18:39 +0100
  • 1dc535a71e assembler/cpu - Add feature: Pass debug info from assembler to cpu, so that cpu can print source line n loewen 2023-08-24 13:16:01 +0100
  • f0632b0969 (issues) todos - Change entry to point to "execute JMP FF on startup" issue n loewen 2023-08-24 12:17:42 +0100
  • 68ae53a245 (issues) issues - Add "execute JMP FF on startup" issue n loewen 2023-08-24 12:17:24 +0100
  • aafeeb572b (issues) issues - Create 'issues' file for extended commentary on select tasks n loewen 2023-08-24 11:04:38 +0100
  • 7074f0c5f5 (issues) todo - Reformat todo list n loewen 2023-08-24 11:04:05 +0100
  • be8b1ef272 Remove 'scratch.js' file n loewen 2023-08-24 10:44:56 +0100
  • 6e1a3faff2 (notes) issues - Create/Move: Create 'issues' directory / Move 'todo.md' to issues dir n loewen 2023-08-24 10:43:46 +0100
  • 2ad6d46b5d (docs) readme - Change memory map to include initial IP + not-yet-implemented ROM with pointer-to-initial-IP n loewen 2023-08-24 08:18:45 +0100
  • 6fc6e727d0 (notes) 2023-08-24 - Create note with brainstorming re: a more accurate start-up process (and memory/peripheral setup) + a todo list n loewen 2023-08-24 08:17:38 +0100
  • f2e43888b5 assembler / machine config - Remove/Change: Remove pointer-to-keypad / Change initial IP n loewen 2023-08-24 08:16:56 +0100
  • 78ac43bead assembler - Fix bug where the assembler attempted to handle indirect references to constants twice / Remove unused "assemble with optional args" function / Tidy up debugging printouts n loewen 2023-08-23 21:23:45 +0100
  • ee1e899108 (tests) fill-display - Fix typo / Change constant names to increase clarity and make it easier to update if the flag IDs change again n loewen 2023-08-23 21:22:16 +0100
  • 14770db506 (notes) todo - Add reminder to update CPU startup process / Remove old entries n loewen 2023-08-23 15:34:00 +0100