Lionel Flandrin
9523811c0b
Implement gouraud shading
2020-02-24 21:40:12 +00:00
Lionel Flandrin
61cd9a0203
Rename FixedPoint into FpCoord
2020-02-23 17:48:40 +00:00
Lionel Flandrin
3b7bc038a3
Re-validated draw test on real hardware
2020-02-23 17:48:40 +00:00
Lionel Flandrin
8300ffc5af
Implement triangle rasterization geometry (no shading)
2020-02-18 22:58:32 +01:00
Lionel Flandrin
44bf6e5533
Start implementing fixed point arithmetics, added tests
2020-02-08 01:15:28 +00:00
Lionel Flandrin
c006553bf2
Rasterizer: stub VRAM load for now
2020-02-03 23:21:18 +00:00
Lionel Flandrin
b3f90a514c
Rasterizer: implement VRAM store
2020-02-02 23:57:34 +00:00
Lionel Flandrin
8edd218b02
Rasterizer: stub Clear Cache command
2020-02-02 22:43:09 +00:00
Lionel Flandrin
f39892fb6a
GPU: draw rectangular solid quads
2020-02-02 22:40:08 +00:00
Lionel Flandrin
60efe4b39d
gitlab-ci: allow rustfmt and clippy tests to fail
...
These tests seem too unreliable to make mandatory.
2020-01-30 10:28:50 +00:00
Lionel Flandrin
7d69d6ec49
Disc: remove unused struct MissingImage
2020-01-30 10:20:09 +00:00
Lionel Flandrin
90e044db01
GPU: start implementing the rasterizer draw commands
2020-01-30 00:01:30 +00:00
Lionel Flandrin
569745f4dd
GPU: dummy threaded rasterizer
2020-01-26 23:57:52 +00:00
Lionel Flandrin
fd079d8243
Convert into a libretro core
...
Imported a lot of code from the original Rustation codebase, in
particular we can now import CDs, parse the filesystem to figure out
the game's region and then locate an appropriate BIOS.
The core doesn't output anything for the time being (neither video nor
audio) however.
2020-01-26 18:36:57 +00:00
Lionel Flandrin
cf674b44c7
GPU: implement GP1[0x01] (reset FIFO) and GP1[0x02] (ack IRQ)
2020-01-24 17:45:45 +00:00
Lionel Flandrin
13e87a049f
GPU: add rectangle drawing timings
2020-01-24 16:23:27 +00:00
Lionel Flandrin
60d96c1e90
DMA: fix clippy warning
2020-01-24 12:29:36 +00:00
Lionel Flandrin
b6222df737
Sync: handle negative elapsed values
2020-01-24 00:04:22 +00:00
Lionel Flandrin
6afa0739cb
GPU: implement triangle drawing timings
2020-01-23 22:58:59 +00:00
Lionel Flandrin
cf63f6e1a6
GPU: implement VRAM loading in the register interface
2020-01-23 22:40:26 +00:00
Lionel Flandrin
ea1e8a5173
GPU: fix integer overflow in command FIFO
2020-01-23 22:22:52 +00:00
Lionel Flandrin
34292c193c
DMA: implement Manual mode and OTC
2020-01-23 22:22:21 +00:00
Lionel Flandrin
2c03169e4b
DMA: implement Request mode
2020-01-23 21:52:33 +00:00
Lionel Flandrin
0a463f1e24
GPU: implement VRAM uploading
2020-01-23 21:25:10 +00:00
Lionel Flandrin
5f6150777a
GPU: stub Clear Cache command
2020-01-23 00:00:17 +00:00
Lionel Flandrin
431c566134
GPU: implement Display Off (GP1[0x03])
2020-01-22 23:56:13 +00:00
Lionel Flandrin
d1576d3a47
GPU: implement quad/triangle drawing timings
2020-01-22 23:40:48 +00:00
Lionel Flandrin
7398858f62
CPU: fix clippy warnings regarding casts
2020-01-22 11:00:51 +00:00
Lionel Flandrin
f1a3fb813a
GPU: implement GP1 0x05, 0x06 and 0x07
2020-01-19 22:46:57 +00:00
Lionel Flandrin
0019dd0a71
CPU: correctly refresh IRQ state
2020-01-19 22:28:27 +00:00
Lionel Flandrin
7004998a1d
CPU: fix JAL register dependency on RA
2020-01-19 20:53:59 +00:00
Lionel Flandrin
32fc979f22
GPU: tweak GPUSTAT register
2020-01-19 20:10:01 +00:00
Lionel Flandrin
afa4140939
CPU: implement MULT and MULTU timings
2020-01-19 20:10:01 +00:00
Lionel Flandrin
5dc26b5e26
CPU: implement interrupt handling
2020-01-19 00:22:08 +00:00
Lionel Flandrin
d28c78da74
DMA: fix bogus code that used outdated channel control value
2020-01-19 00:08:28 +00:00
Lionel Flandrin
4449fde0f4
DMA: implement end-of-dma interrupt
2020-01-18 23:57:19 +00:00
Lionel Flandrin
c943477778
GPU: implement clip, offset, texture window and mask configuration commands
2020-01-18 18:54:00 +00:00
Lionel Flandrin
f3151602b2
DMA: copy timing code from mednafen
2020-01-18 01:02:29 +00:00
Lionel Flandrin
7d71f505f9
DMA: complete register interface
2020-01-15 22:00:12 +00:00
Lionel Flandrin
9dbf9691e4
Implement DMA direction register
2020-01-15 21:51:39 +00:00
Lionel Flandrin
17147c13e2
DMA: implement reading channel control register
2020-01-15 21:32:19 +00:00
Lionel Flandrin
ff16c1e67c
Update psx.frame_done when the GPU is done rendering a frame
2020-01-15 21:22:50 +00:00
Lionel Flandrin
b64e531278
Implement GP1[0x08] (set draw mode)
2020-01-15 21:10:42 +00:00
Lionel Flandrin
633d572754
GPU: implement GP1, stub GPUREAD register
2020-01-15 21:03:32 +00:00
Lionel Flandrin
ab0888805c
DMA: start implementing channel configuration
2020-01-15 17:57:42 +00:00
Lionel Flandrin
b3552556ad
GPU: implement NOP
2020-01-15 17:09:47 +00:00
Lionel Flandrin
bd9d19be37
DMA: start implementing register interface
2020-01-14 20:16:15 +00:00
Lionel Flandrin
8f5fde1c12
Timers: implement GPU synchronization
2020-01-14 18:45:26 +00:00
Lionel Flandrin
10d5f9ac72
Improve event handling accuracy
2020-01-14 16:25:12 +00:00
Lionel Flandrin
07c539b25c
Remove unnecessary public functions and variables, improve docs
2020-01-14 16:17:00 +00:00