Commit Graph

13 Commits

Author SHA1 Message Date
n loewen 897749b108 cpu - Add feature: Quit after cycle limit reached 2023-08-24 16:35:21 +01:00
n loewen d30050a292 cpu - Add feature: 'Invalid opcode' error message 2023-08-24 16:31:11 +01:00
n loewen dbe630eb5e cpu - Fix debugging output on JMP / Add previous IP to state + add functions that abstract setting and incrementing the IP 2023-08-24 16:30:28 +01:00
n loewen 51bc13fe5b cpu - Change END to increment IP, to make debugging printout work when the only line in the program is an END 2023-08-24 15:13:49 +01:00
n loewen 1dc535a71e assembler/cpu - Add feature: Pass debug info from assembler to cpu, so that cpu can print source line 2023-08-24 13:16:01 +01:00
n loewen 5f29c7c3eb cpu - Change flags from NZOC to ONZC 2023-08-23 15:30:06 +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 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 c590ca4882 Refactor: Rename CPU to cpu.js (from 'simulator.js') 2023-08-16 09:48:56 +01:00