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 |
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
|
5c41369ecd
|
Add sketches/notes re: subroutines and a call stack
|
2023-08-15 20:58:05 +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
|
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 |