Commit Graph

276 Commits

Author SHA1 Message Date
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
n loewen 5e1cf9e413 assembler - Change label for program counter from `*addr` to `*` 2023-08-21 12:30:31 +01:00
n loewen 9fa1bf5392 (docs) readme - Change keypad reference to a side-by-side layout 2023-08-21 10:42:36 +01:00
n loewen c5c64e5cd5 (docs) readme - Create a new 'peripherals' section (split up 'memory map/peripherals' section) 2023-08-21 10:37:51 +01:00
n loewen f421abaaf7 (notes) todos/dev note - Update todo list, copying items from today's dev note 2023-08-21 10:34:31 +01:00
n loewen 08fe395a5f (note) 2023-08-21 - Create dev note 2023-08-21 10:29:37 +01:00
n loewen c53bc14c36 (notes) 2023-08-17 - Create note / List todos + program ideas 2023-08-17 11:34:56 +01:00
n loewen 37578f038d (notes) 2023-08-16 - Update todo list to indicate that an item will be moved to the next note 2023-08-17 11:33:56 +01:00
n loewen 2f90bbd453 Docs: Add todo re: initial IP location 2023-08-16 16:40:46 +01:00
n loewen 742303e06c Docs: Update dependency list 2023-08-16 16:37:41 +01:00
n loewen ffe96962a4 Docs: Update todos re: invoking the cpu/assembler; move notes on this from `run-cpu.js` to `todo.md` 2023-08-16 16:36:01 +01:00
n loewen 12f8e39c54 Docs: Update todo list 2023-08-16 16:28:14 +01:00
n loewen 700702c4ba Docs: Update today's dev note 2023-08-16 16:28:08 +01:00
n loewen 501910b17f Feature: Keypad simulation!
Refactor: Tidy up constants use for machine configuration
2023-08-16 16:23:59 +01:00
n loewen b8265409cf Fix: Load CPU with 256 bytes of memory, regardless of the length of the data provided
(This mostly reverts the previous commit -- better to have short assembler output, and memory-padding/validation on the CPU side)
2023-08-16 15:55:04 +01:00
n loewen 6e897b7f74 Fix (Assembler): Pad machine code output to a full $FF bytes 2023-08-16 15:38:59 +01:00
n loewen 5fba7daf32 Docs: Rename computer "Cardiograph _Mark_ I" 2023-08-16 14:06:41 +01:00
n loewen dd0fdd3b06 Feature (CPU): Implement a simple single-stepping mode 2023-08-16 13:56:23 +01:00
n loewen 344257a322 Refactor: Rename `framerate` to `clockSpeed` and add jsdoc annotation 2023-08-16 12:58:51 +01:00
n loewen 1d88d0b5b6 Refactor: Use `setInterval` to clock CPU, in order to remove unnecessary use of async/await 2023-08-16 12:56:30 +01:00
n loewen aa6cbc3e6d Refactor (CPU): Move more logic into `stepCPU()` in preparation for implementing single-stepping 2023-08-16 12:50:00 +01:00
n loewen 3ac1276bfe Docs: Update today's dev note 2023-08-16 12:48:57 +01:00
n loewen 8027f4d961 Docs: update today's dev note 2023-08-16 09:49:10 +01:00