Lionel Flandrin
abe0521973
Implement GTE command GPL
2015-10-27 20:57:53 +01:00
Lionel Flandrin
9b42d864c2
Fix GTE DCPS command shift error.
2015-10-27 20:08:29 +01:00
Lionel Flandrin
47d435b63a
Fix sign extension when reading some GTE matrix registers
2015-10-27 19:46:51 +01:00
Lionel Flandrin
9163a07d80
Implement GTE command OP
2015-10-26 23:04:29 +01:00
Lionel Flandrin
64e3110fc3
Implement GTE command CC
2015-10-26 22:50:36 +01:00
Lionel Flandrin
839d75ea4e
Implement GTE command SQR
2015-10-26 22:40:37 +01:00
Lionel Flandrin
e76eba8347
Implement GTE command GPF
2015-10-26 22:35:56 +01:00
Lionel Flandrin
583ec0ef57
Implement GTE command INTPL, fix saturation error in DPCS
2015-10-26 20:37:31 +01:00
Lionel Flandrin
cde15ff0b6
Turn multisampling off, it doesn't make sense to have it on by default
2015-10-26 19:00:39 +01:00
Lionel Flandrin
717a804910
Factor GPU code for the various draw command variations.
2015-10-25 16:02:14 +01:00
Yamakaky
69d35c7805
Disable incorrect sRGB correction.
2015-10-25 08:21:27 +01:00
Lionel Flandrin
b95d951be1
Ignore reads from the SPU internal registers
2015-10-25 02:11:37 +02:00
Lionel Flandrin
cc07796ffe
Implement many GPU quad and triangle rendering commands.
...
Implemented GP0 commands 0x2a, 0x2e, 0x34, 0x36, 0x3c, 0x3e and 0x7c.
We can now reach the first level of Crash Bandicoot (Japan), albeit
with major graphical glitches.
2015-10-25 01:55:56 +02:00
Lionel Flandrin
d203a70927
Implement partial semi-transparency support in OpenGL renderer.
...
For now all semi-transparent primitives are rendered with 50% opacity
regardless of the current semy-transparency mode.
2015-10-25 01:20:24 +02:00
Lionel Flandrin
5d69b912f2
Ignore DMA transfers to the SPU
2015-10-24 23:38:17 +02:00
Lionel Flandrin
605c1f1d08
Implement reading from MEM_CONTROL registers
2015-10-24 17:01:18 +02:00
Yamakaky
773e5cadfe
Fix Frame::finish call missing.
2015-10-24 16:18:56 +02:00
Yamakaky
2793e4211e
Migrate to glium.
...
I tried to follow the existing code as close as possible. It should be
equivalent.
- Remove buffer.rs, error.rs and shader.rs to use glium builtins
- Remove automatic color normalization (see
https://github.com/tomaka/glium/issues/1313 )
- Add a Vertex struct
- Modifie Color and Position
2015-10-24 15:24:40 +02:00
Lionel Flandrin
60bd49ca55
OpenGL renderer: implement drawing area using the scissor box
2015-10-22 23:22:09 +02:00
Lionel Flandrin
8ecbc96870
Fix bogus sign extension when reading the GTE XY_FIFO
...
Factor some code while we're at it.
2015-10-22 19:28:02 +02:00
Yamakaky
3e72aa55e5
Remove dependencie "libc", update indirect deps
...
Maybe it was needed before ?
2015-10-21 23:49:31 +02:00
Lionel Flandrin
831871a7b9
Support writes to the GTE RGB FIFO
2015-10-21 22:54:10 +02:00
Lionel Flandrin
ef0c12782a
Implement GTE command NCCT
2015-10-21 22:49:04 +02:00
Lionel Flandrin
49c2e91f6e
Implement GTE command RTPS
2015-10-21 22:01:00 +02:00
Lionel Flandrin
e477266b86
PadMemCard: Implement baud divider read
2015-10-21 21:55:11 +02:00
Lionel Flandrin
5cbfdeffb7
Implement GTE command DPCS
2015-10-21 21:51:19 +02:00
Yamakaky
db972fb051
Normalize vertex color.
...
Let's let opengl do it for us!
2015-10-21 20:51:03 +02:00
Lionel Flandrin
fcb21241b9
Implement most SPU shadow registers.
2015-10-21 20:37:23 +02:00
Lionel Flandrin
d758c7695e
License code using the GPL-2.0+
...
Using mednafen's license since I ported some code straight from there.
2015-10-13 23:14:07 +02:00
Lionel Flandrin
427856c0bf
Minor cleanup in gamepad code
2015-10-11 00:02:32 +02:00
Lionel Flandrin
dc7a94642e
Implement CDROM "data available" status bit
2015-10-11 00:01:48 +02:00
Lionel Flandrin
774349c2dc
Implement GPU GP0(0x60) command
2015-10-10 00:59:37 +02:00
Lionel Flandrin
f6762b918d
Implement GTE command MVMVA
2015-10-10 00:52:56 +02:00
Lionel Flandrin
757cfc74ef
Ignore writes and reads to the MDEC registers
2015-10-10 00:38:32 +02:00
Lionel Flandrin
588d4ad5bd
Implemented placeholder code for CDROM audio config registers
2015-10-10 00:15:17 +02:00
Lionel Flandrin
6108283bd8
Support reading back the value of the RAM_SIZE register
2015-10-09 18:56:36 +02:00
Lionel Flandrin
a1a0c73d33
Implement scratchpad and RAM mirrors
...
Replaced Vec<u8> with Box<[u8]> in RAM and BIOS implementations to
partially address issue #7 until "placement new" is available.
2015-10-09 18:50:52 +02:00
Lionel Flandrin
3513fca203
GTE: added test for LZCR register
2015-10-08 23:59:42 +02:00
Lionel Flandrin
cc835e511c
GTE: implement LZCR
2015-10-08 23:38:27 +02:00
Lionel Flandrin
b7c03fd6f2
Improve CDROM seek state machine
2015-10-08 23:12:20 +02:00
Lionel Flandrin
1c59359ff8
Implement a few more GPU gp1_get_info variations
2015-10-06 23:39:32 +02:00
Lionel Flandrin
05236c5898
Implement CD-ROM XA Mode 2 Form 2 and whole sector reads
2015-10-06 23:30:17 +02:00
Lionel Flandrin
9c45a7a6b2
Remove GPU debug code
2015-10-06 22:42:17 +02:00
Lionel Flandrin
5b45d0fe18
Implemented CDROM Demute command
2015-10-06 22:37:36 +02:00
Lionel Flandrin
60af2ce012
Implement GPU gp1_get_info(version) command
2015-10-06 22:29:11 +02:00
Lionel Flandrin
b93d587a18
Implemented CDROM Init command
2015-10-06 22:16:19 +02:00
Lionel Flandrin
04a815f993
Fix RFE instruction: duplicate the last entry in the mode stack
2015-10-06 19:25:21 +02:00
Sergey Tikhomirov
0d4eb58f51
Upgrade sdl2 to v0.9.1
2015-10-06 15:06:16 +02:00
Lionel Flandrin
32f75fe5b0
Don't immediately panic when an OpenGL function pointer can't be loaded.
...
If the method is required it'll panic at the use site instead.
This should fix #4
2015-10-06 14:56:53 +02:00
Lionel Flandrin
f3f2aff7c8
First GTE implementation: RTPT, NCLIP, AVSZ3 and NCDS
...
We can now display the PlayStation logo.
Mostly ported directly from mednafen's code since no doc out there
seems to be completely accurate.
Added a test infrastructure to compare the GTE results with the
original console.
2015-10-05 19:41:26 +02:00