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
Riyyi
2a234fabfd
Emulator: Add opcode LDH or LD 0xff00
2 years ago
Riyyi
07345d0552
Emulator: Add some more opcodes
2 years ago
Riyyi
7689efeb44
Meta: Allow single line short case labels in .clang-format
2 years ago
Riyyi
6a44e48244
Doc: Add reference section to terminology.org, add links to mnemonics
2 years ago
Riyyi
4cc21a1c3a
Doc: Add document that describes the GameBoy terminology
2 years ago
Riyyi
ab5d9cbe69
Emulator: Fix loading 16-bit immediate value
...
The 8 lower bits are read first. The 8 higher bits come afterwards!
2 years ago
Riyyi
077ba70a16
Emulator: Read bootrom into memory space
2 years ago
Riyyi
5d89883d15
Emulator: Fix Emu memory writing
2 years ago
Riyyi
8768daabfe
Emulator: Remove bootrom as separate Emu member variable
2 years ago
Riyyi
e38e35ba81
Emulator: Add checks for undefined memory spaces
2 years ago
Riyyi
dab457b31f
Emulator: Be more const correct
2 years ago
Riyyi
46f3009124
Emulator: Add writing of ECHO RAM
2 years ago