Commit Graph

278 Commits

Author SHA1 Message Date
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
n loewen c590ca4882 Refactor: Rename CPU to cpu.js (from 'simulator.js') 2023-08-16 09:48:56 +01:00
n loewen d02c8241af Docs: Add dev notes for 2023-08-16 2023-08-16 09:39:48 +01:00
n loewen 5078efa1fe Linting: Remove FIXMEs that I'm unlikely to do any time soon 2023-08-16 09:39:03 +01:00
n loewen 4dda5881ef Refactor (assembler): Define label prefix in a constant, for easy re-configuration 2023-08-16 09:38:18 +01:00
n loewen 3fd862a55d ! Refactor (assembler): Chance constant prefix from '=' to '#'
'=' could be confusing when referencing a constant, since it looks like assignment

'#' is hopefully clearer (by analog to #hashtags)

Breaking change!
2023-08-16 09:35:37 +01:00
n loewen 9fefa0916a Feature (assembler): Allow assigning `*ADDR` to a constant 2023-08-16 09:29:27 +01:00
n loewen 6a3c70be37 Docs: Mark unfinished todos with 'incomplete' checkboxes (in Obsidian Tasks style) so that they don't show up when searching for todos
(See https://publish.obsidian.md/tasks/Getting+Started/Statuses)
2023-08-16 09:09:44 +01:00
n loewen 8f9f50e28c Update sketch to suggest use of `*ADDR` 2023-08-15 21:31:35 +01:00
n loewen 4e01a0943c Feature: Add `*ADDR` assembly operation (`*ADDR`, used as an operand, is replaced with the memory address where the current line will be stored after assembly) 2023-08-15 21:29:28 +01:00
n loewen 190592813d Merge branch 'main' into 5x5-display 2023-08-15 20:58:38 +01:00
n loewen 5c41369ecd Add sketches/notes re: subroutines and a call stack 2023-08-15 20:58:05 +01:00
n loewen 2cceaa71f2 Refactor: Rewrite fill-display:
- make more use of constants
- improve comments
2023-08-15 20:53:51 +01:00
n loewen 899c24be7f Bugfix (assembler): Make camelCase =constant names work in indirect expressions 2023-08-15 20:51:15 +01:00
n loewen 88e36eccce Docs: Update to-dos in dev note 2023-08-15 2023-08-15 20:17:02 +01:00
n loewen 59861ecdeb Docs: Update to-do list 2023-08-15 20:15:35 +01:00
n loewen 2a7d855b35 Docs: Add an abandoned interval-timer-based refactor of the main CPU loop to dev notes 2023-08-15 20:15:35 +01:00
n loewen 934f4c0f3f Docs: Update to-do list 2023-08-15 17:02:02 +01:00
n loewen 1baa0ded32 Docs: Add an abandoned interval-timer-based refactor of the main CPU loop to dev notes 2023-08-15 17:01:51 +01:00
n loewen c415056194 ! Feature: Change to a 5x5 display [breaking change] 2023-08-15 16:59:12 +01:00
n loewen af12704c36 Bugfix (simulator): Use the correct flag abbreviations in debug logs 2023-08-15 16:56:22 +01:00
n loewen 4a2f3724d5 Bugfix (assembler): Add a quick hack to make camelCase =constant names less likely to fail 2023-08-15 16:55:08 +01:00
n loewen 9414d19fad Bugfix (assembler): Split opcodes from operands using a regular expression, so that tabs don't break it 2023-08-15 16:52:57 +01:00
n loewen 79ad1678f4 Feature (simulator): Add 'simulation halting - reached cycle limit' notice 2023-08-15 16:05:31 +01:00
n loewen 245da348ea Docs: Add dev notes on memory bank-switching 2023-08-15 15:38:09 +01:00
n loewen 6754725c9b Docs: Add dev notes for 2023-08-15 2023-08-15 15:28:42 +01:00
n loewen 075c4c99ad Docs: Update to-do list 2023-08-15 15:24:43 +01:00
n loewen 3af5d66626 Feature (simulator): Implement Negative, Zero, and Overflow flags 2023-08-15 15:22:21 +01:00
n loewen b1dc2a7c7e Feature: WIP: Replace CHP and CFC instructions with FHP and FTG (carry flag is implemented, other flags are not) 2023-08-15 12:04:48 +01:00
n loewen 2d38e28957 Bugfix (assembler): Put the pointer to display memory in the right place
Refactor: Put the value of the pointer to display memory in machine.config.js
2023-08-15 10:55:01 +01:00
n loewen 3e753f6965 Formatting: Rename 'argument' to 'operand' (except when it is shortened to 'arg', which is clearer) 2023-08-15 10:49:44 +01:00
n loewen 50741ba038 Formatting: Update dev notes so that Todo Tree VS Code plugin can find todo entries 2023-08-15 10:34:04 +01:00
n loewen 549e0dc73c Update todo list to add turtle graphics interpreter idea 2023-08-10 11:46:12 +01:00
n loewen e1bc103dd1 Update todo list to point to dev notes re: keypad 2023-08-10 11:45:27 +01:00
n loewen 24a3bc60da Name it "Cardiograph"! 2023-08-10 11:43:11 +01:00
n loewen f915b57a2a Move brainstorming about possible features from readme to dev note 2023-08-10 11:42:36 +01:00
n loewen be00db022c New dev notes 2023-08-10 11:34:56 +01:00
n loewen 7f4d22a927 Add TODO re: Program Counter initialization 2023-08-10 11:34:37 +01:00
n loewen bf62ada870 Bugfix: force newlines before commands in readme 2023-08-10 10:08:27 +01:00
n loewen d92a501085 Remove npm scripts: just run it using ./ 2023-08-10 10:07:10 +01:00
n loewen a78c1b9d14 Feature: assembler output in binary 2023-08-10 10:04:18 +01:00
n loewen 1f7e87e705 Add bugfix to TODO list 2023-08-10 10:03:48 +01:00
n loewen e004af18f4 Add entries to bibliography 2023-08-10 10:02:52 +01:00
n loewen 66a0530942 Add chip-8 research to the todo list 2023-08-09 14:05:10 +01:00
n loewen 82f622e338 Add micro:bit as a reference 2023-08-09 14:03:28 +01:00
n loewen 51ec0219af Add new dev notes 2023-08-09 14:03:20 +01:00
n loewen bc5cf5338b Add todo re: run-script interface 2023-08-07 11:05:36 +01:00
n loewen cb492fa9af Add note on dependencies + how to run without using npm scripts (using shebang) 2023-08-07 11:03:19 +01:00
n loewen f69e4533a1 Add shebangs to run-scripts 2023-08-07 11:00:04 +01:00