Commit Graph

350 Commits

Author SHA1 Message Date
n loewen 19784b56b6 dbg - Add 'none' debugging level, which turns off all output 2023-08-29 19:34:22 -04:00
n loewen 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 2023-08-29 19:32:43 -04:00
n loewen 5671314b10 (docs) readme - Add intro + re-arrange, to clarify relationship between Cardiograph and its constituent parts 2023-08-29 13:20:45 -04:00
n loewen a6e9966797 (docs) Readme - Update info on how to run the assembler and simulator 2023-08-29 13:08:48 -04:00
n loewen 8a38d6f831 (docs) readme - Update dependency list 2023-08-29 13:05:04 -04:00
n loewen be13802e1e assembler / cardiograph - Add shebangs 2023-08-29 13:04:38 -04:00
n loewen 45c8fe3bd2 assembler - Remove dbg log 2023-08-29 13:04:26 -04:00
n loewen 049d9367ac cardiograph - Change to take input from stdin! 2023-08-29 12:54:32 -04:00
n loewen 7faf190fe2 assembler / run-assembler - Make assembler get input from stdin! / Remove `run-assembler` 2023-08-29 12:54:06 -04:00
n loewen 41d7b7ba54 assembler - Rename 'debugInfo' to 'sourceInfo' and return it second in output - {machinecode, sourceinfo} 2023-08-29 12:52:48 -04:00
n loewen 14a32b9c27 dbg - Add feature: allow any number of arguments when logging 2023-08-29 12:51:28 -04:00
n loewen 8a19238612 dbg - Change to hardcoded functions instead of factory-generated ones, because VS Code type checking can't cope with the generated ones 2023-08-29 12:02:18 -04:00
n loewen 28b92b4980 assembler - Replace debugging with new debugging library 2023-08-29 11:51:53 -04:00
n loewen a2a79cea46 dbg - Create debugging library 2023-08-29 11:51:17 -04:00
n loewen b776951e81 logging - Fix bad alignment on rows with just one entry 2023-08-29 11:51:00 -04:00
n loewen d9212ab620 cardiograph - Move display-drawing so that it nests nicely inside a console.group() 2023-08-29 10:44:06 -04:00
n loewen 37bb92f296 cpu - Change to throw errors, instead of logging with console.error() 2023-08-29 10:42:36 -04:00
n loewen b08d9854c4 Update TODO/FIXME comments for increased clarity and accuracy 2023-08-29 10:04:18 -04:00
n loewen 74c6f83fcc machine config - Change CFG variable names to lowercase; Change to always access them as 'CFG.property' 2023-08-29 09:56:21 -04:00
n loewen ccc032b379 Move display functions to `io.js`, and re-implement keypad in `io.js` 2023-08-29 09:49:21 -04:00
n loewen efe20eabdf cpu - Rename back to 'cpu.js' 2023-08-29 09:30:33 -04:00
n loewen 5b52143ad0 Remove `run-cpu.js` (it is superseded by `cardiograph`) 2023-08-28 23:11:15 -04:00
n loewen fbda5ce927 cardiograph - WIP - Create minimal version of `cardiograph` file to act as CLI entrypoint to simulator 2023-08-28 23:09:51 -04:00
n loewen 18d77086df cpu - WIP - Finish refactoring into a library 2023-08-28 23:09:12 -04:00
n loewen 81617dfe42 Merge commit '49cb3171da959490277a8ea5b8b7a70ee8bf1783' into Re-architect 2023-08-28 23:06:31 -04:00
n loewen 49cb3171da Add gitignore 2023-08-28 23:05:39 -04:00
n loewen 03715a6a8e cpu - Rename to cpu.lib.js 2023-08-28 16:56:13 -04:00
n loewen b7d13087e6 cpu - WIP - Continue removing material that has to move elsewhere so that this can be treated as a library 2023-08-28 16:55:24 -04:00
n loewen b173d46cb6 cpu - Change structure of CPU object to group State and Debug info 2023-08-28 16:25:43 -04:00
n loewen ccebc6ec3d (notes) 2023-08-28 - Create note outlining plans to re-architect the simulator 2023-08-28 15:56:28 -04:00
n loewen 2d210303e6 (tests) WIP - Create a rough, partial sketch for an implementation of Conway's Game of Life 2023-08-28 15:31:57 -04:00
n loewen bf589411e7 Add `argparser` as a submodule 2023-08-28 09:18:51 -04:00
n loewen e09bd9a66f Remove old sketches 2023-08-28 09:12:26 -04:00
n loewen 1c8722c65e Move JavaScript source to new `/src` directory 2023-08-28 09:11:20 -04:00
n loewen 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) 2023-08-28 09:10:21 -04:00
n loewen f335aba94d (issues) todos - Add "fix overflow flag" entry 2023-08-28 09:09:10 -04:00
n loewen 97e54d01cb (tests) move-pixel-with-keypad - Change keys to match new mapping / WASD 2023-08-26 16:45:14 -04:00
n loewen 29f25bda7a config / cpu - Add feature: Map the arrow keys to hex keypad, in addition to the larger Qwerty set 2023-08-26 16:44:30 -04:00
n loewen 872489c18d tests - Remove commented-out line 2023-08-26 14:58:29 +01:00
n loewen ac0fccf2e9 tests - finish WIP - Make a 'move a pixel with the keypad' program 2023-08-26 14:56:01 +01:00
n loewen 86d0b57c7a cpu - Fix: Make sure that the 'reached cycle limit' message displays in all output modes 2023-08-26 14:48:37 +01:00
n loewen 9f68bd3027 tests - WIP - Create 'move pixel with keypad' program 2023-08-26 14:35:49 +01:00
n loewen b290eb1568 cpu - Refactor CPU flags -- stop using a bitmask to make them easier to handle 2023-08-26 14:34:02 +01:00
n loewen 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. 2023-08-26 14:29:43 +01:00
n loewen edad9ecbb8 cpu - Fix: Quit the process when the CPU halts 2023-08-26 13:26:26 +01:00
n loewen 41632b0a0f cpu - Change debug printout formatting 2023-08-26 13:25:09 +01:00
n loewen d0b620f1ad cpu - Fix incorrect flag numbering 2023-08-26 13:24:49 +01:00
n loewen 7cfad439f8 run-cpu / cpu - Change command-line interface to use more standard flags (--debug --step --pretty) 2023-08-26 12:57:27 +01:00
n loewen 4bb394f039 assembler - Fix: Count lines with only whitespace as blank 2023-08-26 11:35:12 +01:00
n loewen 1ce6757838 run-assembler - Remove unused import 2023-08-26 11:09:55 +01:00