Commit Graph

348 Commits

Author SHA1 Message Date
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
n loewen c0f11f2b03 assembler - Finish WIP - Refactor extensively / Add a 'set the initial address to assemble at' feature / Add a feature that collects debug info that could be passed as output when running in debug mode 2023-08-22 13:03:52 +01:00
n loewen a766fd867c assembler - WIP - Continue refactoring everything, in support of 'set the initial IP to assemble to' feature, etc. (Everything is probably broken... but it's much closer) 2023-08-21 19:44:16 +01:00
n loewen 12273a6389 assembler - WIP - Continue refactoring everything, in support of 'set the initial IP to assemble to' feature, etc. (Everything is probably broken... but it's much closer) 2023-08-21 19:37:32 +01:00
n loewen f0e8664ab8 assembler - WIP - Continue refactoring everything, in support of 'set the initial IP to assemble to' feature, etc. (Everything is broken...) 2023-08-21 18:34:15 +01:00
n loewen 4481fc10d4 assembler - WIP - Start adding a 'set the initial IP to assembler to' feature + Start adding a 'return debug data as well as machine code' feature 2023-08-21 16:08:58 +01:00
n loewen a52336db07 (docs) readme - Fix keypad section, updating keypad address and removing pointer-to-keypad 2023-08-21 14:47:56 +01:00
n loewen 00ddf2c8fe (docs) todos - Add entry about re-ordering flags register 2023-08-21 14:46:43 +01:00
n loewen d48ead819f (docs) readme - Change memory map + Add section on CPU start-up
Memory map:
- Change to a 5x5 display
- Remove pointer to keypad (I can't see why you would want to relocate it)
- Add placeholder for bank-switching flag
- Remove `$30` as initial value of IP - that's covered (differently) by the new CPU start-up section
2023-08-21 14:46:25 +01:00
n loewen 97f1d02912 tests - Fix fill-display program: use new assembly syntax 2023-08-21 14:40:58 +01:00
n loewen eaa0597552 Merge branch '5x5-display' 2023-08-21 14:38:02 +01:00
n loewen efab770460 (notes) 2023-08-21 - Add section brainstorming a revised memory-map + initial Instruction Pointer 2023-08-21 14:34:20 +01:00
n loewen 209a03f281 (notes) todos - Remove JSDoc entry 2023-08-21 14:11:49 +01:00
n loewen 286875135f (notes) - Update to remove todo entry for previous commit 2023-08-21 12:31:20 +01:00