Commit Graph
152 Commits
Author SHA1 Message Date
Riyyi d53f4759e3 Emulator: Implement SWAP opcodes 2022-08-27 12:43:01 +02:00
Riyyi 67698528e1 Emulator: Implement SET opcodes 2022-08-27 02:17:37 +02:00
Riyyi e35aa06471 Emulator: Implement RES opcodes 2022-08-27 02:15:18 +02:00
Riyyi 6ada7261e7 Emulator: Add .cpp file for prefix $cb opcodes, implement BIT opcodes 2022-08-27 02:15:18 +02:00
Riyyi 81fe126068 Emulator: Add cartridge ROM bank loading 2022-08-26 07:22:44 +02:00
Riyyi 27abccf863 Emulator: Implement nop/rst opcodes 2022-08-26 07:14:32 +02:00
Riyyi e7e1b58d01 Emulator: Add error message when reading/writing unmapped memory space 2022-08-26 06:11:57 +02:00
Riyyi d33837f118 Emulator: Implement call opcodes 2022-08-26 05:39:09 +02:00
Riyyi 219520965c Emulator: Implement Accumulator rotate opcodes 2022-08-25 19:53:40 +02:00
Riyyi 462fa09a00 Emulator: Implement AND opcodes 2022-08-25 15:11:03 +02:00
Riyyi be3ee22086 Emulator: Add error message when reading unloaded cartridge header 2022-08-25 14:56:33 +02:00
Riyyi c9e2bf9e94 Emulator: Implement 16-bit add opcodes 2022-08-25 14:56:33 +02:00
Riyyi c81db1d3b5 Emulator: Rename decr16 => dec16 as there is only one variant 2022-08-25 14:55:58 +02:00
Riyyi 69dc545bf0 Emulator: Implement 8-bit decrement opcodes 2022-08-25 14:55:58 +02:00
Riyyi 802995b7d9 Emulator: Implement JR opcodes 2022-08-25 14:55:58 +02:00
Riyyi 67f8bcfca9 Emulator: Implement INC and CP arithmetic opcodes 2022-08-25 02:02:57 +02:00
Riyyi 8e4dacca8a Emulator: Add cli argument to specify bootrom path 2022-08-25 00:16:32 +02:00
Riyyi dd2920b2a4 Emulator: Load cartridge header 2022-08-25 00:10:57 +02:00
Riyyi 2aa50d3532 Emulator: Put startup into a Loader class 2022-08-24 23:47:36 +02:00
Riyyi e9b47d7d68 Emulator: Implement 16-bit DEC opcode 2022-08-24 22:53:35 +02:00
Riyyi 50e1672524 Emulator: Fix opcode logic in the ldi16 function 2022-08-24 21:21:12 +02:00
Riyyi 1b713f8ab0 Emulator: Make ldi8 function more compact 2022-08-24 21:14:59 +02:00
Riyyi 3fcc6823e8 Emulator: Add last LD opcode 2022-08-24 21:14:59 +02:00
Riyyi efe798084f Emulator: Add last 8-bit LD opcode variants 2022-08-24 21:14:59 +02:00
Riyyi c630a7aab6 Emulator: Add more LD opcodes 2022-08-24 20:52:47 +02:00
Riyyi 8cc8f711e9 Emulator: Reorganize 16-bit and more 8-bit load opcode functions 2022-08-24 20:07:10 +02:00
Riyyi 4220c4fcd2 Emulator: Put opcode comment on the case label line 2022-08-24 19:44:16 +02:00
Riyyi 9f12eaa5ff Emulator: Reorganize 8-bit load opcode functions 2022-08-24 19:44:09 +02:00
Riyyi 4c24ade250 Test: Add unit test for carry calculation 2022-08-24 18:57:00 +02:00
Riyyi 1cd6c428e3 Emulator: Update opcode commentary to decided terminology 2022-08-24 18:56:57 +02:00
Riyyi 002c992e0d Emulator: Add FIXME to verify shared register necessity 2022-08-24 18:55:59 +02:00
Riyyi cc120891ca Emulator: Add isCarry() function to CPU 2022-08-24 18:55:47 +02:00
Riyyi ab550f6d3e Emulator: Fix offset bug in writeMemory() function 2022-08-23 23:08:54 +02:00
Riyyi e2ca4359f2 Emulator: Add opcode $20/$0d/$2f 2022-08-23 20:49:46 +02:00
Riyyi 446a777e40 Emulator: Add Formatter for CPU class 2022-08-23 17:03:52 +02:00
Riyyi 1acb5af23e Emulator: Add function to retrieve AF/PC/SP register 2022-08-23 16:55:35 +02:00
Riyyi 80e15531f2 Emulator: Add bitmask for additional safety in read/write functions 2022-08-23 13:47:02 +02:00
Riyyi 16235b4663 Emulator: Add opcode $0a/$0e/$1a/$1e/$2a/$2e/$3a 2022-08-23 13:38:08 +02:00
Riyyi af07357812 Emulator: Add opcode $a8/$af 2022-08-23 01:28:16 +02:00
Riyyi 7e54c733a8 Emulator: Add opcode $cd 2022-08-22 23:24:36 +02:00
Riyyi 5d2ee7cbc9 Emulator: Add opcodes $6/$16/$26/$36 2022-08-22 22:53:52 +02:00
Riyyi 2dc4da71e4 Emulator: Add mnemonic comments to opcodes 2022-08-22 22:53:02 +02:00
Riyyi 6bbc705651 Emulator: Make read/write function more generic 2022-08-22 22:47:32 +02:00
Riyyi 5035b26f8a Emulator: Add opcodes $2/$12/$22/$32 2022-08-22 21:49:24 +02:00
Riyyi afedc8a30b Emulator: Some cleanup in the CPU class 2022-08-22 21:49:24 +02:00
Riyyi c83d322d0c Emulator: Make read/write function more generic 2022-08-22 21:49:24 +02:00
Riyyi 2c870e89c6 Emulator: Make memory spaces more accurate 2022-08-22 13:29:54 +02:00
Riyyi e2db1598af Emulator: Change opcode lookup table to regular switch case 2022-08-22 13:25:59 +02:00
Riyyi 2a234fabfd Emulator: Add opcode LDH or LD 0xff00 2022-08-22 13:25:59 +02:00
Riyyi 07345d0552 Emulator: Add some more opcodes 2022-08-22 13:10:30 +02:00