Commit graph

204 commits

Author SHA1 Message Date
Lionel Flandrin
d66ba33484 CDROM: implement get_loc_p and reads commands 2020-03-16 21:09:18 +00:00
Lionel Flandrin
a4fa0be93c CDROM: implement audio mixer registers 2020-03-12 00:00:10 +00:00
Lionel Flandrin
a238ddc2f3 CDROM: stub mute, demute and set_filter commands 2020-03-11 23:52:01 +00:00
Lionel Flandrin
31ce1169dd Basic controller support 2020-03-11 23:40:12 +00:00
Lionel Flandrin
5cccb30b0e GPU: implement Fill Rect command 2020-03-11 23:30:41 +00:00
Lionel Flandrin
c692284392 GPU: implement GP1[0x10] 2020-03-09 19:54:26 +00:00
Lionel Flandrin
9c14c126ae CD controller: implement init command 2020-03-09 14:30:55 +00:00
Lionel Flandrin
730f19d225 Implement GTE (without timings) 2020-03-09 00:13:38 +00:00
Lionel Flandrin
f6e493bfb5 Basic CD controller implementation 2020-03-08 23:13:41 +00:00
Lionel Flandrin
981d32e135 Rasterizer: fix outdated comment 2020-03-03 12:48:29 +00:00
Lionel Flandrin
835a5e23b8 CD cache: replace BTreeMap with FnvHashMap 2020-03-02 13:45:33 +00:00
Lionel Flandrin
fe4df0a85d Implement basic CD cache 2020-03-01 22:49:06 +00:00
Lionel Flandrin
8d269dcffb GPU: unify the various pixel/color formats around Pixel 2020-02-26 22:37:11 +00:00
Lionel Flandrin
9103e28f51 Implement texture mapping 2020-02-26 22:15:04 +00:00
Lionel Flandrin
5de2693b68 Implement draw mode update from polygon commands 2020-02-26 17:44:01 +00:00
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