Lionel Flandrin
e4afa0e8da
GPU: ported most video timings from mednafen
2020-01-12 21:54:03 +00:00
Lionel Flandrin
b7666b7e91
GPU: implement line timings
2020-01-12 20:50:36 +00:00
Lionel Flandrin
af5c4ea86d
GPU: put FIFO code in its own file
2020-01-12 17:25:52 +00:00
Lionel Flandrin
c8c516bc81
Implemented GPU clock
2020-01-12 15:46:18 +00:00
Lionel Flandrin
91191040f0
Add event handling framework
2020-01-12 14:48:34 +00:00
Lionel Flandrin
34738aaf6c
GPU: implement Draw Mode
2020-01-12 14:10:28 +00:00
Lionel Flandrin
a43ada0aa1
GPU: implement process_commands
2020-01-08 21:52:27 +00:00
Lionel Flandrin
7df313c3c0
Implement GPU command FIFO
2020-01-08 20:44:02 +00:00
Lionel Flandrin
67bd48b2cc
SPU: increment capture_index to update SPUSTAT correctly
2020-01-08 17:35:42 +00:00
Lionel Flandrin
8ebda4541a
Fix small MTC0 timing discrepency with mednafen
2020-01-08 17:27:58 +00:00
Lionel Flandrin
cd430396b8
Implement SPU STATUS register
2020-01-08 16:55:50 +00:00
Lionel Flandrin
301459d918
Implement synchronization architecture
2020-01-08 14:26:59 +00:00
Lionel Flandrin
2e01d3e5a5
More SPU registers, some cleanup
2020-01-08 12:50:50 +00:00
Lionel Flandrin
4e87922c29
Started implementing SPU voice configuration
2020-01-08 00:44:52 +00:00
Lionel Flandrin
e318f862d7
Implement SPU RAM write
2020-01-08 00:21:31 +00:00
Lionel Flandrin
1ea800796f
Started implementing SPU register map
2020-01-07 22:26:39 +00:00
Lionel Flandrin
e0982565d0
Implement DIV and DIVU timings
2020-01-07 01:27:39 +00:00
Lionel Flandrin
a14f889ed5
Implemented CPU timings using mednafen as reference
2020-01-07 01:27:39 +00:00
Lionel Flandrin
21d992f216
Implemented CPU instruction cache
2020-01-07 01:27:39 +00:00
Lionel Flandrin
6976e704a7
Reformat opcode arrays for better readability
...
Rustfmt did a pretty terrible job with those and since we shouldn't have
any unimplemented opcode anymore it makes sense to reformat them once
and for all.
2020-01-07 01:27:39 +00:00
Lionel Flandrin
bdbeddca39
Implement LWC0, 1, 2 and 3
...
All CPU instructions are now implemented (or at least stubbed)
2020-01-07 01:27:39 +00:00
Lionel Flandrin
304d3accbd
Implement LWC0, 1, 2 and 3
2020-01-07 01:27:39 +00:00
Lionel Flandrin
d99d903916
Implement SWL and SWR
2020-01-07 01:27:39 +00:00
Lionel Flandrin
631a590263
Implement illegal instructions
2020-01-07 01:27:39 +00:00
Lionel Flandrin
41d89eafa0
Implement LWL and LWR
2020-01-07 01:27:39 +00:00
Lionel Flandrin
7ada2fe78e
Implement COP1, COP2 and stub COP2 (GTE)
2020-01-07 01:27:39 +00:00
Lionel Flandrin
72f260ccbb
Implement DMA registers
2020-01-07 01:27:39 +00:00
Lionel Flandrin
675b4b945c
Implement RFE
2020-01-07 01:27:39 +00:00
Lionel Flandrin
c081e87235
Attempt to catch panics inside of examine to make debugging more robust
2020-01-07 01:27:39 +00:00
Lionel Flandrin
3c0a6e06d5
Tweak IRQ read to match mednafen
2020-01-07 01:27:39 +00:00
Lionel Flandrin
48d7fd63c1
Added GDB helper script
2020-01-07 01:27:39 +00:00
Lionel Flandrin
85843150ac
Improve debugger interface
2020-01-07 01:27:39 +00:00
Lionel Flandrin
39168f8dd8
gitlab-ci: don't allow clippy failure
2020-01-07 01:27:39 +00:00
Lionel Flandrin
991073d48c
Imported Rustation's debugger with GDB TCP interface
2020-01-07 01:27:39 +00:00
Lionel Flandrin
b7c04558a2
Add proper logging facilities
2020-01-07 01:27:39 +00:00
Lionel Flandrin
78464d15e9
Implemented debugger interface
...
No debugger backend yet.
The interface is hidden behind the "debugger" feature, disabled by
default for performance reasons.
2020-01-07 01:27:39 +00:00
Lionel Flandrin
5c523234cb
Implement exception where they weren't handled
2020-01-07 01:27:39 +00:00
Lionel Flandrin
c1f7b5e9b5
Implement exceptions, SYSCALL and BREAK
2020-01-07 01:27:39 +00:00
Lionel Flandrin
76d9f57954
Enable optimizations even for non-release builds
...
The emulator will soon become unusable without optimizations anyway.
2020-01-07 01:27:39 +00:00
Lionel Flandrin
f677a9ab60
Implement timer registers
2020-01-07 01:27:39 +00:00
Lionel Flandrin
c495f57dae
Implement MFHI, MTHI, MFLO, MTLO
2020-01-07 01:27:39 +00:00
Lionel Flandrin
ab76637ad0
Implement MULT, MULTU, DIV and DIVU
2020-01-07 01:27:39 +00:00
Lionel Flandrin
c719acbcc9
Implement SRL, SRA, SLLV, SRLV and SRAV
2020-01-07 01:27:39 +00:00
Lionel Flandrin
7960f414d5
Implement SLT, SLTI and SLTIU
2020-01-07 01:27:39 +00:00
Lionel Flandrin
a3cdfcbf7e
Remove CPU state dump after every cycle
2020-01-07 01:27:39 +00:00
Lionel Flandrin
ff613a260a
Implement BXX
2020-01-07 01:27:39 +00:00
Lionel Flandrin
371fbd44c4
Implement IRQ registers
2020-01-07 01:27:39 +00:00
Lionel Flandrin
aad56c9a7d
Implement ADD, SUB and SUBU
2020-01-07 01:27:37 +00:00
Lionel Flandrin
cfdb8aa438
Implement AND, XOR and NOR
2019-12-31 20:47:00 +00:00
Lionel Flandrin
a3fd1e7f1b
Implement MFC0
2019-12-31 20:47:00 +00:00