Riyyi
81fe126068
Emulator: Add cartridge ROM bank loading
2 years ago
Riyyi
27abccf863
Emulator: Implement nop/rst opcodes
2 years ago
Riyyi
e7e1b58d01
Emulator: Add error message when reading/writing unmapped memory space
2 years ago
Riyyi
d33837f118
Emulator: Implement call opcodes
2 years ago
Riyyi
219520965c
Emulator: Implement Accumulator rotate opcodes
2 years ago
Riyyi
462fa09a00
Emulator: Implement AND opcodes
2 years ago
Riyyi
be3ee22086
Emulator: Add error message when reading unloaded cartridge header
2 years ago
Riyyi
c9e2bf9e94
Emulator: Implement 16-bit add opcodes
2 years ago
Riyyi
c81db1d3b5
Emulator: Rename decr16 => dec16 as there is only one variant
2 years ago
Riyyi
69dc545bf0
Emulator: Implement 8-bit decrement opcodes
2 years ago
Riyyi
802995b7d9
Emulator: Implement JR opcodes
2 years ago
Riyyi
eb0f4b6a5f
Doc: Add explanation of flag conditions
2 years ago
Riyyi
67f8bcfca9
Emulator: Implement INC and CP arithmetic opcodes
2 years ago
Riyyi
8e4dacca8a
Emulator: Add cli argument to specify bootrom path
2 years ago
Riyyi
dd2920b2a4
Emulator: Load cartridge header
2 years ago
Riyyi
2aa50d3532
Emulator: Put startup into a Loader class
2 years ago
Riyyi
589faceb9b
Doc: Clarify opcode mnemonic for 16-bit address registers
...
When you see a 16-bit register wrapped by parentheses, its referencing
the value at the address the register is pointing to rather than the
address itself.
2 years ago
Riyyi
e9b47d7d68
Emulator: Implement 16-bit DEC opcode
2 years ago
Riyyi
009938b126
Meta: Update ruc library
2 years ago
Riyyi
50e1672524
Emulator: Fix opcode logic in the ldi16 function
2 years ago
Riyyi
1b713f8ab0
Emulator: Make ldi8 function more compact
2 years ago
Riyyi
3fcc6823e8
Emulator: Add last LD opcode
2 years ago
Riyyi
efe798084f
Emulator: Add last 8-bit LD opcode variants
2 years ago
Riyyi
c630a7aab6
Emulator: Add more LD opcodes
2 years ago
Riyyi
8cc8f711e9
Emulator: Reorganize 16-bit and more 8-bit load opcode functions
2 years ago
Riyyi
4220c4fcd2
Emulator: Put opcode comment on the case label line
2 years ago
Riyyi
9f12eaa5ff
Emulator: Reorganize 8-bit load opcode functions
2 years ago
Riyyi
4c24ade250
Test: Add unit test for carry calculation
2 years ago
Riyyi
1cd6c428e3
Emulator: Update opcode commentary to decided terminology
2 years ago
Riyyi
002c992e0d
Emulator: Add FIXME to verify shared register necessity
2 years ago
Riyyi
cc120891ca
Emulator: Add isCarry() function to CPU
2 years ago
Riyyi
1f25f875e6
Doc: Make the half-carry flag explanation more clear
2 years ago
Riyyi
ab550f6d3e
Emulator: Fix offset bug in writeMemory() function
2 years ago
Riyyi
fe020c9374
Doc: Decide on opcode mnemonics
2 years ago
Riyyi
e2ca4359f2
Emulator: Add opcode $20/$0d/$2f
2 years ago
Riyyi
446a777e40
Emulator: Add Formatter for CPU class
2 years ago
Riyyi
1acb5af23e
Emulator: Add function to retrieve AF/PC/SP register
2 years ago
Riyyi
a20d756e7b
Meta: Update ruc library
2 years ago
Riyyi
80e15531f2
Emulator: Add bitmask for additional safety in read/write functions
2 years ago
Riyyi
16235b4663
Emulator: Add opcode $0a/$0e/$1a/$1e/$2a/$2e/$3a
2 years ago
Riyyi
af07357812
Emulator: Add opcode $a8/$af
2 years ago
Riyyi
7e54c733a8
Emulator: Add opcode $cd
2 years ago
Riyyi
5d2ee7cbc9
Emulator: Add opcodes $6/$16/$26/$36
2 years ago
Riyyi
2dc4da71e4
Emulator: Add mnemonic comments to opcodes
2 years ago
Riyyi
6bbc705651
Emulator: Make read/write function more generic
2 years ago
Riyyi
5035b26f8a
Emulator: Add opcodes $2/$12/$22/$32
2 years ago
Riyyi
afedc8a30b
Emulator: Some cleanup in the CPU class
2 years ago
Riyyi
c83d322d0c
Emulator: Make read/write function more generic
2 years ago
Riyyi
2c870e89c6
Emulator: Make memory spaces more accurate
2 years ago
Riyyi
e2db1598af
Emulator: Change opcode lookup table to regular switch case
2 years ago