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
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