Commit Graph

361 Commits

Author SHA1 Message Date
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
n loewen 6e1a3faff2 (notes) issues - Create/Move: Create 'issues' directory / Move 'todo.md' to issues dir 2023-08-24 10:43:46 +01:00
n loewen 2ad6d46b5d (docs) readme - Change memory map to include initial IP + not-yet-implemented ROM with pointer-to-initial-IP 2023-08-24 08:18:45 +01:00
n loewen 6fc6e727d0 (notes) 2023-08-24 - Create note with brainstorming re: a more accurate start-up process (and memory/peripheral setup) + a todo list 2023-08-24 08:17:38 +01:00
n loewen f2e43888b5 assembler / machine config - Remove/Change: Remove pointer-to-keypad / Change initial IP 2023-08-24 08:16:56 +01:00
n loewen 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 2023-08-23 21:23:45 +01:00
n loewen ee1e899108 (tests) fill-display - Fix typo / Change constant names to increase clarity and make it easier to update if the flag IDs change again 2023-08-23 21:22:16 +01:00
n loewen 14770db506 (notes) todo - Add reminder to update CPU startup process / Remove old entries 2023-08-23 15:34:00 +01:00
n loewen 91853cd7e3 (notes) todo - Remove completed flag re-ordering task 2023-08-23 15:30:53 +01:00
n loewen 5f29c7c3eb cpu - Change flags from NZOC to ONZC 2023-08-23 15:30:06 +01:00
n loewen e1cc491e28 (docs) readme - Remove old table of instructions missed during previous change 2023-08-23 15:26:11 +01:00
n loewen ae3743926c (docs) readme - Change title: replace "paper computer" with "imaginary computer" 2023-08-23 15:15:43 +01:00
n loewen 944a0932f6 readme/notes - finish WIP - Change instruction set back to the original, but keep the improvements to the documentation 2023-08-23 15:12:33 +01:00
n loewen af52d4f373 (notes) - 2023-08-23 - Add a caveat about the current plan for the new ISA (requires 8-bit addressing) 2023-08-23 14:47:38 +01:00
n loewen 1d35f659ee readme - WIP - Change "Instruction Set" section to describe a new, revised architecture 2023-08-23 14:45:14 +01:00
n loewen c8d30e524a (notes) 2023-08-23 - Create dev note, thinking about re-arranging the ISA 2023-08-23 14:43:12 +01:00