summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-02-18igen: Add Makefile.mrb0nk500
2022-02-18igen: Fixed some compilation errors, and warnings.mrb0nk500
2022-02-18igen: Did some more work on it.mrb0nk500
2022-02-18igen: Start work on writing a preprocessor.mrb0nk500
2022-02-18igen: Start work on a better lexer.mrb0nk500
The other one I was about to do would've been harder to read, and understand. So, I've decided to write a more readable version.
2022-02-13igen: Start work on writing an instruction handlermrb0nk500
generator. This will make it easier in the long run to modify instructions, add new instructions, and move the opcode tables around.
2022-02-13sux.h: Add bitmask for b register addressing mode.mrb0nk500
2022-02-09sux.{c,h}, opcode.h, disasm.c: Add code to use the newmrb0nk500
instruction handler for reading the interrupt vectors.
2022-02-09sux.h: Fix some bugs in the interrupt bitmasks.mrb0nk500
2022-02-02sux.c, sux.h: Add code for using the new instructionmrb0nk500
handler.
2022-02-02io.c: Add include for `<time.h>`.mrb0nk500
This is used by the delay code in `get_key()`.
2022-02-02sux.h: Remove unneeded, and inaccurate cycle increments.mrb0nk500
2022-02-02io.c: Add code for delaying by some amount of time permrb0nk500
cycle.
2022-02-02sux.h, io.c: Added support for setting key timeout.mrb0nk500
2022-02-02sux.h: Added a `tick()` function.mrb0nk500
This function will increment the cycle count by one everytime it's called. Later on, this'll help simplify I/O emulation, as I've considered implementing read, write, and tick callbacks for I/O.
2022-02-02sux.h: Add third implementation of the `t()` macro.mrb0nk500
2022-02-02sux.h: Corrected some typos, and fixed some bugs inmrb0nk500
the bitmasks.
2022-01-29sux.h: Added bitmasks for updating the status flags.mrb0nk500
2022-01-29sux.h: Make `msb` non const.mrb0nk500
2022-01-24sux.h: Add bitmasks for writing registers.mrb0nk500
2022-01-24sux.h: Corrected typo in `reg2` initialization.mrb0nk500
2022-01-24sux.h: Add bitmasks for arithmetic operations.mrb0nk500
2022-01-24sux.h: Add bitmasks for register transfers.mrb0nk500
2022-01-24sux.h: Correct typos in bitmasks for registermrb0nk500
assignments, and for inverting `tmp`.
2022-01-21sux.h: Use conditional branch code for unconditionalmrb0nk500
jumps. This gets rid of some code duplication, and is also how `bra` was implemented anyway. So, might as well use it for unconditional jumps too.
2022-01-21sux.h: Add bitmask for relative addressing.mrb0nk500
2022-01-21sux.h: Add bitmasks for conditional branches.mrb0nk500
2022-01-21sux.h: Corrected typos in bitmasks that dealt withmrb0nk500
conditional branches.
2022-01-21opcode-bitmask-gen: Add relative addressing to themrb0nk500
list of addressing modes. oof, forgot about that until just now.
2022-01-21sux.h: Add bitmasks for setting/testing/clearing flags,mrb0nk500
and for bitwise operations.
2022-01-19sux.h: Add bitmask for unconditional jumps.mrb0nk500
2022-01-19sux.h: Add bitmasks for stack related operations.mrb0nk500
2022-01-19sux.h: Make `rs` non const.mrb0nk500
2022-01-19sux.h: Set program counter to interrupt vectors, whenmrb0nk500
an interrupt gets triggered. This is done in order to properly use the `read_addr()` function.
2022-01-19sux.h: Add bitmasks for writing a value to memory.mrb0nk500
2022-01-19sux.h: Corrected bitmask for `reg = &cpu->a;`.mrb0nk500
2022-01-19opcode-bitmask-gen: Fixed bug that occurred when maskingmrb0nk500
out unwanted bits when inverting the addressing mode bitmask.
2022-01-18opcode-bitmask-gen: Invert the addressing mode bitmaskmrb0nk500
after all bits have been found, if inverting is enabled.
2022-01-18Add support for getting an inverted addressing modemrb0nk500
bitmask in `opcode-bitmask-gen`.
2022-01-18Add bitmasks for operations that mogrify (overwrite)mrb0nk500
memory directly.
2022-01-18Add bitmask for instructions that use the processormrb0nk500
status register.
2022-01-18Remove `pbits` from instruction handler.mrb0nk500
2022-01-18Initialize `tmp`, and `tmp2` to `0`, rather than `-1`.mrb0nk500
2022-01-18Add the rest of the load opcodes to the other registermrb0nk500
bitmasks.
2022-01-18Add `LDA` opcodes to accumulator bitmask.mrb0nk500
2022-01-16Add bitmasks for the registers.mrb0nk500
2022-01-16Fix bug in print_mask() where it'd always use the firstmrb0nk500
instruction entry, rather than the entry of the supplied instruction id(s).
2022-01-14Consolidate reading addresses for non-indirect addressingmrb0nk500
modes into a single block.
2022-01-14Add bitmasks for indexing, and indirect addressing.mrb0nk500
2022-01-14Add bitmasks for reading data from memory, andmrb0nk500
immediate data.