Commit Graph
159 Commits
Author SHA1 Message Date
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 1f25f875e6 Doc: Make the half-carry flag explanation more clear 2022-08-24 15:27:08 +02:00
Riyyi ab550f6d3e Emulator: Fix offset bug in writeMemory() function 2022-08-23 23:08:54 +02:00
Riyyi fe020c9374 Doc: Decide on opcode mnemonics 2022-08-23 23:08:21 +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 a20d756e7b Meta: Update ruc library 2022-08-23 16:55:31 +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
Riyyi 7689efeb44 Meta: Allow single line short case labels in .clang-format 2022-08-22 12:49:44 +02:00
Riyyi 6a44e48244 Doc: Add reference section to terminology.org, add links to mnemonics 2022-08-22 11:47:55 +02:00
Riyyi 4cc21a1c3a Doc: Add document that describes the GameBoy terminology 2022-08-22 11:33:09 +02:00
Riyyi ab5d9cbe69 Emulator: Fix loading 16-bit immediate value
The 8 lower bits are read first. The 8 higher bits come afterwards!
2022-08-21 23:41:26 +02:00
Riyyi 077ba70a16 Emulator: Read bootrom into memory space 2022-08-21 23:40:40 +02:00
Riyyi 5d89883d15 Emulator: Fix Emu memory writing 2022-08-21 22:17:58 +02:00
Riyyi 8768daabfe Emulator: Remove bootrom as separate Emu member variable 2022-08-21 21:13:16 +02:00
Riyyi e38e35ba81 Emulator: Add checks for undefined memory spaces 2022-08-21 20:59:14 +02:00
Riyyi dab457b31f Emulator: Be more const correct 2022-08-21 20:07:43 +02:00
Riyyi 46f3009124 Emulator: Add writing of ECHO RAM 2022-08-21 20:05:10 +02:00
Riyyi 65c3797030 Emulator: Fix memory end address for bootrom segment 1 2022-08-21 19:57:29 +02:00
Riyyi b6e075108e Emulator: Update calls for adding memory spaces 2022-08-21 19:55:18 +02:00
Riyyi 42e54f1344 Emulator: Add support for memory banks to memory spaces 2022-08-21 19:54:02 +02:00
Riyyi 687990edca Emulator: Add more opcodes, convenience functions 2022-08-20 20:24:59 +02:00
Riyyi aa15d9cd3f Doc: Reorder readme reference sections 2022-08-20 12:31:43 +02:00
Riyyi 379ff3babf Doc: Add bootrom section to readme 2022-08-20 12:27:43 +02:00
Riyyi cee8ffabb3 Emulator: Make memory spaces more accurate 2022-08-20 12:27:05 +02:00
Riyyi f6478da541 Emulator: Add copyright header to main, Emu 2022-08-20 11:06:51 +02:00