Tilka
9982251899
Merge pull request #8538 from JosJuice/wia
...
Add support for the WIA and RVZ disc image formats
2020-06-21 11:40:58 +01:00
JosJuice
660d81a10b
RVZ: Bump version number to 1.0
2020-06-21 12:38:03 +02:00
JosJuice
9eb36afeb0
Core: Call Movie::FrameUpdate per field, not per line
...
Fixes https://bugs.dolphin-emu.org/issues/12066 .
I must've only tested the frame counter with an earlier version
of the PR that broke this, not the final version...
2020-06-20 19:32:08 +02:00
Pierre Bourdon
03e0d2c820
Merge pull request #8885 from delroth/spr-thrm
...
PowerPC: partially implement thermal related SPRs
2020-06-19 03:48:30 +02:00
Pierre Bourdon
ebd08c82db
Merge pull request #8796 from sepalani/so-econn
...
Socket: Fix ENOTCONN error code
2020-06-19 03:48:13 +02:00
Sepalani
dc2733ce24
Socket: Fix ENOTCONN error code
2020-06-18 22:23:57 +04:00
Pierre Bourdon
dd1fc711c7
PowerPC: partially implement thermal related SPRs
...
Doesn't support triggering interrupts when the thermal threshold is
exceeded, but allows polling for temperature information.
The THRM[123] registers are documented in most PPC datasheets, see e.g.
this PPC750CX one: http://datasheets.chipdb.org/IBM/PowerPC/750/750cx_um3-17-05.pdf
2020-06-18 07:37:44 +02:00
Tilka
d6341c4117
Merge pull request #8883 from iwubcode/freelook_clean_state
...
VideoCommon: Clean freelook camera dirty state when getting the new view
2020-06-17 18:51:55 +01:00
iwubcode
a65ef35f1a
VideoCommon: Clean freelook camera dirty state when getting the new view
2020-06-17 12:07:40 -05:00
Ryan Meredith
53ccc7a2d1
Android: Make last platform tab selection an INI setting
2020-06-17 13:00:48 -04:00
JosJuice
224c6e799d
RVZ: Extend GroupEntry
2020-06-17 13:48:45 +02:00
JosJuice
f2c38c0e67
RVZ: Make m_rvz a template parameter
...
Needed for the next commit.
2020-06-17 13:48:45 +02:00
JosJuice
ca4e4a6207
WIA/RVZ: Move (de)compression to a different file
2020-06-17 13:48:45 +02:00
JosJuice
39caac925a
RVZ: Add documentation
2020-06-17 13:48:45 +02:00
JosJuice
2ec608f059
DolphinQt: Set block size to 128 KiB by default
2020-06-17 13:48:45 +02:00
JosJuice
3f753fc87d
RVZ: Detect junk data in the same block as a file
2020-06-17 13:48:44 +02:00
JosJuice
4b74993374
RVZ: Store pseudorandom junk data efficiently
2020-06-17 13:48:42 +02:00
JosJuice
1e92b54bf5
WIA/RVZ: Skip some memory allocations when reusing chunks
2020-06-17 13:48:16 +02:00
JosJuice
f5ef70fc76
RVZ: Don't store redundant exceptions when chunk size is < 2 MiB
2020-06-17 13:48:16 +02:00
JosJuice
b06c50ed2e
RVZ: Support chunk sizes between 32 KiB and 2 MiB
...
WIA doesn't support smaller than 2 MiB.
2020-06-17 13:48:15 +02:00
JosJuice
0d433baeb5
RVZ: Remove PURGE support
...
PURGE isn't especially useful, while requiring some annoying
special handling in the file format. If you want no compression,
use NONE. If you want fast compression, use Zstandard.
2020-06-17 13:48:15 +02:00
JosJuice
1f7c0b636f
RVZ: Add Zstandard as a compression method
2020-06-17 13:48:12 +02:00
JosJuice
e2ae2b3b0b
Add new file format RVZ based on WIA
2020-06-17 13:47:34 +02:00
JosJuice
f21a254042
WIA: Implement multithreaded compression
2020-06-17 13:47:34 +02:00
JosJuice
9dea8169e0
WIA: Write all headers at the start of the file
...
Gets rid of the need to seek to the end of the file
when opening a file.
The downside of this is that we waste a little space,
since we can't know in advance exactly how much
space the compressed parts of the headers will need.
2020-06-17 13:47:34 +02:00
JosJuice
e5b9e1ba1f
WIA: Reuse groups when writing
...
This is useful for the way Dolphin scrubs Wii discs.
The encrypted data is what gets zeroed out, but this
zeroed out data then gets decrypted before being stored,
and the resulting data does not compress well.
However, each block of decrypted scrubbed data is
identical given the same encryption key, and there's
nothing stopping us from making multiple group entries
point to the same offset in the file, so we only have
to store one copy of this data per partition.
For reference, wit zeroes out the decrypted data,
but Dolphin's WIA writer can't do this because it currently
doesn't know which parts of the disc are scrubbed.
This is also useful for things such as storing Datel discs
full of 0x55 blocks (repesenting unreadable blocks)
without compression enabled.
2020-06-17 13:47:34 +02:00
JosJuice
40e46aee57
WIA: Store all-zero data efficiently
2020-06-17 13:47:34 +02:00
JosJuice
e8b019ac29
WIA: Implement compression
2020-06-17 13:47:30 +02:00
JosJuice
e936c4acd8
WIA: Write hash exceptions
2020-06-17 13:43:54 +02:00
JosJuice
3b8c44fd0e
WIA: Decrypt Wii data when writing
2020-06-17 13:43:54 +02:00
JosJuice
115edea34e
WIA: Add early support for WIA writing
2020-06-17 13:43:54 +02:00
JosJuice
791e363c9a
WIA: Make use of the exception lists
2020-06-17 13:43:54 +02:00
JosJuice
47067f661a
WIA: Properly check for overlapping data
2020-06-17 13:43:53 +02:00
JosJuice
04089f24f9
WIA: Implement re-encryption of Wii partition data
2020-06-17 13:43:53 +02:00
JosJuice
e3d291a529
WIA: Check the internal WIA hashes
2020-06-17 13:43:53 +02:00
JosJuice
827437c036
WIA: Fix the handling of chunk sizes larger than 2 MiB
2020-06-17 13:43:53 +02:00
JosJuice
0b407228b7
WIA: Add documentation
2020-06-17 13:43:53 +02:00
JosJuice
01a77ae8a1
WIA: Implement caching and partial decompression
2020-06-17 13:43:53 +02:00
JosJuice
b59ef81a7e
WIA: Implement bzip2, LZMA, and LZMA2 decompression
2020-06-17 13:43:52 +02:00
JosJuice
1579e061a3
WIA: Correctly handle data with size not divisible by chunk size
2020-06-17 13:43:52 +02:00
JosJuice
3c373c8aa8
WIA: Treat groups with size 0 as containing only zeroes
2020-06-17 13:43:52 +02:00
JosJuice
36991e2dde
WIA: Implement PURGE decompression
2020-06-17 13:43:52 +02:00
JosJuice
3672bd79f3
WIA: Implement ReadWiiDecrypted
2020-06-17 13:43:52 +02:00
JosJuice
2a5fcc9c25
WIA: Add reading raw data
2020-06-17 13:43:51 +02:00
JosJuice
8da5d0c4fe
Add an early version of WIABlobReader
...
It can currently only read the first 0x80 bytes of a disc image,
which is enough for identifying it but not for doing anything else.
2020-06-17 13:43:51 +02:00
Tilka
0bc7dcd172
Merge pull request #8882 from JosJuice/convert-dropdown-one-option
...
DolphinQt: Disable convert dialog dropdowns when they have one option
2020-06-17 12:38:19 +01:00
JosJuice
b45f2c2ad3
DolphinQt: Disable convert dialog dropdowns when they have one option
2020-06-17 13:23:58 +02:00
Tilka
3411802fd1
Merge pull request #8881 from JosJuice/convert-same-format
...
DolphinQt: Allow converting to same format
2020-06-17 11:56:49 +01:00
JosJuice
ec3ea6c1df
DolphinQt: Allow converting to same format
...
Mainly useful for WIA and RVZ, but also has some use for GCZ.
2020-06-17 12:44:16 +02:00
Admiral H. Curtiss
476c95900d
EXI: When loading a savestate with a mismatching GCI folder memory card, reinizialize it with the header from the savestate to let a game still recognize it as the same card.
2020-06-17 01:44:46 +02:00