Nabile Rahmani
648dd180ed
CIC 👌
2017-10-08 00:38:30 +02:00
Nabile Rahmani
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.
2017-10-06 10:59:43 +02:00
Nabile Rahmani
064cd300ad
Refactored PIF emulation and fixed endianness.
2017-10-06 04:32:21 +02:00
Nabile Rahmani
f3f5a08525
Refactoring.
2017-10-06 02:56:34 +02:00
Nabile Rahmani
13f3b8ef1d
More ops.
2017-10-05 05:48:50 +02:00
Nabile Rahmani
96d719a97b
Line endings.
2017-10-04 21:56:15 +02:00
Nabile Rahmani
05e7efcf42
Localised IO.
2017-10-04 19:49:37 +02:00
Nabile Rahmani
33f0c931dc
Moved memory mapper into CP0.
2017-10-04 12:29:44 +02:00
Nabile Rahmani
0d9897794e
Refactored bits.
2017-10-04 11:50:09 +02:00
Nabile Rahmani
6ec30258d3
Added display processor.
2017-10-04 10:54:40 +02:00
Nabile Rahmani
6f563a5efe
Cartridge stuff.
2017-10-03 19:49:25 +02:00
Nabile Rahmani
bde68d198a
Refactored memory mapping.
2017-10-03 16:34:26 +02:00
Nabile Rahmani
9d61077283
Fixed wrong sign extend and wrting to PIF RAM.
2017-10-03 07:47:55 +02:00
Nabile Rahmani
409c4a4706
Moved stuff around.
2017-10-03 05:03:09 +02:00
Nabile Rahmani
ce3e53ec0d
Refactoring:
...
- Reuse local var when mapping memory.
- Give the memory maps to the CPU instead of the console.
2017-10-03 02:14:41 +02:00
Nabile Rahmani
90c49a624e
- Refactoring.
...
- Added some more fields.
2017-10-03 01:39:01 +02:00
Nabile
9aa6aaa243
Merge branch 'ci' of Nabile/N64-Emu into master
2017-09-27 00:48:11 +02:00
Nabile
c61bc65d47
Add '.ci-build.sh'
2017-09-27 00:46:22 +02:00
Nabile
3291716585
Add 'README.md'
2017-09-27 00:36:20 +02:00
Nabile Rahmani
fd4c7dd293
Special ops.
2017-09-11 18:01:37 +02:00
Nabile Rahmani
5163cd6a17
Write endianness.
2017-09-11 18:00:55 +02:00
Nabile Rahmani
9f204adf31
Fixed delay slot.
2017-09-10 23:45:24 +02:00
Nabile Rahmani
a4b641e75b
- Added delay slot for properly running instructions.
...
- Reuse branching code.
- Added Instruction.Size constant for incrementing the program counter.
2017-09-10 14:40:58 +02:00
Nabile Rahmani
10c1e6f1c0
Read words from the RSP's instruction memory.
2017-09-09 15:01:49 +02:00
Nabile Rahmani
6717a40f67
Special op codes.
2017-09-09 12:14:30 +02:00
Nabile Rahmani
0a5687eb9e
Moved the PIF ROM.
2017-09-08 20:17:08 +02:00
Nabile Rahmani
05b4e3ad2e
Renamed RSP.
2017-09-08 16:15:04 +02:00
Nabile Rahmani
932611b220
Read word only if the branch condition succeeds.
2017-09-08 15:51:16 +02:00
Nabile Rahmani
261a86236d
Refactored MappingEntry.
2017-09-08 15:25:06 +02:00
Nabile Rahmani
e0bce20834
Add some pieces and fix PIF code.
2017-09-06 19:25:28 +02:00
Nabile Rahmani
749fcf008a
Fixed wrong register sizes.
2017-09-06 05:49:06 +02:00
Nabile Rahmani
4546f40f18
Added new interfaces, refactored memory mapping and added an opcode.
2017-09-05 23:40:34 +02:00
Nabile Rahmani
7f660870e2
Reuse branching code.
2017-09-05 17:12:41 +02:00
Nabile Rahmani
bf1fe1baaa
UIntPtr isn't a good idea.
2017-09-05 09:31:08 +02:00
Nabile Rahmani
55d5ebc82b
ADD op.
2017-09-05 09:15:06 +02:00
Nabile Rahmani
59ba1746ae
Sign extend the correct bit.
...
This definitely needs to be put into a method.
2017-09-05 08:53:48 +02:00
Nabile Rahmani
7c6040773f
Forgot the bit shifting in BNE op.
2017-09-04 22:08:04 +02:00
Nabile Rahmani
c593974b30
Simplify code.
2017-09-03 11:39:07 +02:00
Nabile Rahmani
4a131ee561
Do not check cartridges yet.
2017-09-03 10:33:00 +02:00
Nabile Rahmani
610bcc4585
Renamed CP0.
2017-09-03 10:18:00 +02:00
Nabile Rahmani
157dab3d48
Name nested types properly.
2017-09-03 10:00:32 +02:00
Nabile Rahmani
df71e90733
Unify memory boundary checking.
2017-09-03 09:44:12 +02:00
Nabile Rahmani
ff7e134751
Directory structure.
2017-09-03 09:36:50 +02:00
Nabile Rahmani
d9e5a4d058
Inline lambda.
2017-09-03 09:24:29 +02:00
Nabile Rahmani
145b6b5121
Moved helper methods.
2017-09-03 09:22:12 +02:00
Nabile Rahmani
38c07929f4
* Nintendo64.cs: Added a physical address.
...
* RealityCoprocessor.RealitySignalProcessor.cs: Add register and set
the default value of Status to one to indicate to the CPU the RSP is
ready to continue execution.
* VR4300.OpCode.cs: Added instructions and reduced documentation
(refer to the datasheet instead).
* VR4300.cs: Added instructions.
2017-09-02 13:46:14 +02:00
Nabile Rahmani
ccc19fa1fd
Display hex in uppercase.
2017-09-02 12:47:58 +02:00
Nabile Rahmani
2a3973b8bf
Run the delayed instruction in the branch.
2017-09-02 12:45:10 +02:00
Nabile Rahmani
27bf77fa29
Fixed order of PC increment.
2017-09-02 10:56:49 +02:00
Nabile Rahmani
65af1897a6
Added PIF ROM and fixed BEQL not branching properly.
2017-09-02 08:04:21 +02:00