Commit graph

  • 648dd180ed CIC 👌 Nabile Rahmani 2017-10-08 00:38:30 +02:00
  • 933423373d Fixed the high-level emulation of the PIF ROM. The previous source wasn't accurate enough, so I stepped through the real PIF ROM and recorded all memory writes and final CPU register values, with the intent of restoring the machine state. This code should be revisited in case memory reads do affect the system, or if the CPU emulation at the time of this commit is inaccurate. Nabile Rahmani 2017-10-06 10:59:43 +02:00
  • 064cd300ad Refactored PIF emulation and fixed endianness. Nabile Rahmani 2017-10-06 04:32:21 +02:00
  • f3f5a08525 Refactoring. Nabile Rahmani 2017-10-06 02:56:34 +02:00
  • 13f3b8ef1d More ops. Nabile Rahmani 2017-10-04 23:27:30 +02:00
  • 96d719a97b Line endings. Nabile Rahmani 2017-10-04 21:56:15 +02:00
  • 05e7efcf42 Localised IO. Nabile Rahmani 2017-10-04 19:35:45 +02:00
  • 33f0c931dc Moved memory mapper into CP0. Nabile Rahmani 2017-10-04 12:29:44 +02:00
  • 0d9897794e Refactored bits. Nabile Rahmani 2017-10-04 11:39:43 +02:00
  • 6ec30258d3 Added display processor. Nabile Rahmani 2017-10-04 10:54:40 +02:00
  • 6f563a5efe Cartridge stuff. Nabile Rahmani 2017-10-03 19:49:25 +02:00
  • bde68d198a Refactored memory mapping. Nabile Rahmani 2017-10-03 16:34:26 +02:00
  • 9d61077283 Fixed wrong sign extend and wrting to PIF RAM. Nabile Rahmani 2017-10-03 07:47:55 +02:00
  • 409c4a4706 Moved stuff around. Nabile Rahmani 2017-10-03 05:03:09 +02:00
  • ce3e53ec0d Refactoring: - Reuse local var when mapping memory. - Give the memory maps to the CPU instead of the console. Nabile Rahmani 2017-10-03 02:14:41 +02:00
  • 90c49a624e - Refactoring. - Added some more fields. Nabile Rahmani 2017-10-03 01:39:01 +02:00
  • 9aa6aaa243 Merge branch 'ci' of Nabile/N64-Emu into master Nabile 2017-09-27 00:48:11 +02:00
  • c61bc65d47 Add '.ci-build.sh' Nabile 2017-09-27 00:46:22 +02:00
  • 3291716585 Add 'README.md' Nabile 2017-09-27 00:36:20 +02:00
  • fd4c7dd293 Special ops. Nabile Rahmani 2017-09-11 18:01:37 +02:00
  • 5163cd6a17 Write endianness. Nabile Rahmani 2017-09-11 18:00:55 +02:00
  • 9f204adf31 Fixed delay slot. Nabile Rahmani 2017-09-10 15:55:10 +02:00
  • a4b641e75b - Added delay slot for properly running instructions. - Reuse branching code. - Added Instruction.Size constant for incrementing the program counter. Nabile Rahmani 2017-09-10 14:40:58 +02:00
  • 10c1e6f1c0 Read words from the RSP's instruction memory. Nabile Rahmani 2017-09-09 15:01:49 +02:00
  • 6717a40f67 Special op codes. Nabile Rahmani 2017-09-09 12:14:30 +02:00
  • 0a5687eb9e Moved the PIF ROM. Nabile Rahmani 2017-09-08 20:17:08 +02:00
  • 05b4e3ad2e Renamed RSP. Nabile Rahmani 2017-09-08 16:15:04 +02:00
  • 932611b220 Read word only if the branch condition succeeds. Nabile Rahmani 2017-09-08 15:51:16 +02:00
  • 261a86236d Refactored MappingEntry. Nabile Rahmani 2017-09-08 15:25:06 +02:00
  • e0bce20834 Add some pieces and fix PIF code. Nabile Rahmani 2017-09-06 19:25:28 +02:00
  • 749fcf008a Fixed wrong register sizes. Nabile Rahmani 2017-09-06 05:49:06 +02:00
  • 4546f40f18 Added new interfaces, refactored memory mapping and added an opcode. Nabile Rahmani 2017-09-05 23:40:34 +02:00
  • 7f660870e2 Reuse branching code. Nabile Rahmani 2017-09-05 17:12:41 +02:00
  • bf1fe1baaa UIntPtr isn't a good idea. Nabile Rahmani 2017-09-05 09:31:08 +02:00
  • 55d5ebc82b ADD op. Nabile Rahmani 2017-09-05 09:15:06 +02:00
  • 59ba1746ae Sign extend the correct bit. This definitely needs to be put into a method. Nabile Rahmani 2017-09-05 08:53:48 +02:00
  • 7c6040773f Forgot the bit shifting in BNE op. Nabile Rahmani 2017-09-04 22:08:04 +02:00
  • c593974b30 Simplify code. Nabile Rahmani 2017-09-03 11:39:07 +02:00
  • 4a131ee561 Do not check cartridges yet. Nabile Rahmani 2017-09-03 10:33:00 +02:00
  • 610bcc4585 Renamed CP0. Nabile Rahmani 2017-09-03 10:18:00 +02:00
  • 157dab3d48 Name nested types properly. Nabile Rahmani 2017-09-03 10:00:32 +02:00
  • df71e90733 Unify memory boundary checking. Nabile Rahmani 2017-09-03 09:44:12 +02:00
  • ff7e134751 Directory structure. Nabile Rahmani 2017-09-03 09:33:27 +02:00
  • d9e5a4d058 Inline lambda. Nabile Rahmani 2017-09-03 09:24:29 +02:00
  • 145b6b5121 Moved helper methods. Nabile Rahmani 2017-09-03 09:22:12 +02:00
  • 38c07929f4 * Nintendo64.cs: Added a physical address. Nabile Rahmani 2017-09-02 13:46:14 +02:00
  • ccc19fa1fd Display hex in uppercase. Nabile Rahmani 2017-09-02 12:47:58 +02:00
  • 2a3973b8bf Run the delayed instruction in the branch. Nabile Rahmani 2017-09-02 11:47:27 +02:00
  • 27bf77fa29 Fixed order of PC increment. Nabile Rahmani 2017-09-02 10:56:49 +02:00
  • 65af1897a6 Added PIF ROM and fixed BEQL not branching properly. Nabile Rahmani 2017-09-02 08:04:21 +02:00
  • 3618d91d74 Remove implicit MSBuild arguments. Nabile Rahmani 2017-09-01 15:30:13 +02:00
  • 2e47146719 You weren't supposed to be here. Nabile Rahmani 2017-09-01 15:27:09 +02:00
  • 90fd9298ec Dictionary instead of a switch statement for operations. Nabile Rahmani 2017-09-01 13:33:33 +02:00
  • 7a6e8c63c3 ADDIU opcode. Nabile Rahmani 2017-09-01 12:41:54 +02:00
  • 152e47b149 Added BEQL opcode and arranged memory map ordering. Nabile Rahmani 2017-09-01 12:36:05 +02:00
  • d9e3369043 ANDI opcode. Nabile Rahmani 2017-08-31 19:45:52 +02:00
  • f8db36688f More instructions, hardware and memory stuff. Nabile Rahmani 2017-08-31 19:23:56 +02:00
  • 0a89d8e025 LW instruction. Nabile Rahmani 2017-08-31 16:44:08 +02:00
  • 486a132763 Completed instruction format. Nabile Rahmani 2017-08-31 08:44:41 +02:00
  • 80f7b46b25 Instruction structure and one more opcode. Nabile Rahmani 2017-08-31 03:21:58 +02:00
  • e3cb52fb28 Rename enum value. Nabile Rahmani 2017-08-30 13:40:23 +02:00
  • eb629661c8 Separate stepping from running instructions. Nabile Rahmani 2017-08-30 13:36:20 +02:00
  • 7a4033750f Diagnostic field. Nabile Rahmani 2017-08-30 12:02:59 +02:00
  • 48d7dce06d Renamed methods. Nabile Rahmani 2017-08-30 11:22:10 +02:00
  • d1fc3a3313 More registers and fixed bit operations. Nabile Rahmani 2017-08-30 08:52:50 +02:00
  • 81dceca8c2 Set flag values in CU enum. Nabile Rahmani 2017-08-30 06:58:56 +02:00
  • 719a60533d Refactored registers. Nabile Rahmani 2017-08-30 06:44:47 +02:00
  • 306e47d934 More opcodes and registers. Nabile Rahmani 2017-08-30 05:54:46 +02:00
  • 0539b10aa7 Endianness. Nabile Rahmani 2017-08-30 02:27:41 +02:00
  • fa7963a6dd Add .gitlab-ci.yml Nabile Rahmani 2017-08-29 13:44:55 +00:00
  • 70a8260e0c Refactoring, memory mapping, opcodes. Nabile Rahmani 2017-08-29 15:40:18 +02:00
  • d071b06d38 Renamed CP0 and set base RAM amount. Nabile Rahmani 2017-08-28 10:20:36 +02:00
  • e5b317a930 Remove local fake unused variable warning. Nabile Rahmani 2017-08-28 09:09:21 +02:00
  • 76f9bb5f49 Added some hardware and documentation. Nabile Rahmani 2017-08-28 08:53:48 +02:00
  • 5cb6fe113e Initial commit. Nabile Rahmani 2017-08-23 08:27:36 +02:00