Commit Graph

64 Commits

Author SHA1 Message Date
n loewen 7b143ab000 (docs) readme - Update info on numeric types in assembly 2023-08-29 21:28:01 -04:00
n loewen 5671314b10 (docs) readme - Add intro + re-arrange, to clarify relationship between Cardiograph and its constituent parts 2023-08-29 13:20:45 -04:00
n loewen a6e9966797 (docs) Readme - Update info on how to run the assembler and simulator 2023-08-29 13:08:48 -04:00
n loewen 8a38d6f831 (docs) readme - Update dependency list 2023-08-29 13:05:04 -04:00
n loewen 29f25bda7a config / cpu - Add feature: Map the arrow keys to hex keypad, in addition to the larger Qwerty set 2023-08-26 16:44:30 -04: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 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 1d35f659ee readme - WIP - Change "Instruction Set" section to describe a new, revised architecture 2023-08-23 14:45:14 +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 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 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 742303e06c Docs: Update dependency list 2023-08-16 16:37:41 +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 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 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 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 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 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 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 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 cb492fa9af Add note on dependencies + how to run without using npm scripts (using shebang) 2023-08-07 11:03:19 +01:00
n loewen a758d92f10 Move To Do list to its own file; Update To Do list 2023-08-07 10:48:41 +01:00
n loewen 3597ad1b01 Install jsdoc and jsdoc-to-markdown 2023-08-03 16:51:42 +01:00
n loewen ea26f5d77b Update `logMemory` to add an option to log just a specific range 2023-08-03 16:24:18 +01:00
n loewen 5fa20c3963 Assembler: always add an END at the end of the output 2023-08-03 15:53:59 +01:00
n loewen d3134aa9e6 Add constants to assembler 2023-08-03 15:50:37 +01:00
n loewen a0892109a6 Implement NOP 2023-08-03 15:05:50 +01:00
n loewen 18f0a12ef5 Organize todo list 2023-08-03 14:54:06 +01:00
n loewen 90705de84c Add items to todo list 2023-08-03 08:37:53 +01:00
n loewen fdd63177f7 Move display memory back to $00 to make programming easy 2023-08-03 08:34:58 +01:00
n loewen 0114df00c9 Add todo items 2023-08-02 15:32:45 +01:00
n loewen 18ccc4d2df Update "how to run it" info 2023-08-02 15:12:13 +01:00
n loewen 2886161e7b Add todo item 2023-08-02 15:11:19 +01:00
n loewen 3e67b86849 Update todo list 2023-08-02 15:10:16 +01:00
n loewen 44f53d2f7f Change capitalization of todo heading + bullet points 2023-08-02 12:09:26 +01:00
n loewen edf873de12 Add info on how to run the assembler/simulator 2023-08-02 12:08:32 +01:00
n loewen 7480bd6a70 update todo list 2023-08-02 12:00:26 +01:00
n loewen 6154b0505b Update memory map 2023-08-02 11:27:49 +01:00
n loewen e56de3513a Update TODO list 2023-08-02 11:26:55 +01:00
n loewen 996d628406 Move note on instruction length to readme, from simulator.js 2023-08-02 11:26:10 +01:00
n loewen 342b1b07d4 Add some new TODOs 2023-08-02 10:22:42 +01:00
n loewen eebec540bd Tidy up memory map 2023-08-02 10:19:57 +01:00