Commit Graph

276 Commits

Author SHA1 Message Date
n loewen 3982ce3254 Remove files that aren't notes 2023-08-29 08:40:36 -04:00
n loewen 3cc41b8b5a Remove 'test-programs' dir 2023-08-29 08:34:01 -04:00
n loewen 072d2ccdb5 (notes) 2023-08-20 - Create note with list of short-term goals 2023-08-29 08:26:17 -04:00
n loewen 9f4a67770f (notes) - 2023-08-28 - Update todos 2023-08-29 08:25:56 -04:00
n loewen 49cb3171da Add gitignore 2023-08-28 23:05:39 -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
n loewen dea1a445f6 logging - Fix memory printing function so that it works for arrays that start or end on odd address numbers 2023-08-26 11:07:38 +01:00
n loewen 902b218547 (tests) - draw-xy - Change selected pixel to (3, 3) 2023-08-25 11:06:34 +01:00
n loewen 0a3d474c43 issues - Move 'issues' directory out of 'notes' directory 2023-08-24 20:57:36 +01:00
n loewen 98c17cf925 display - Fix: Pretty display was displaying the wrong pixels 2023-08-24 17:06:09 +01:00
n loewen f612e7582a tests - Create routine for plotting a pixel at an (x, y) coordinate 2023-08-24 17:03:51 +01:00
n loewen 897749b108 cpu - Add feature: Quit after cycle limit reached 2023-08-24 16:35:21 +01:00
n loewen 2802623c4c assembler - Change error handling: Just quit, don't throw a JS error 2023-08-24 16:33:33 +01:00
n loewen 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) 2023-08-24 16:32:29 +01:00
n loewen d30050a292 cpu - Add feature: 'Invalid opcode' error message 2023-08-24 16:31:11 +01:00
n loewen dbe630eb5e cpu - Fix debugging output on JMP / Add previous IP to state + add functions that abstract setting and incrementing the IP 2023-08-24 16:30:28 +01:00
n loewen d56eb34a44 assembler - Add feature: throw useful error on references to undefined constants 2023-08-24 16:01:56 +01:00
n loewen d6b55db381 assembler - Add feature: allow use of `*` with a numeric offset 2023-08-24 15:26:37 +01:00
n loewen dc78518b73 assembler - Fix test for argument-less operations / Remove unnecessary variable 2023-08-24 15:16:12 +01:00
n loewen 51bc13fe5b cpu - Change END to increment IP, to make debugging printout work when the only line in the program is an END 2023-08-24 15:13:49 +01:00
n loewen 0fca21dfab assembler - Change to better catch lines that are missing operands, and provide a useful error message 2023-08-24 15:00:33 +01:00
n loewen 9268b2c59a assembler - Fix: Make preparse start counting lines at 1, so that they match the numbers in your text editor 2023-08-24 14:42:45 +01:00
n loewen 621afa0553 (issues) todo - Add "Abandoned" section and re-insert 'return pure machine code from assembler' in there 2023-08-24 13:19:58 +01:00
n loewen 527d70fcdf (issues) todo - Remove 'return pure machine code from assembler' entry 2023-08-24 13:18:39 +01:00
n loewen 1dc535a71e assembler/cpu - Add feature: Pass debug info from assembler to cpu, so that cpu can print source line 2023-08-24 13:16:01 +01:00
n loewen f0632b0969 (issues) todos - Change entry to point to "execute JMP FF on startup" issue 2023-08-24 12:17:42 +01:00
n loewen 68ae53a245 (issues) issues - Add "execute JMP FF on startup" issue 2023-08-24 12:17:24 +01:00
n loewen aafeeb572b (issues) issues - Create 'issues' file for extended commentary on select tasks 2023-08-24 11:04:38 +01:00
n loewen 7074f0c5f5 (issues) todo - Reformat todo list 2023-08-24 11:04:05 +01:00
n loewen be8b1ef272 Remove 'scratch.js' file 2023-08-24 10:44:56 +01:00