Commit Graph

21 Commits

Author SHA1 Message Date
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 86d0b57c7a cpu - Fix: Make sure that the 'reached cycle limit' message displays in all output modes 2023-08-26 14:48:37 +01:00
n loewen b290eb1568 cpu - Refactor CPU flags -- stop using a bitmask to make them easier to handle 2023-08-26 14:34:02 +01:00
n loewen ddab8f42c4 cpu / display - Fix/Refactor: Fix CPU status display so that it doesn't crash when JMPing to an address that isn't in the assembly source. Refactor CPU status display to streamline. 2023-08-26 14:29:43 +01:00
n loewen edad9ecbb8 cpu - Fix: Quit the process when the CPU halts 2023-08-26 13:26:26 +01:00
n loewen 41632b0a0f cpu - Change debug printout formatting 2023-08-26 13:25:09 +01:00
n loewen d0b620f1ad cpu - Fix incorrect flag numbering 2023-08-26 13:24:49 +01:00
n loewen 7cfad439f8 run-cpu / cpu - Change command-line interface to use more standard flags (--debug --step --pretty) 2023-08-26 12:57:27 +01:00
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