aboutsummaryrefslogtreecommitdiff
path: root/doc/known_bugs.md
blob: 40b3c32a881a588c94c0fdaa5f25fe501285d248 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50

# Known PSn00bSDK bugs

This is an incomplete list of things that are known to be currently broken (or
not behaving as they should, or untested on real hardware) and haven't yet been
fixed.

## Toolchain

- ~~It is currently not possible to link static libraries (including the SDK~~
  ~~libraries themselves) with DLLs, since the build scripts currently assume~~
  ~~that static library object files are always going to be linked into~~
  ~~executables. This can be worked around by linking all static libraries as~~
  ~~part of the main executable rather than the DLLs: the dynamic linker will~~
  ~~automatically search the executable for undefined symbols used by a DLL~~
  ~~and patch the code to use them.~~ Static libraries are now fully supported,
  and SDK libraries can be linked to both executables and DLLs. See the CMake
  reference for more details.

- Link-time optimization is broken due to GCC not supporting it when linking
  weak functions written in assembly.

## Libraries

`psxgpu`:

- `LoadImage()` and `StoreImage()` use DMA to transfer data to/from the GPU.
  As the DMA channel is configured to transfer 8 words (32 bytes) at a time,
  the length of the data *must* be a multiple of 32 bytes. Attempting to
  transfer any data whose length isn't a multiple of 32 bytes will result in
  `DrawSync()` hanging and never returning, however a warning will be printed
  on the debug console if the executable is built in debug mode.

`psxspu`:

- `SpuInit()`, `SpuRead()` and `SpuWrite()` may take several seconds on MAME
  due to the SPU status register being emulated incorrectly. They work as
  expected on other emulators as well as on real hardware.

`psxcd`:

- The library seems to get into an unpredictable state when removing discs on
  pcsx-redux (and possibly real hardware?).

## Examples

See [README.md in the examples directory](../examples/README.md#examples-summary).

-----------------------------------------
_Last updated on 2022-12-18 by spicyjpeg_