Commit Graph

27 Commits

Author SHA1 Message Date
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 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 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 899c24be7f Bugfix (assembler): Make camelCase =constant names work in indirect expressions 2023-08-15 20:51:15 +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 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 6ebebe294e Add JSdoc annotatinos 2023-08-03 16:42:19 +01:00
n loewen e4cf2bb221 Apparently you're not supposed to give groupEnd() an argument... 2023-08-03 16:26:45 +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 6883adcd71 Fix/implement relocatable display memory 2023-08-02 15:28:18 +01:00
n loewen 5f3d4ea22f Update reference to logging.js 2023-08-02 14:06:24 +01:00
n loewen 9a3d9cffdc Turn print-memory.js into a more general-purpose 'printing utils' library -- export num2hex + rename function that prints a table of memory 2023-08-02 13:56:10 +01:00
n loewen 97ab0c6ee0 Add 'debug' flag when calling assembler 2023-08-02 13:54:04 +01:00
n loewen b81b6c8f5a Move config constants to a config file 2023-08-02 10:52:47 +01:00
n loewen 91ff26fdea Move display memory and add a pointer to display memory 2023-08-02 10:38:58 +01:00
n loewen c732f4408f Remove syntax reference - it's in the readme now 2023-08-02 10:27:06 +01:00
n loewen a46641e172 Move files out of 'sketch' directory 2023-08-01 15:46:09 +01:00