aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorspicyjpeg <88942473+spicyjpeg@users.noreply.github.com>2022-06-29 13:09:57 +0200
committerspicyjpeg <88942473+spicyjpeg@users.noreply.github.com>2022-06-29 13:09:57 +0200
commit8deeb216cbff4e578284fc040d8f0b51e96d4b04 (patch)
tree28b262c95d47f75c870b4d0bd5899d3e1a36cc9c /doc
parent6120304537470e7e5ff94b3bf19a33787ca69083 (diff)
downloadpsn00bsdk-8deeb216cbff4e578284fc040d8f0b51e96d4b04.tar.gz
Add -g to default flags, update changelog and known bugs
Diffstat (limited to 'doc')
-rw-r--r--doc/known_bugs.md23
1 files changed, 17 insertions, 6 deletions
diff --git a/doc/known_bugs.md b/doc/known_bugs.md
index e39da43..9e83f03 100644
--- a/doc/known_bugs.md
+++ b/doc/known_bugs.md
@@ -1,8 +1,9 @@
# Known PSn00bSDK bugs
-This is an incomplete list of things that are currently broken (or not behaving
-as they should, or untested on real hardware) and haven't yet been fixed.
+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
@@ -15,18 +16,28 @@ as they should, or untested on real hardware) and haven't yet been fixed.
them. It might be necessary to list such symbols in a dummy array to prevent
the compiler from stripping them away from the executable.
+- Link-time optimization is broken due to GCC not supporting it when linking
+ weak functions written in assembly.
+
## Libraries
`psxgpu`:
-- In some *very rare* cases, `VSync()` seems to crash the system by performing
- unaligned accesses for unknown reasons.
+- `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.
`psxspu`:
+- `SpuCtrlSync()` locks up on MAME, making any code that tries to initialize
+ the SPU hang. It works on other emulators as well as on real hardware.
+
- Calls to `SpuSetTransferMode()` are ignored. SPU transfers are always
performed using DMA, which imposes limitations such as the data length having
- to be a multiple of 64 bytes.
+ to be a multiple of 16 words (64 bytes, see above).
`psxetc`:
@@ -40,4 +51,4 @@ as they should, or untested on real hardware) and haven't yet been fixed.
See [README.md in the examples directory](../examples/README.md#examples-summary).
-----------------------------------------
-_Last updated on 2022-02-03 by spicyjpeg_
+_Last updated on 2022-06-29 by spicyjpeg_